I have tested the template in my instance, so the maintainers don't spend time trying to figure out what's wrong.
I have added tests that demonstrate that my correction works or that my new feature works.
Issues related (if applicable)
Close automatically the related issues using the keywords: closes #ISSUE_NUMBER
Screenshots or Videos
Greptile Summary
Large PR adding 11 new templates (cloudflare-ddns, ipfs, openclaw, postgres-pgdog, pulse, seaweedfs, strapi, trilium-next, wuzapi, cloudflare-ddns, habitica overhaul) and updating ~12 existing templates (alist, appsmith, budibase, cloudflared, habitica, invoiceshelf, nextcloud-aio, supabase, superset, trmnl-byos-laravel, uptime-kuma, vikunja, wg-easy). Also adds PR guidelines to CONTRIBUTING.md and volume bind mount guidance to AGENTS.md.
Critical: Postgres volume path regression — Three templates (superset, strapi, postgres-pgdog) mount the Postgres data volume to /var/lib/postgresql instead of the correct /var/lib/postgresql/data. The superset template previously had the correct path and was changed in this PR. This will cause data persistence failures.
Critical: Openclaw browser port mismatch — BROWSER_CDP_URL references port 9223 but the browser service listens on 9222, preventing the openclaw service from connecting.
Critical: Vikunja healthcheck syntax — The DB healthcheck uses CMD-SHELL with multiple array arguments instead of a single command string. Docker will only pass the first argument to the shell, causing the healthcheck to always fail.
Multiple meta.json version mismatches — Six templates have version discrepancies between meta.json and their docker-compose.yml image tags: cloudflare-ddns, openclaw, pulse, seaweedfs, trilium-next, and wuzapi.
Trilium-next issues — Data directory mismatch between template.toml (TRILIUM_DATA_DIR=/root) and the volume mount path, host path bind mounts instead of named volumes, and a typo (mount instead of mounts) in template.toml.
wg-easy adds container_name — Violates Dokploy template conventions per AGENTS.md.
Positive changes — Budibase removes the watchtower service (good cleanup), several templates get version bumps with pinned images, and the Habitica template gets proper MongoDB authentication with replica set support.
Confidence Score: 2/5
This PR has several runtime-breaking issues that need to be fixed before merging.
Score of 2 reflects multiple confirmed bugs: wrong Postgres volume paths in 3 templates (will break data persistence), a port mismatch in openclaw (browser connection will fail), broken healthcheck syntax in vikunja, and 6 version mismatches between meta.json and docker-compose files. While much of the PR is solid (version upgrades, new templates with good structure), these issues will cause runtime failures for users deploying these templates.
Pay close attention to: blueprints/superset/docker-compose.yml, blueprints/strapi/docker-compose.yml, blueprints/postgres-pgdog/docker-compose.yml (Postgres volume paths), blueprints/openclaw/docker-compose.yml (port mismatch), blueprints/vikunja/docker-compose.yml (healthcheck syntax), blueprints/trilium-next/ (multiple issues), and meta.json (version mismatches).
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/Dokploy/templates/pull/711
**Author:** [@Siumauricio](https://github.com/Siumauricio)
**Created:** 2/16/2026
**Status:** ✅ Merged
**Merged:** 2/16/2026
**Merged by:** [@Siumauricio](https://github.com/Siumauricio)
**Base:** `main` ← **Head:** `canary`
---
### 📝 Commits (10+)
- [`1e21b7e`](https://github.com/Dokploy/templates/commit/1e21b7e785b5a2e1b5a604df57cd23d31a0d3955) feat(librechat): add LibreChat blueprint with compose, toml, metadata, links and tags
- [`758cf1d`](https://github.com/Dokploy/templates/commit/758cf1d873d45ea0771c109cbcb6101fedc3ba79) fix: rename templates to template.toml
- [`47daea9`](https://github.com/Dokploy/templates/commit/47daea92f862cf2d111d017b6f3e9da176455451) fix(librechat): rename api service to librechat in docker-compose.yml
- [`3e8b431`](https://github.com/Dokploy/templates/commit/3e8b43103173503b19e93276aa9810f4fa8cba98) Update blueprints/librechat/template.toml
- [`60796a9`](https://github.com/Dokploy/templates/commit/60796a90847bf27061eaba5491eb02c49400bdf2) Update blueprints/librechat/template.toml
- [`1d70294`](https://github.com/Dokploy/templates/commit/1d702943103d80af380e68f9a274d14d2fd90223) fix(librechat): add version under [config] and remove stray [config.mounts] header
- [`2e1fb3b`](https://github.com/Dokploy/templates/commit/2e1fb3b3a9ea2c277d593ca5891e744b0c01a7f6) fix(librechat): remove predefined persistent volume mounts from template.toml
- [`46dc5b9`](https://github.com/Dokploy/templates/commit/46dc5b9be3ea8f06d931d709ded142d2f7a216a9) docs(librechat): add authentication reference link to docker-compose.yml
- [`ac07aa2`](https://github.com/Dokploy/templates/commit/ac07aa2ed86c1ff47af34a3e50533ea2ce4946ff) feat: add Rote template
- [`d58cc15`](https://github.com/Dokploy/templates/commit/d58cc15c54c09f2e8a5768c839d569a2d2d61ce0) fix: process meta.json to fix formatting and sorting
### 📊 Changes
**49 files changed** (+1341 additions, -123 deletions)
<details>
<summary>View changed files</summary>
📝 `AGENTS.md` (+10 -0)
📝 `CONTRIBUTING.md` (+5 -0)
📝 `blueprints/ackee/instructions.md` (+1 -1)
📝 `blueprints/alist/docker-compose.yml` (+1 -1)
📝 `blueprints/appsmith/docker-compose.yml` (+6 -2)
📝 `blueprints/budibase/docker-compose.yml` (+12 -25)
➕ `blueprints/cloudflare-ddns/cloudflare-ddns.svg` (+8 -0)
➕ `blueprints/cloudflare-ddns/docker-compose.yml` (+16 -0)
➕ `blueprints/cloudflare-ddns/template.toml` (+9 -0)
📝 `blueprints/cloudflared/docker-compose.yml` (+2 -2)
📝 `blueprints/cloudflared/template.toml` (+3 -1)
📝 `blueprints/habitica/docker-compose.yml` (+66 -9)
📝 `blueprints/habitica/template.toml` (+16 -8)
📝 `blueprints/invoiceshelf/docker-compose.yml` (+2 -4)
➕ `blueprints/ipfs/docker-compose.yml` (+17 -0)
➕ `blueprints/ipfs/ipfs.svg` (+1 -0)
➕ `blueprints/ipfs/template.toml` (+25 -0)
📝 `blueprints/nextcloud-aio/docker-compose.yml` (+1 -1)
➕ `blueprints/openclaw/docker-compose.yml` (+86 -0)
➕ `blueprints/openclaw/openclaw.svg` (+60 -0)
_...and 29 more files_
</details>
### 📄 Description
## What is this PR about?
New PR of [Template Name]
## Checklist
Before submitting this PR, please make sure that:
- [ ] I have read the suggestions in the README.md file https://github.com/Dokploy/templates?tab=readme-ov-file#general-requirements-when-creating-a-template
- [ ] I have tested the template in my instance, so the maintainers don't spend time trying to figure out what's wrong.
- [ ] I have added tests that demonstrate that my correction works or that my new feature works.
## Issues related (if applicable)
Close automatically the related issues using the keywords: `closes #ISSUE_NUMBER`
## Screenshots or Videos
<!-- greptile_comment -->
<h3>Greptile Summary</h3>
Large PR adding 11 new templates (cloudflare-ddns, ipfs, openclaw, postgres-pgdog, pulse, seaweedfs, strapi, trilium-next, wuzapi, cloudflare-ddns, habitica overhaul) and updating ~12 existing templates (alist, appsmith, budibase, cloudflared, habitica, invoiceshelf, nextcloud-aio, supabase, superset, trmnl-byos-laravel, uptime-kuma, vikunja, wg-easy). Also adds PR guidelines to `CONTRIBUTING.md` and volume bind mount guidance to `AGENTS.md`.
- **Critical: Postgres volume path regression** — Three templates (`superset`, `strapi`, `postgres-pgdog`) mount the Postgres data volume to `/var/lib/postgresql` instead of the correct `/var/lib/postgresql/data`. The superset template previously had the correct path and was changed in this PR. This will cause data persistence failures.
- **Critical: Openclaw browser port mismatch** — `BROWSER_CDP_URL` references port `9223` but the browser service listens on `9222`, preventing the openclaw service from connecting.
- **Critical: Vikunja healthcheck syntax** — The DB healthcheck uses `CMD-SHELL` with multiple array arguments instead of a single command string. Docker will only pass the first argument to the shell, causing the healthcheck to always fail.
- **Multiple meta.json version mismatches** — Six templates have version discrepancies between `meta.json` and their `docker-compose.yml` image tags: `cloudflare-ddns`, `openclaw`, `pulse`, `seaweedfs`, `trilium-next`, and `wuzapi`.
- **Trilium-next issues** — Data directory mismatch between `template.toml` (`TRILIUM_DATA_DIR=/root`) and the volume mount path, host path bind mounts instead of named volumes, and a typo (`mount` instead of `mounts`) in `template.toml`.
- **wg-easy adds `container_name`** — Violates Dokploy template conventions per `AGENTS.md`.
- **Positive changes** — Budibase removes the watchtower service (good cleanup), several templates get version bumps with pinned images, and the Habitica template gets proper MongoDB authentication with replica set support.
<h3>Confidence Score: 2/5</h3>
- This PR has several runtime-breaking issues that need to be fixed before merging.
- Score of 2 reflects multiple confirmed bugs: wrong Postgres volume paths in 3 templates (will break data persistence), a port mismatch in openclaw (browser connection will fail), broken healthcheck syntax in vikunja, and 6 version mismatches between meta.json and docker-compose files. While much of the PR is solid (version upgrades, new templates with good structure), these issues will cause runtime failures for users deploying these templates.
- Pay close attention to: `blueprints/superset/docker-compose.yml`, `blueprints/strapi/docker-compose.yml`, `blueprints/postgres-pgdog/docker-compose.yml` (Postgres volume paths), `blueprints/openclaw/docker-compose.yml` (port mismatch), `blueprints/vikunja/docker-compose.yml` (healthcheck syntax), `blueprints/trilium-next/` (multiple issues), and `meta.json` (version mismatches).
<sub>Last reviewed commit: 38e417b</sub>
<!-- greptile_other_comments_section -->
**Context used:**
- Context from `dashboard` - AGENTS.md ([source](https://app.greptile.com/review/custom-context?memory=09330bde-2058-497c-9c64-ceae637fb5b2))
<!-- /greptile_comment -->
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/Dokploy/templates/pull/711
Author: @Siumauricio
Created: 2/16/2026
Status: ✅ Merged
Merged: 2/16/2026
Merged by: @Siumauricio
Base:
main← Head:canary📝 Commits (10+)
1e21b7efeat(librechat): add LibreChat blueprint with compose, toml, metadata, links and tags758cf1dfix: rename templates to template.toml47daea9fix(librechat): rename api service to librechat in docker-compose.yml3e8b431Update blueprints/librechat/template.toml60796a9Update blueprints/librechat/template.toml1d70294fix(librechat): add version under [config] and remove stray [config.mounts] header2e1fb3bfix(librechat): remove predefined persistent volume mounts from template.toml46dc5b9docs(librechat): add authentication reference link to docker-compose.ymlac07aa2feat: add Rote templated58cc15fix: process meta.json to fix formatting and sorting📊 Changes
49 files changed (+1341 additions, -123 deletions)
View changed files
📝
AGENTS.md(+10 -0)📝
CONTRIBUTING.md(+5 -0)📝
blueprints/ackee/instructions.md(+1 -1)📝
blueprints/alist/docker-compose.yml(+1 -1)📝
blueprints/appsmith/docker-compose.yml(+6 -2)📝
blueprints/budibase/docker-compose.yml(+12 -25)➕
blueprints/cloudflare-ddns/cloudflare-ddns.svg(+8 -0)➕
blueprints/cloudflare-ddns/docker-compose.yml(+16 -0)➕
blueprints/cloudflare-ddns/template.toml(+9 -0)📝
blueprints/cloudflared/docker-compose.yml(+2 -2)📝
blueprints/cloudflared/template.toml(+3 -1)📝
blueprints/habitica/docker-compose.yml(+66 -9)📝
blueprints/habitica/template.toml(+16 -8)📝
blueprints/invoiceshelf/docker-compose.yml(+2 -4)➕
blueprints/ipfs/docker-compose.yml(+17 -0)➕
blueprints/ipfs/ipfs.svg(+1 -0)➕
blueprints/ipfs/template.toml(+25 -0)📝
blueprints/nextcloud-aio/docker-compose.yml(+1 -1)➕
blueprints/openclaw/docker-compose.yml(+86 -0)➕
blueprints/openclaw/openclaw.svg(+60 -0)...and 29 more files
📄 Description
What is this PR about?
New PR of [Template Name]
Checklist
Before submitting this PR, please make sure that:
Issues related (if applicable)
Close automatically the related issues using the keywords:
closes #ISSUE_NUMBERScreenshots or Videos
Greptile Summary
Large PR adding 11 new templates (cloudflare-ddns, ipfs, openclaw, postgres-pgdog, pulse, seaweedfs, strapi, trilium-next, wuzapi, cloudflare-ddns, habitica overhaul) and updating ~12 existing templates (alist, appsmith, budibase, cloudflared, habitica, invoiceshelf, nextcloud-aio, supabase, superset, trmnl-byos-laravel, uptime-kuma, vikunja, wg-easy). Also adds PR guidelines to
CONTRIBUTING.mdand volume bind mount guidance toAGENTS.md.superset,strapi,postgres-pgdog) mount the Postgres data volume to/var/lib/postgresqlinstead of the correct/var/lib/postgresql/data. The superset template previously had the correct path and was changed in this PR. This will cause data persistence failures.BROWSER_CDP_URLreferences port9223but the browser service listens on9222, preventing the openclaw service from connecting.CMD-SHELLwith multiple array arguments instead of a single command string. Docker will only pass the first argument to the shell, causing the healthcheck to always fail.meta.jsonand theirdocker-compose.ymlimage tags:cloudflare-ddns,openclaw,pulse,seaweedfs,trilium-next, andwuzapi.template.toml(TRILIUM_DATA_DIR=/root) and the volume mount path, host path bind mounts instead of named volumes, and a typo (mountinstead ofmounts) intemplate.toml.container_name— Violates Dokploy template conventions perAGENTS.md.Confidence Score: 2/5
blueprints/superset/docker-compose.yml,blueprints/strapi/docker-compose.yml,blueprints/postgres-pgdog/docker-compose.yml(Postgres volume paths),blueprints/openclaw/docker-compose.yml(port mismatch),blueprints/vikunja/docker-compose.yml(healthcheck syntax),blueprints/trilium-next/(multiple issues), andmeta.json(version mismatches).Last reviewed commit:
38e417bContext used:
dashboard- AGENTS.md (source)🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.