This PR introduces a new template for Billmora. Billmora (Billing Management, Operation, and Recurring Automation) is a free, open-source platform tailored for hosting providers to easily manage clients, invoicing, and automated server provisioning.
Template details:
Deploys the main Billmora web application (billmora-app).
Configures a MariaDB database container alongside a Redis container to handle cache, sessions, and queues.
Includes dedicated sidecar containers for the Queue Worker (billmora-worker) and Cron Scheduler (billmora-scheduler) to ensure background tasks and automated provisioning run reliably.
Sets up persistent volumes for the database, Redis data, and shared Laravel local storage (mounted across the app, worker, and scheduler instances).
Automatically manages required environment variables (e.g., APP_KEY, passwords for DB/Redis, URL) using Dokploy's dynamic variables.
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.
Screenshots or Videos
Greptile Summary
This PR adds a new Billmora template that deploys the Billmora billing/invoicing platform with a MariaDB database, Redis cache, a queue worker sidecar, and a cron scheduler sidecar. The overall architecture is well-structured — healthcheck conditions on depends_on, shared billmora-storage volume across all three app containers, auto-generated secrets via Dokploy's variable helpers, and AUTORUN_ENABLED=false correctly set on the worker/scheduler to prevent duplicate migrations.
However, there are a few issues that need to be resolved before merging:
The links field in meta.json uses an array format instead of the object format used by every other entry in the repository — this will fail CI schema validation and is a required fix.
Tags are not lowercase, inconsistent with the project convention.
Docker images are pinned to latest rather than a specific release version, which is flagged by the AGENTS.md guide as a security concern.
Confidence Score: 2/5
Not safe to merge — the links array format in meta.json will fail CI schema validation.
Score of 2 reflects the P0 links format issue that will cause a structural validation failure in CI. The template logic itself is sound and well-implemented, but the metadata inconsistency is a blocking issue that must be corrected before the PR can be merged.
meta.json requires the most attention — the links and tags fields both need correction. blueprints/billmora/docker-compose.yml should also have image tags pinned to a specific version.
🔄 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/773
**Author:** [@Nekoplii](https://github.com/Nekoplii)
**Created:** 4/5/2026
**Status:** 🔄 Open
**Base:** `canary` ← **Head:** `template/billmora`
---
### 📝 Commits (10+)
- [`23ca652`](https://github.com/Dokploy/templates/commit/23ca6529d7bc3756786a0742ca13a34429ce71ab) feat: add billmora template
- [`ecd5d7b`](https://github.com/Dokploy/templates/commit/ecd5d7bf7e3af48f11874ead1dfcf8710530730f) feat: standardize configuration and volume mounts
- [`a6b566f`](https://github.com/Dokploy/templates/commit/a6b566f6ba27dd8bfd1f5a8c01ec7fb84f7e02c7) feat: hardcode Laravel automations in docker-compose.yml
- [`c7fdbf0`](https://github.com/Dokploy/templates/commit/c7fdbf00b104f362470cf9062faebb2e1f688e92) fix(billmora): migration race condition
- [`d5d9ebd`](https://github.com/Dokploy/templates/commit/d5d9ebdb8af925c3aebea477733f6c72d2876bd0) refactor(billmora): simplify service deploy architecture and standardize blueprint
- [`bd220ae`](https://github.com/Dokploy/templates/commit/bd220ae5c5f7a28a83ad72ece3068735ccc1c131) feat(billmora): ensure initial data is seeded on startup
- [`fa5edbf`](https://github.com/Dokploy/templates/commit/fa5edbf023d11f9bd7c88deee57ce2b400a442cd) fix(billmora): use storage-based .env persistence to resolve directory mount error
- [`21855a8`](https://github.com/Dokploy/templates/commit/21855a8686c8ac3349ebd0a4b600018483589bab) fix(billmora): revert to separate services for worker and scheduler
- [`d24472d`](https://github.com/Dokploy/templates/commit/d24472da26aa3072226273f37961fa89377f73a3) refactor(billmora): remove APP_TIMEZONE from blueprint configuration
- [`e135462`](https://github.com/Dokploy/templates/commit/e1354628353e251d948d580b8a2f0c3350ef20cb) fix(billmora): correct links structure and lowercase tags in meta.json
### 📊 Changes
**4 files changed** (+195 additions, -18 deletions)
<details>
<summary>View changed files</summary>
➕ `blueprints/billmora/billmora.svg` (+16 -0)
➕ `blueprints/billmora/docker-compose.yml` (+130 -0)
➕ `blueprints/billmora/template.toml` (+31 -0)
📝 `meta.json` (+18 -18)
</details>
### 📄 Description
## What is this PR about?
This PR introduces a new template for **Billmora**.
[Billmora](https://billmora.com/) (Billing Management, Operation, and Recurring Automation) is a free, open-source platform tailored for hosting providers to easily manage clients, invoicing, and automated server provisioning.
**Template details:**
- Deploys the main Billmora web application (`billmora-app`).
- Configures a **MariaDB** database container alongside a **Redis** container to handle cache, sessions, and queues.
- Includes dedicated sidecar containers for the **Queue Worker** (`billmora-worker`) and **Cron Scheduler** (`billmora-scheduler`) to ensure background tasks and automated provisioning run reliably.
- Sets up persistent volumes for the database, Redis data, and shared Laravel local `storage` (mounted across the app, worker, and scheduler instances).
- Automatically manages required environment variables (e.g., `APP_KEY`, passwords for DB/Redis, URL) using Dokploy's dynamic variables.
## Checklist
Before submitting this PR, please make sure that:
- [x] 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
- [x] I have tested the template in my instance, so the maintainers don't spend time trying to figure out what's wrong.
- [x] I have added tests that demonstrate that my correction works or that my new feature works.
## Screenshots or Videos
<img width="1919" height="1071" alt="image" src="https://github.com/user-attachments/assets/2d920117-bc17-46ce-be3c-7a8a66769ad4" />
<img width="1918" height="1077" alt="image" src="https://github.com/user-attachments/assets/51b3ae15-5119-4ee4-b938-c13ba741b821" />
<img width="1916" height="1078" alt="image" src="https://github.com/user-attachments/assets/eab5f0ee-412f-4aac-818e-f62788f23d39" />
<!-- greptile_comment -->
<h3>Greptile Summary</h3>
This PR adds a new **Billmora** template that deploys the Billmora billing/invoicing platform with a MariaDB database, Redis cache, a queue worker sidecar, and a cron scheduler sidecar. The overall architecture is well-structured — healthcheck conditions on `depends_on`, shared `billmora-storage` volume across all three app containers, auto-generated secrets via Dokploy's variable helpers, and `AUTORUN_ENABLED=false` correctly set on the worker/scheduler to prevent duplicate migrations.
However, there are a few issues that need to be resolved before merging:
- The `links` field in `meta.json` uses an array format instead of the object format used by every other entry in the repository — this will fail CI schema validation and is a required fix.
- Tags are not lowercase, inconsistent with the project convention.
- Docker images are pinned to `latest` rather than a specific release version, which is flagged by the AGENTS.md guide as a security concern.
<h3>Confidence Score: 2/5</h3>
Not safe to merge — the `links` array format in meta.json will fail CI schema validation.
Score of 2 reflects the P0 `links` format issue that will cause a structural validation failure in CI. The template logic itself is sound and well-implemented, but the metadata inconsistency is a blocking issue that must be corrected before the PR can be merged.
`meta.json` requires the most attention — the `links` and `tags` fields both need correction. `blueprints/billmora/docker-compose.yml` should also have image tags pinned to a specific version.
<sub>Reviews (1): Last reviewed commit: ["refactor(billmora): remove APP\_TIMEZONE ..."](https://github.com/dokploy/templates/commit/d24472da26aa3072226273f37961fa89377f73a3) | [Re-trigger Greptile](https://app.greptile.com/api/retrigger?id=27399219)</sub>
> Greptile also left **3 inline comments** on this PR.
<sub>(2/5) Greptile learns from your feedback when you react with thumbs up/down!</sub>
**Context used:**
- Context used - 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/773
Author: @Nekoplii
Created: 4/5/2026
Status: 🔄 Open
Base:
canary← Head:template/billmora📝 Commits (10+)
23ca652feat: add billmora templateecd5d7bfeat: standardize configuration and volume mountsa6b566ffeat: hardcode Laravel automations in docker-compose.ymlc7fdbf0fix(billmora): migration race conditiond5d9ebdrefactor(billmora): simplify service deploy architecture and standardize blueprintbd220aefeat(billmora): ensure initial data is seeded on startupfa5edbffix(billmora): use storage-based .env persistence to resolve directory mount error21855a8fix(billmora): revert to separate services for worker and schedulerd24472drefactor(billmora): remove APP_TIMEZONE from blueprint configuratione135462fix(billmora): correct links structure and lowercase tags in meta.json📊 Changes
4 files changed (+195 additions, -18 deletions)
View changed files
➕
blueprints/billmora/billmora.svg(+16 -0)➕
blueprints/billmora/docker-compose.yml(+130 -0)➕
blueprints/billmora/template.toml(+31 -0)📝
meta.json(+18 -18)📄 Description
What is this PR about?
This PR introduces a new template for Billmora.
Billmora (Billing Management, Operation, and Recurring Automation) is a free, open-source platform tailored for hosting providers to easily manage clients, invoicing, and automated server provisioning.
Template details:
billmora-app).billmora-worker) and Cron Scheduler (billmora-scheduler) to ensure background tasks and automated provisioning run reliably.storage(mounted across the app, worker, and scheduler instances).APP_KEY, passwords for DB/Redis, URL) using Dokploy's dynamic variables.Checklist
Before submitting this PR, please make sure that:
Screenshots or Videos
Greptile Summary
This PR adds a new Billmora template that deploys the Billmora billing/invoicing platform with a MariaDB database, Redis cache, a queue worker sidecar, and a cron scheduler sidecar. The overall architecture is well-structured — healthcheck conditions on
depends_on, sharedbillmora-storagevolume across all three app containers, auto-generated secrets via Dokploy's variable helpers, andAUTORUN_ENABLED=falsecorrectly set on the worker/scheduler to prevent duplicate migrations.However, there are a few issues that need to be resolved before merging:
linksfield inmeta.jsonuses an array format instead of the object format used by every other entry in the repository — this will fail CI schema validation and is a required fix.latestrather than a specific release version, which is flagged by the AGENTS.md guide as a security concern.Confidence Score: 2/5
Not safe to merge — the
linksarray format in meta.json will fail CI schema validation.Score of 2 reflects the P0
linksformat issue that will cause a structural validation failure in CI. The template logic itself is sound and well-implemented, but the metadata inconsistency is a blocking issue that must be corrected before the PR can be merged.meta.jsonrequires the most attention — thelinksandtagsfields both need correction.blueprints/billmora/docker-compose.ymlshould also have image tags pinned to a specific version.Reviews (1): Last reviewed commit: "refactor(billmora): remove APP_TIMEZONE ..." | Re-trigger Greptile
(2/5) Greptile learns from your feedback when you react with thumbs up/down!
Context used:
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.