Files
ip-geo-api/docker-compose.yml
Mateusz Gruszczyński cb109b63ae fix compose
2025-10-07 20:55:33 +02:00

57 lines
1.2 KiB
YAML

services:
api:
build: .
container_name: ip-geo-api
restart: unless-stopped
ports:
- "${PORT:-8080}:${PORT}"
healthcheck:
test:
[
"CMD",
"python",
"-c",
"import json, urllib.request, sys; r = urllib.request.urlopen('http://localhost:${PORT}/health'); d = json.load(r); sys.exit(0) if r.getcode()==200 and d.get('status')=='ok' else sys.exit(1)",
]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
command:
[
"uvicorn",
"app.main:app",
"--host",
"0.0.0.0",
"--port",
"${PORT}",
"--log-config",
"logging.yml",
"--proxy-headers",
"--forwarded-allow-ips=*",
]
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", "-m", "scripts.updater"]
environment:
- PYTHONPATH=/app
env_file:
- .env
networks:
ip-geo-api_network:
driver: bridge