diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index cc76739..55b3fbd 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -1,4 +1,21 @@ services: + db: + image: postgis/postgis:16-3.4 + environment: + POSTGRES_DB: bm + POSTGRES_USER: bm + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + volumes: + - bm_dev_db_data:/var/lib/postgresql/data + networks: + - bm_internal + restart: unless-stopped + healthcheck: + test: ["CMD-SHELL", "pg_isready -U bm -d bm"] + interval: 10s + timeout: 5s + retries: 5 + redis: image: redis:7-alpine command: ["redis-server", "--appendonly", "yes"] @@ -20,16 +37,18 @@ services: build: context: apps/crawler environment: - DATABASE_URL: ${DATABASE_URL} + DATABASE_URL: postgres://bm:${POSTGRES_PASSWORD}@db:5432/bm FLARESOLVERR_URL: http://flaresolverr:8191 CRAWLER_SCHED_INCREMENTAL_H: "4" CRAWLER_SCHED_ENRICH_H: "2" CRAWLER_SCHED_FULL_DAY: "0" depends_on: - - flaresolverr + db: + condition: service_healthy + flaresolverr: + condition: service_started networks: - bm_internal - - coolify restart: unless-stopped geocoder-worker: @@ -37,7 +56,7 @@ services: context: apps/geocoder working_dir: /app environment: - DATABASE_URL: ${DATABASE_URL} + DATABASE_URL: postgres://bm:${POSTGRES_PASSWORD}@db:5432/bm NOMINATIM_BASE: "https://nominatim.openstreetmap.org" NOMINATIM_EMAIL: ${NOMINATIM_EMAIL} NOMINATIM_USER_AGENT: ${NOMINATIM_USER_AGENT} @@ -45,9 +64,11 @@ services: NOMINATIM_JITTER: "0.35" GEOCODE_MAX_PER_RUN: "5000" command: ["python", "src/worker.py"] + depends_on: + db: + condition: service_healthy networks: - bm_internal - - coolify restart: "no" pgadmin: @@ -58,6 +79,9 @@ services: PGADMIN_CONFIG_SERVER_MODE: "True" volumes: - bm_dev_pgadmin_data:/var/lib/pgadmin + depends_on: + db: + condition: service_healthy networks: - bm_internal - coolify @@ -75,9 +99,12 @@ services: context: apps/api environment: PORT: "3000" - DATABASE_URL: ${DATABASE_URL} + DATABASE_URL: postgres://bm:${POSTGRES_PASSWORD}@db:5432/bm BM_IMPORT_TOKEN: ${BM_IMPORT_TOKEN} CORS_ORIGINS: https://dev.metalfrom.eu + depends_on: + db: + condition: service_healthy networks: - bm_internal - coolify @@ -114,5 +141,6 @@ networks: name: coolify volumes: + bm_dev_db_data: bm_dev_redis_data: bm_dev_pgadmin_data: