ads-marketing/docker-compose.yml
2025-07-22 14:43:32 +05:00

62 lines
1.3 KiB
YAML

version: '3.8'
services:
mysql:
image: mysql:8.0
container_name: mysql-auth
restart: always
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: authdb
MYSQL_USER: authuser
MYSQL_PASSWORD: authpassword
ports:
- '3310:3306'
volumes:
- mysql_data:/var/lib/mysql
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
timeout: 5s
retries: 5
auth-service:
image: node:20
container_name: auth-service
restart: always
environment:
DB_HOST: mysql
DB_PORT: 3306
DB_NAME: authdb
DB_USER: authuser
DB_PASSWORD: authpassword
JWT_SECRET: supersecretkey
volumes:
- ./auth-service:/usr/src/app
working_dir: /usr/src/app
command: bash -c "npm install && npm start"
depends_on:
mysql:
condition: service_healthy
ports:
- '3001:3000'
mail-service:
image: node:20
container_name: mail-service
restart: always
volumes:
- ./mail-service:/usr/src/app
working_dir: /usr/src/app
command: bash -c "npm install && npm start"
environment:
DB_HOST: mysql
DB_PORT: 3306
DB_NAME: authdb
DB_USER: authuser
DB_PASSWORD: authpassword
ports:
- '3002:3000'
volumes:
mysql_data: