| version: '3.8' | |
| networks: | |
| my_network: | |
| driver: bridge | |
| services: | |
| postgres: | |
| image: postgres:15 | |
| container_name: postgres-db | |
| restart: unless-stopped | |
| environment: | |
| POSTGRES_USER: admin | |
| POSTGRES_PASSWORD: adminpassword | |
| POSTGRES_DB: my_database | |
| ports: | |
| - "5432:5432" | |
| volumes: | |
| - ./postgres_data:/var/lib/postgresql/data | |
| healthcheck: | |
| test: ["CMD-SHELL", "pg_isready -U admin -d my_database -h localhost"] | |
| interval: 10s | |
| retries: 5 | |
| start_period: 20s | |
| timeout: 5s | |
| networks: | |
| - my_network | |
| nginx: | |
| image: nginx:latest | |
| container_name: nginx | |
| ports: | |
| - "8080:80" | |
| volumes: | |
| - ./nginx.conf:/etc/nginx/nginx.conf:ro | |
| depends_on: | |
| - ai-service | |
| - auth-service | |
| - communication-service | |
| - document-service | |
| - loan-service | |
| - user-service | |
| networks: | |
| - my_network | |
| ai-service: | |
| container_name: ai-service | |
| build: | |
| context: ./miralabs-backend/ai-service | |
| ports: | |
| - "8006:80" | |
| networks: | |
| - my_network | |
| restart: unless-stopped | |
| depends_on: | |
| postgres: | |
| condition: service_healthy | |
| auth-service: | |
| container_name: auth-service | |
| build: | |
| context: ./miralabs-backend/auth-service | |
| env_file: | |
| - ./miralabs-backend/auth-service/.env | |
| ports: | |
| - "8001:8001" | |
| networks: | |
| - my_network | |
| restart: unless-stopped | |
| depends_on: | |
| postgres: | |
| condition: service_healthy | |
| communication-service: | |
| container_name: communication-service | |
| build: | |
| context: ./miralabs-backend/communication-service | |
| ports: | |
| - "8002:80" | |
| networks: | |
| - my_network | |
| restart: unless-stopped | |
| depends_on: | |
| postgres: | |
| condition: service_healthy | |
| document-service: | |
| container_name: document-service | |
| build: | |
| context: ./miralabs-backend/document-service | |
| env_file: | |
| - ./miralabs-backend/document-service/.env | |
| ports: | |
| - "8003:80" | |
| networks: | |
| - my_network | |
| restart: unless-stopped | |
| depends_on: | |
| postgres: | |
| condition: service_healthy | |
| loan-service: | |
| container_name: loan-service | |
| build: | |
| context: ./miralabs-backend/loan-service | |
| ports: | |
| - "8004:80" | |
| networks: | |
| - my_network | |
| restart: unless-stopped | |
| depends_on: | |
| postgres: | |
| condition: service_healthy | |
| user-service: | |
| container_name: user-service | |
| build: | |
| context: ./miralabs-backend/user-service | |
| env_file: | |
| - ./miralabs-backend/user-service/.env | |
| ports: | |
| - "8005:80" | |
| networks: | |
| - my_network | |
| restart: unless-stopped | |
| depends_on: | |
| postgres: | |
| condition: service_healthy | |
| volumes: | |
| postgres_data: | |
| driver: local | |