recipe-manager/docker-compose.yml
Chris 423334db4d Add structured logging (Pino), Docker log rotation, and OpenObserve + Fluent Bit observability stack
- logger.js: Pino JSON logger with console-style helpers and pino-http request logging (static assets skipped, headers not logged, secrets redacted)

- server.js: replace 89 console.* calls with log.info/warn/error; add request logging middleware

- docker-compose.yml: json-file rotation (10m x 5, compressed), LOG_LEVEL, 'forkfolio' log tag

- observability/: standalone OpenObserve + Fluent Bit stack routing tagged container logs to per-app streams

- .dockerignore: exclude observability stack from app image
2026-11-01 01:17:21 -05:00

25 lines
657 B
YAML

version: '3.8'
services:
recipe-manager:
build: .
container_name: recipe-manager-app
ports:
- "3000:3000"
volumes:
- ./data:/usr/src/app/data
restart: unless-stopped
environment:
- PORT=3000
- NODE_ENV=production
- LOG_LEVEL=info
# Rotate container logs (~50 MB max on disk). The "tag" is used by the
# observability stack's Fluent Bit collector to route these logs to the
# "forkfolio" stream in OpenObserve (see observability/README.md).
logging:
driver: json-file
options:
max-size: "10m"
max-file: "5"
compress: "true"
tag: "forkfolio"