Files
product-platform/docker-compose.yml
2026-04-11 20:26:14 +03:00

109 lines
2.7 KiB
YAML

services:
db:
image: postgres:16-alpine
container_name: product-postgres
restart: always
environment:
- POSTGRES_USER=roma
- POSTGRES_PASSWORD=admin
- POSTGRES_DB=study
ports:
- ":5432"
volumes:
- pgdata:/var/lib/postgresql/data
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
healthcheck:
test: ["CMD-SHELL", "pg_isready"]
interval: 5s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
container_name: product-redis
restart: always
ports:
- ":6379"
volumes:
- redis-data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 5s
retries: 5
gateway:
build:
context: .
dockerfile: gateway/Dockerfile
container_name: gateway
restart: on-failure
ports:
- "9999:1984/udp"
- ":1488"
environment:
- GATEWAY_CLIENT_PORT=1984
- GATEWAY_SERVER_PORT=1488
- AUTH_SERVICE_URL=http://auth-service:5252/auth
- PUBLIC_KEY=-----BEGIN PUBLIC KEY-----MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApa3QUQLUcLyZn0uQ7VGTpafqWPZ1kYaOV4M8etcvv+6pvi7Za2QPIgKQiRK/VfGcJBU8sKXMXCNr091N+0F9/Myjy+wv/QiC7AndHHW4qXcG5x5wek2urolzXag3EEz3oOD+TfM7r8mV2M4K6OmrhLD+T2mdeBRSF9tIrvv+9cEsiWBaXQestDL3n+cGdd5+LS+ZjUWDOO1rYlESlt4g13VQHI0EmeG9TvrK9SkNmseFbgGBhq3B+8R0YMXjSVvsN2VtmOGLeAqJ9rfEMItp73s/2MFjlaUvnxQLHMS/11vhy5vTltdhmaLLEA/jCLQcNDR74ILpe/f469IdGpnSJwIDAQAB-----END PUBLIC KEY-----
stdin_open: true
tty: true
cache-warmer:
build:
context: .
dockerfile: product-service/Dockerfile
entrypoint: ["java", "-cp", "app.jar", "utility.CacheWarmer"]
depends_on:
db:
condition: service_healthy
redis:
condition: service_healthy
environment:
- DB_USER=roma
- DB_PASS=admin
- DB_HOST=db
- DB_PORT=5432
- DB_NAME=study
- REDIS_HOST=redis
- REDIS_PORT=6379
product-service:
build:
context: .
dockerfile: product-service/Dockerfile
restart: on-failure
depends_on:
cache-warmer:
condition: service_completed_successfully
environment:
- DB_USER=roma
- DB_PASS=admin
- DB_HOST=db
- DB_PORT=5432
- DB_NAME=study
- REDIS_HOST=redis
- REDIS_PORT=6379
- GATEWAY_HOST=gateway
- GATEWAY_SERVER_PORT=1488
stdin_open: true
tty: true
auth-service:
build: auth-service/.
restart: on-failure
ports:
- ":5252"
environment:
- DB_USER=roma
- DB_PASS=admin
- DB_HOST=db
- DB_PORT=5432
- DB_NAME=study
stdin_open: true
tty: true
volumes:
pgdata:
redis-data: