services: # 1. ADATBÁZIS (A Raktár) postgres-db: image: postgres:15 # Később ide jön a postgis/postgis:15-3.3-alpine a térképekhez container_name: postgres-db environment: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB} volumes: - postgres_data:/var/lib/postgresql/data ports: - "${POSTGRES_PORT}:${POSTGRES_PORT}" networks: - service_finder_net restart: unless-stopped # 2. BACKEND API (Az Agy) service_finder_api: build: context: ./backend dockerfile: Dockerfile container_name: service_finder_api # Parancs kiegészítése: meg kell engedni a proxy-tól jövő kéréseket command: uvicorn app.main:app --host 0.0.0.0 --port 8000 --proxy-headers --forwarded-allow-ips="*" ports: - "8000:8000" environment: - PYTHONPATH=/app - DATABASE_URL=postgresql+asyncpg://${APP_DB_USER}:${APP_DB_PASSWORD}@postgres-db:${APP_DB_PORT}/${APP_DB_NAME} - SECRET_KEY=${SECRET_KEY} # CORS beállítás: fontos, hogy a domainjeidről engedélyezd a kérést! - ALLOWED_ORIGINS=https://dev.profibot.hu,https://app.profibot.hu # ÚJ: MinIO és Redis beállítások a jövőbeli NAS-hoz (felkészülés) - MINIO_ENDPOINT=minio:9000 - MINIO_ACCESS_KEY=${POSTGRES_USER} # Egyszerűség kedvéért most ugyanaz - MINIO_SECRET_KEY=${POSTGRES_PASSWORD} depends_on: - postgres-db - minio - redis networks: - service_finder_net # 3. PGADMIN (A Monitor) pgadmin: image: dpage/pgadmin4 container_name: pgadmin_ui environment: PGADMIN_DEFAULT_EMAIL: ${PGADMIN_EMAIL} PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_PASSWORD} ports: - "5050:80" depends_on: - postgres-db networks: - service_finder_net # 4. MINIO (NAS - Dokumentum tároló) - ÚJ! minio: image: minio/minio container_name: service_finder_minio command: server /data --console-address ":9001" environment: MINIO_ROOT_USER: ${POSTGRES_USER} MINIO_ROOT_PASSWORD: ${POSTGRES_PASSWORD} volumes: - minio_data:/data ports: - "9000:9000" # API - "9001:9001" # UI networks: - service_finder_net # 5. REDIS (Gyorsítótár & Session) - ÚJ! redis: image: redis:alpine container_name: service_finder_redis volumes: - redis_data:/data networks: - service_finder_net networks: service_finder_net: driver: bridge volumes: postgres_data: minio_data: # Itt lesznek a fájlok (számlák, fotók) redis_data: