Files
tasknote/docker-compose.prod.yml
T

64 lines
1.6 KiB
YAML

---
services:
tasknote-web:
container_name: tasknote-web
depends_on:
tasknote-api:
condition: service_healthy
image: ghcr.io/rmcampos/tasknote/app:latest
build:
context: ./client
dockerfile: Dockerfile
ports: ["5000:5000"]
networks:
- tasknote-network
tasknote-api:
container_name: tasknote-api
depends_on:
tasknote-db:
condition: service_healthy
environment:
POSTGRES_DB: tasknote
POSTGRES_HOST: tasknote-db
POSTGRES_USER: tasknoteuser
POSTGRES_PASSWORD: default
POSTGRES_PORT: 5432
CORS_ALLOWED_ORIGINS: http://tasknote-web:5000, http://localhost:5000, https://flattop-depth-dropper.ngrok-free.dev
SERVER_SERVLET_CONTEXT_PATH: /
TARGET_ENV: production
SECURITY_KEY: ${SECURITY_KEY:-default-security-key}
MAILGUN_APIKEY: ${MAILGUN_APIKEY:-default-mailgun-apikey}
ports: ["8585:8585"]
image: ghcr.io/rmcampos/tasknote/api:latest
healthcheck:
test: ["CMD", "/layers/local_healthcheck/healthcheck/bin/healthcheck"]
interval: 10s
timeout: 5s
retries: 3
start_period: 5s
networks:
- tasknote-network
tasknote-db:
container_name: tasknote-db
image: postgres:16
environment:
POSTGRES_DB: tasknote
POSTGRES_USER: tasknoteuser
POSTGRES_PASSWORD: default
ports: ["5432:5432"]
healthcheck:
test: psql -q -U $${POSTGRES_USER} -d $${POSTGRES_DB} -c 'SELECT 1'
interval: 1m30s
timeout: 15s
retries: 3
start_period: 10s
networks:
- tasknote-network
networks:
tasknote-network:
external: true