mirror of
https://gitlab.com/Zer0interrupt/recipe-manager.git
synced 2026-11-02 07:28:25 -05:00
- 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
56 lines
1.6 KiB
YAML
56 lines
1.6 KiB
YAML
# Standalone observability stack: OpenObserve (storage/search/UI) + Fluent Bit (collector).
|
|
#
|
|
# Runs independently of ForkFolio so any number of apps on this Docker host can
|
|
# ship logs here. Fluent Bit tails every container's json-file log and routes
|
|
# containers that set a logging "tag" to a matching OpenObserve stream.
|
|
#
|
|
# Usage:
|
|
# cp .env.example .env # then set a strong password
|
|
# docker compose up -d
|
|
# open http://localhost:5080
|
|
name: observability
|
|
|
|
services:
|
|
openobserve:
|
|
# Pin to a specific release tag for reproducible upgrades if desired
|
|
image: public.ecr.aws/zinclabs/openobserve:latest
|
|
container_name: openobserve
|
|
restart: unless-stopped
|
|
ports:
|
|
- "5080:5080"
|
|
env_file: .env
|
|
environment:
|
|
- ZO_DATA_DIR=/data
|
|
volumes:
|
|
- ./openobserve-data:/data
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|
|
|
|
fluent-bit:
|
|
image: fluent/fluent-bit:latest
|
|
container_name: fluent-bit
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- openobserve
|
|
env_file: .env
|
|
environment:
|
|
- ZO_HOST=openobserve
|
|
- ZO_PORT=5080
|
|
volumes:
|
|
- ./fluent-bit/fluent-bit.conf:/fluent-bit/etc/fluent-bit.conf:ro
|
|
- ./fluent-bit/parsers.conf:/fluent-bit/etc/custom_parsers.conf:ro
|
|
# Docker's container log files (read-only)
|
|
- /var/lib/docker/containers:/var/lib/docker/containers:ro
|
|
# Tail positions, so restarts don't re-send or skip logs
|
|
- fluent-bit-db:/fluent-bit/db
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|
|
|
|
volumes:
|
|
fluent-bit-db:
|