- 79 blueprints declared a bare [[config.mounts]] header (one empty array
element in TOML) -> replaced with the repo idiom 'mounts = []'
- 38 blueprints carried doc-style mount blocks (name/mountPath/description)
that don't match the schema (filePath/content) and are inert in Dokploy's
template processor -> removed; their named volumes already live in each
docker-compose.yml
- penpot: duplicate 'expose' map key made its docker-compose.yml invalid
YAML -> merged into one expose list
After this, validate-template.ts passes for all 502 blueprints. The
remaining validate-docker-compose.ts flags are the intentional host-port
templates (mail/game/streaming protocols: poste.io, mailu, oryx, fivem,
lodestone, etc.) which the validator does not yet model as exceptions.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- move each template's metadata to blueprints/<id>/meta.json (442 files, byte-identical roundtrip with the old root meta.json)
- generate the served meta.json at build time into app/public/meta.json (gitignored); pnpm dev/build run the generator first
- CI validates every blueprints/<id>/meta.json via generate-meta.js --check (required fields, id/folder match, logo exists, folder<->meta bidirectionality) and rejects any committed root meta.json
- remove root meta.json, dedupe-and-sort-meta.js and build-scripts/process-meta.js (obsolete)
- update CONTRIBUTING.md, AGENTS.md and README.md
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Remove duplicate GitLab CI entry and add Link Stack entry to meta.json
* Update Movary blueprint with simplified Docker Compose and environment configuration
* Add OpenGist entry to meta.json
* Add Snapp self-hosted screenshot sharing service entry to meta.json
* Add CommaFeed feed reader entry to meta.json
* Add ConvertX media conversion service entry to meta.json
* Add MeTube YouTube downloader entry to meta.json
* Add Pinchflat YouTube entry to meta.json
* Add yt-dlp-webui entry to meta.json
* Add FlareSolverr proxy service entry to meta.json
* Add Neko virtual browser entry to meta.json
* Add Omni-Tools entry to meta.json
* Add OpenHands AI agents platform entry to meta.json
* Add Web-Check website analyzer entry to meta.json
* Add DumbDrop file sharing service entry to meta.json
* Add DumbAssets entry to meta.json
* Add DumbPad notepad service entry to meta.json
* Add DumbBudget self-hosted budget tracking service entry to meta.json
* Add Tianji web analytics and uptime monitoring service entry to meta.json
* Add Directory Lister entry to meta.json
* Add Grimoire bookmarking app entry to meta.json
* Clean Up
* Update Movary blueprint with environment variables and MySQL configuration