AGENTS.md: internal network pattern, ChangeThisPassword secrets convention,
_notes exemption, and a Known exceptions list (pihole, zammad-init,
compose-aio, VOL_PROJECTS nesting, mailu env_file, headscale config vars).
README.md: fix Preferred typo.
_docs/lint.py: checks every convention plus compose<->sample.env sync;
run with python3 _docs/lint.py.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Existing content preserved and reordered to the canonical section order;
missing sections generated from each stack's compose data (ports, volumes,
env vars, image links). Fixes copy-paste errors in Dockhand sections
(qbittorrent pointed at archivebox; invokeai/thunderbird said SERVICENAME)
and persistant->persistent typos in gatus.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- 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>
Follows the upstream AIO layout (fixed names, no env templating);
configured for use behind Nginx Proxy Manager via APACHE_PORT=11000.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Tdarr, Grocy, Dashy, Traefik, Fider, Twenty CRM, Outline, Chatwoot,
ComfyUI, Picard, VoidAuth, Tinyauth, Tugtainer, Sencho, Authelia,
Mail Archiver, ITFlow, Notifuse, Maybe Finance, DumbBudget, Silverpeas,
Portus, Obsidian — all as _dev stacks following repo conventions.
Harbor and Exportify moved to 'Apps That Will Not be in the Repo'
(installer-generated compose / no published image).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Rename docker-compose.yml to compose.yaml
- Add env var defaults for all images, ports, and secrets
- Convert env style from YAML mapping to list style
- Use VOL_PATH base /data pattern for all volumes
- Add proxy network for docmost, internal network for db/redis
- Add missing sample.env with all configurable vars
- Rewrite README with new section order and multi-service docs
- Rename docker-compose.yml to compose.yaml
- Add defaults, restart policy, and proxy network
- Fix VOL_PATH to use base /data pattern
- Rewrite README with new section order and Getting Started guide
- Assume qBittorrent download client, Prowlarr indexer sync
- Rename docker-compose.yml to compose.yaml
- Add defaults, restart policy, and proxy network
- Fix VOL_PATH to use base /data pattern
- Rewrite README with new section order and Getting Started guide
- Assume qBittorrent download client, Prowlarr indexer sync
- Rename docker-compose.yml to compose.yaml
- Add defaults, restart policy, and proxy network
- Remove container_name (unnecessary), TZ (not required)
- Fix VOL_PATH to use base /data pattern
- Rewrite README with new section order