matching_app/docker-compose.yml
2025-05-02 15:12:18 +07:00

79 lines
1.5 KiB
YAML

version: '3.8'
services:
db:
image: postgres:15
environment:
POSTGRES_USER: ${DB_USER}
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: ${DB_NAME}
volumes:
- db_data:/var/lib/postgresql/data
- ./migrations:/docker-entrypoint-initdb.d
ports:
- "5432:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${DB_USER} -d ${DB_NAME}"]
interval: 5s
timeout: 5s
retries: 5
deploy:
resources:
limits:
cpus: '0.5'
memory: 512M
adminer:
image: adminer
restart: always
ports:
- "8081:8080"
depends_on:
db:
condition: service_healthy
app:
build: .
environment:
DB_HOST: db
DB_USER: ${DB_USER}
DB_PASSWORD: ${DB_PASSWORD}
DB_NAME: ${DB_NAME}
DB_PORT: "5432"
LOG_LEVEL: "debug"
ports:
- "8080:8080"
depends_on:
db:
condition: service_healthy
deploy:
resources:
limits:
cpus: '1'
memory: 1G
db_dev:
image: postgres:15
environment:
POSTGRES_USER: dev_user
POSTGRES_PASSWORD: dev_pass
POSTGRES_DB: matching_dev
ports:
- "5433:5432"
volumes:
- pgdata_dev:/var/lib/postgresql/data
- ./migrations:/docker-entrypoint-initdb.d
healthcheck:
test: ["CMD-SHELL", "pg_isready -U dev_user -d matching_dev"]
interval: 5s
timeout: 5s
retries: 5
volumes:
db_data:
pgdata_dev:
networks:
default:
name: matching_network
driver: bridge