Files
campaign-manager/docker-compose.yml

65 lines
1.7 KiB
YAML

services:
campaign-service:
build:
context: .
dockerfile: backend/campaign-service/Dockerfile
restart: unless-stopped
env_file:
- path: .env
required: false
environment:
USERS_DATABASE_URL: ${USERS_DATABASE_URL:-postgres://cm_campaign_app:devpassword@postgres:5432/cm_users}
CAMPAIGN_DATABASE_URL: ${CAMPAIGN_DATABASE_URL:-postgres://cm_campaign_app:devpassword@postgres:5432/cm_campaign}
JWT_SECRET: ${JWT_SECRET:-change-me-to-a-long-random-secret}
PORT: ${CAMPAIGN_PORT:-3000}
ports:
- "3000:3000"
networks:
- dev-infra
- internal
content-service:
build:
context: .
dockerfile: backend/content-service/Dockerfile
restart: unless-stopped
env_file:
- path: .env
required: false
environment:
CONTENT_DATABASE_URL: ${CONTENT_DATABASE_URL:-postgres://cm_content_app:devpassword@postgres:5432/cm_content}
JWT_SECRET: ${JWT_SECRET:-change-me-to-a-long-random-secret}
PORT: ${CONTENT_PORT:-3001}
ports:
- "3001:3001"
networks:
- dev-infra
- internal
web:
build:
context: .
dockerfile: web/Dockerfile
restart: unless-stopped
env_file:
- path: .env
required: false
environment:
CAMPAIGN_API_BASE: ${CAMPAIGN_API_BASE:-http://campaign-service:3000/v1}
CONTENT_API_BASE: ${CONTENT_API_BASE:-http://content-service:3001/v1}
PORT: ${WEB_PORT:-5173}
HOST: 0.0.0.0
ports:
- "${WEB_PORT:-5173}:${WEB_PORT:-5173}"
depends_on:
- campaign-service
- content-service
networks:
- internal
networks:
dev-infra:
external: true
internal:
driver: bridge