Workflow-App/Workflow/docker-compose.yml
sjcoetzeesj-coder 11d0178ab1 feat: commit Workflow app source; move CIPC credentials to env
Adds the full Next.js app (app/, components/, lib/, scripts/, assets/,
docs/, Dockerfile, compose, configs) to version control.

Security:
- CIPC BizPortal customer-code logins (Login 1 + Login 3) now read
  CIPC_LOGIN1_CODE / CIPC_LOGIN1_PASSWORD / CIPC_LOGIN3_CODE /
  CIPC_LOGIN3_PASSWORD from .env.local instead of source.
- BizPortal personal login in apply-bizportal route reads
  BIZPORTAL_ID_NO / BIZPORTAL_PASSWORD.
- Added .env.example as the committed template.

.gitignore excludes .env*, node_modules, .next, logs, sqlite, Playwright
storage_state.json (live CIPC cookies), scratch dirs, client PDFs and
debug screenshots.
2026-10-18 15:21:45 +02:00

40 lines
1.6 KiB
YAML

# ─────────────────────────────────────────────────────────────────
# Workflow PocketBase Frontend — Docker Compose
#
# For local Docker testing (matches Coolify's contract closely enough
# that you can copy these env values straight into Coolify's UI).
#
# Usage:
# cp .env.example .env # fill in real values
# docker compose up -d --build
# open http://localhost:3000
# ─────────────────────────────────────────────────────────────────
services:
workflow:
build:
context: .
dockerfile: Dockerfile
args:
# Bake the public URL into the client bundle at build time.
NEXT_PUBLIC_BASE_URL: ${NEXT_PUBLIC_BASE_URL:-http://localhost:3000}
image: workflow-frontend:latest
container_name: workflow-frontend
restart: unless-stopped
ports:
- "${PORT:-3000}:3000"
environment:
# Server-only secrets. Coolify's secret manager is the right
# home for these — never commit real values.
PB_URL: ${PB_URL:?Set PB_URL in .env}
PB_TOKEN: ${PB_TOKEN:?Set PB_TOKEN in .env}
ONBOARDING_TOKEN_PEPPER: ${ONBOARDING_TOKEN_PEPPER:-}
NODE_ENV: production
PORT: 3000
HOSTNAME: 0.0.0.0
healthcheck:
test: ["CMD", "wget", "-qO-", "http://127.0.0.1:3000/api/pb/records/list?collection=ysterbaard_directors&perPage=1"]
interval: 30s
timeout: 5s
retries: 3
start_period: 20s