diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 8eb1b35..f678d56 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -34,11 +34,19 @@ services: DB_HOST: mysql UPLOAD_DIR: uploads VISION_WORKER_URL: http://vision:8100 + WEB_CONCURRENCY: ${WEB_CONCURRENCY:-4} + TRUSTED_PROXY_COUNT: ${TRUSTED_PROXY_COUNT:-1} volumes: - upload_data:/app/uploads depends_on: mysql: condition: service_healthy + healthcheck: + test: ["CMD", "python3", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/api/health', timeout=5)"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 20s networks: - tmflow-net @@ -70,7 +78,14 @@ services: environment: API_SERVER_URL: http://server:8000 depends_on: - - server + server: + condition: service_healthy + healthcheck: + test: ["CMD", "python3", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:5000/auth/login', timeout=5)"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 20s networks: - tmflow-net @@ -87,8 +102,10 @@ services: # - ./certbot/conf:/etc/letsencrypt:ro # - ./certbot/www:/var/www/certbot:ro depends_on: - - server - - client + server: + condition: service_healthy + client: + condition: service_healthy networks: - tmflow-net diff --git a/docker-compose.yml b/docker-compose.yml index 2b74fa2..256c405 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -35,11 +35,19 @@ services: UPLOAD_DIR: uploads VISION_WORKER_URL: http://vision:8100 SERVER_SECRET_KEY: ${SERVER_SECRET_KEY:?manca SERVER_SECRET_KEY} + WEB_CONCURRENCY: ${WEB_CONCURRENCY:-4} + TRUSTED_PROXY_COUNT: ${TRUSTED_PROXY_COUNT:-1} volumes: - upload_data:/app/uploads depends_on: mysql: condition: service_healthy + healthcheck: + test: ["CMD", "python3", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/api/health', timeout=5)"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 20s labels: - "traefik.enable=true" - "traefik.http.routers.tmflow-api.rule=Host(`tieflow.tielogic.xyz`) && (PathPrefix(`/api/`) || PathPrefix(`/uploads/`))" @@ -81,7 +89,14 @@ services: API_SERVER_URL: http://server:8000 CLIENT_SECRET_KEY: ${CLIENT_SECRET_KEY:?manca CLIENT_SECRET_KEY} depends_on: - - server + server: + condition: service_healthy + healthcheck: + test: ["CMD", "python3", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:5000/auth/login', timeout=5)"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 20s labels: - "traefik.enable=true" - "traefik.http.routers.tmflow-web.rule=Host(`tieflow.tielogic.xyz`)"