* chore: add files and config to run on VPS and test locally * chore: add missing nginx files left behind * chore: rename workflow files
64 lines
1.6 KiB
YAML
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: development
|
|
SECURITY_KEY: this-is-a-very-long-security-key-for-dev
|
|
MAILGUN_APIKEY: invalid-api-key-only-placeholder
|
|
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
|