[PR #773] Add Billmora template #14203

Open
opened 2026-06-17 06:23:05 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/Dokploy/templates/pull/773
Author: @Nekoplii
Created: 4/5/2026
Status: 🔄 Open

Base: canaryHead: template/billmora


📝 Commits (10+)

  • 23ca652 feat: add billmora template
  • ecd5d7b feat: standardize configuration and volume mounts
  • a6b566f feat: hardcode Laravel automations in docker-compose.yml
  • c7fdbf0 fix(billmora): migration race condition
  • d5d9ebd refactor(billmora): simplify service deploy architecture and standardize blueprint
  • bd220ae feat(billmora): ensure initial data is seeded on startup
  • fa5edbf fix(billmora): use storage-based .env persistence to resolve directory mount error
  • 21855a8 fix(billmora): revert to separate services for worker and scheduler
  • d24472d refactor(billmora): remove APP_TIMEZONE from blueprint configuration
  • e135462 fix(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:

  • 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:

Screenshots or Videos

image image image

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.

Reviews (1): Last reviewed commit: "refactor(billmora): remove APP_TIMEZONE ..." | Re-trigger Greptile

Greptile also left 3 inline comments on this PR.

(2/5) Greptile learns from your feedback when you react with thumbs up/down!

Context used:

  • Context used - AGENTS.md (source)

🔄 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>
GiteaMirror added the pull-request label 2026-06-17 06:23:05 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/templates#14203