Files
codeandClaude Fable 5 8ab413804a normalize all stacks to conventions
- VOL_PATH always defaults to /data; vscode/opencode VOL_PROJECTS nests it
- TZ defaults to America/Vancouver (was UTC in etherpad, ntfy, redis)
- compose section order fixed (volumes before environment, command after networks)
- all default secrets are the literal ChangeThisPassword (grep-friendly,
  users must change them); removed a real key from ollama sample.env
- sample.env synced with compose: missing vars added with defaults, dead vars removed
- invoiceninja_dev/openarchiver_dev: app services had no environment block,
  wired all sample.env vars through so the stacks actually work
- opencode: sample.env OLLAMA_HOST renamed to OLLAMA_HOST_URL to match compose
- TZ values unquoted consistently

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 06:24:54 +00:00

43 lines
1.5 KiB
YAML

services:
bookstack:
image: ${BOOKSTACK_IMAGE:-solidnerd/bookstack:latest}
restart: ${BOOKSTACK_RESTART:-unless-stopped}
volumes:
- ${VOL_PATH:-/data}/bookstack/uploads:/var/www/bookstack/storage/uploads
- ${VOL_PATH:-/data}/bookstack/public:/var/www/bookstack/public/uploads
environment:
- APP_KEY=${BOOKSTACK_APP_KEY:-ChangeThisPassword}
- APP_TIMEZONE=${BOOKSTACK_APP_TIMEZONE:-America/Vancouver}
- APP_URL=${BOOKSTACK_APP_URL:-http://localhost:8080}
- DB_DATABASE=${BOOKSTACK_DB_DATABASE:-bookstack}
- DB_HOST=mariadb:3306
- DB_PASSWORD=${BOOKSTACK_DB_PASSWORD:-ChangeThisPassword}
- DB_USERNAME=${BOOKSTACK_DB_USERNAME:-dbuser}
- REVISION_LIMIT=${BOOKSTACK_REVISION_LIMIT:-false}
ports:
- ${BOOKSTACK_PORT:-8080}:8080
networks:
- proxy
- internal
depends_on:
- mariadb
mariadb:
image: ${MARIADB_IMAGE:-mariadb:latest}
restart: ${MARIADB_RESTART:-unless-stopped}
volumes:
- ${VOL_PATH:-/data}/bookstack/db:/var/lib/mysql
environment:
- MARIADB_DATABASE=${BOOKSTACK_DB_DATABASE:-bookstack}
- MARIADB_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD:-ChangeThisPassword}
- MARIADB_USER=${BOOKSTACK_DB_USERNAME:-dbuser}
- MARIADB_PASSWORD=${BOOKSTACK_DB_PASSWORD:-ChangeThisPassword}
networks:
- internal
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed
networks:
proxy:
external: true
internal: