Files
tasknote/docker-compose.prod.yml
T

62 lines
1.5 KiB
YAML

---
services:
tasknote-web:
container_name: tasknote-web
depends_on:
tasknote-api:
condition: service_healthy
image: docker.io/rmcampos/tasknote:app-latest
build:
context: client
dockerfile: Dockerfile
ports: ["5000:5000"]
environment:
VITE_BACKEND_SERVER: http://tasknote-api:8585
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
SERVER_SERVLET_CONTEXT_PATH: /
TARGET_ENV: development
SECURITY_KEY: this-is-a-very-long-security-key-for-dev
MAILGUN_APIKEY: invalid-api-key-only-placeholder
ports: ["8585:8585"]
image: docker.io/rmcampos/tasknote:api-latest
build:
context: server
dockerfile: Dockerfile
networks:
- tasknote-network
tasknote-db:
container_name: tasknote-db
image: postgres:15.8-bookworm
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:
driver: bridge