|
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
|
|
|