feat: add Paperless-ngx and Gatus templates - #884
Conversation
built with Refined Cloudflare Pages Action⚡ Cloudflare Pages Deployment
|
There was a problem hiding this comment.
Pull request overview
Adds a new Dokploy blueprint for Paperless-ngx (document management + OCR), including its compose stack, Dokploy template configuration, logo asset, and a new meta.json entry so it appears in the central template index.
Changes:
- Added
paperless-ngxblueprint with Docker Compose services (Paperless-ngx + Postgres + Redis) and persistent volumes. - Added Dokploy
template.tomlfor domain/env variable wiring (URL, secret key, DB password, timezone, OCR language). - Registered the template in
meta.jsonand added apaperless-ngx.svglogo.
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| meta.json | Adds the Paperless-ngx template entry (id/name/version/links/tags/logo). |
| blueprints/paperless-ngx/docker-compose.yml | Defines Paperless-ngx + Postgres + Redis stack with healthchecks and volumes. |
| blueprints/paperless-ngx/template.toml | Defines Dokploy variables, domain mapping, and env injection for the compose stack. |
| blueprints/paperless-ngx/paperless-ngx.svg | Adds the template logo asset referenced by meta.json. |
| main_domain = "${domain}" | ||
| postgres_password = "${password:32}" | ||
| paperless_secret_key = "${password:64}" | ||
| paperless_url = "https://${main_domain}" |
There was a problem hiding this comment.
Adjusted in 0c3d1cc: the default PAPERLESS_URL now uses http://${main_domain} to match the repository convention for app URL env vars behind Dokploy. Re-ran template validation, Docker Compose validation, metadata processing, git diff --check, and docker compose config with the updated URL.
|
Automated template check 🤖 This PR's template was imported into a test Dokploy instance (using the Result: ❌ some issues need attention
|
…-ngx-template # Conflicts: # meta.json
The postgres:18 image moved its data directory from /var/lib/postgresql/data to /var/lib/postgresql, and its entrypoint now fails hard when a volume is mounted at the old path. This made paperless-ngx-db restart-loop and never reach healthy, so the deploy errored with 'dependency paperless-ngx-db failed to start'. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Tested both templates on a live Dokploy instance. gatus: worked out of the box — deployed cleanly and served HTTP 200 ( paperless-ngx: the deploy failed with After the fix: deploy completed in ~41s and the app responded with HTTP 200 ( |
/claim #152
Summary
Refs #152 as a partial template-bounty contribution.
Verification
node dedupe-and-sort-meta.jsnode --import ./build-scripts/node_modules/tsx/dist/loader.mjs build-scripts/validate-template.ts --dir blueprints/paperless-ngxnode --import ./build-scripts/node_modules/tsx/dist/loader.mjs build-scripts/validate-template.ts --dir blueprints/gatusnode --import ./build-scripts/node_modules/tsx/dist/loader.mjs build-scripts/validate-docker-compose.ts --file blueprints/paperless-ngx/docker-compose.ymlnode --import ./build-scripts/node_modules/tsx/dist/loader.mjs build-scripts/validate-docker-compose.ts --file blueprints/gatus/docker-compose.ymlgit diff --checkdocker compose -f blueprints/paperless-ngx/docker-compose.yml configdocker compose -f blueprints/gatus/docker-compose.yml configdocker manifest inspect ghcr.io/paperless-ngx/paperless-ngx:2.20.15docker manifest inspect postgres:18-alpinedocker manifest inspect redis:8-alpinedocker manifest inspect ghcr.io/twin/gatus:v5.36.0