Files
tasknote/docker-compose.prod.yml
T
rmcampos 169f07801a
Main CI-Frontend / Build & Push (push) Successful in 39s
Main CI-Backend / Build & Push (push) Successful in 45s
Security/critical fixes (#4)
## What

- Addressing security issues: critical and not so critical (more fixed will be pushed soon)

## Why

- The app needs to be secure and safe.

## Mood
<img width="200" src="https://media2.giphy.com/media/CSpfd57m9WGHnxMWXm/100.webp?cid=36b14facw100seggylsefdj0ap2oopoux3bn3jn6qu59xggq&ep=v1_gifs_search&rid=100.webp&ct=g"/>

Reviewed-on: #4
2026-06-29 19:23:41 +00:00

63 lines
1.5 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: ${POSTGRES_PASSWORD}
POSTGRES_PORT: 5432
CORS_ALLOWED_ORIGINS: http://tasknote-web:5000, http://localhost:5000
SERVER_SERVLET_CONTEXT_PATH: /
TARGET_ENV: production
SECURITY_KEY: ${SECURITY_KEY}
MAILGUN_APIKEY: ${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: ${POSTGRES_PASSWORD}
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