services: api: build: . container_name: ip-geo-api restart: unless-stopped ports: - "${HOST_PORT:-8080}:8000" healthcheck: test: [ "CMD", "python", "-c", "import urllib.request; import sys; req = urllib.request.Request('http://localhost:8000/health'); sys.exit(0) if urllib.request.urlopen(req).read() == b'OK' else sys.exit(1)", ] interval: 30s timeout: 10s retries: 3 start_period: 10s volumes: - ./data:/data env_file: - .env networks: - ip-geo-api_network depends_on: - updater updater: build: . container_name: ip-geo-updater restart: unless-stopped volumes: - ./data:/data command: ["python", "scripts/updater.py"] env_file: - .env networks: ip-geo-api_network: driver: bridge