Improves the Bigcapital docker-compose template for better reliability and Dokploy compatibility.
Changes
**\ports\ → \expose**: All services now use \expose\ since Traefik handles external routing
Database migrations: Added \database_migration\ init container that runs migrations before the server starts (prevents race conditions)
MinIO for S3: Added \minio\ + \minio-init\ services for self-contained S3-compatible storage
Gotenberg URL: Hardcoded to \http://gotenberg:3000\ (internal Docker DNS) instead of env var
Healthchecks: Added healthcheck for MinIO
Cleanup: Removed trailing whitespace and empty lines
Context
Clean resubmission of #578 (closed for inactivity). No review feedback was given on the original — changes are identical.
Testing
Verified docker-compose syntax with \docker compose config\
Services start in correct dependency order: mysql → migration → server
Greptile Summary
Refactored Bigcapital template to improve reliability by replacing ports with expose, adding database migration init container, and integrating self-contained MinIO for S3 storage.
Major improvements:
Database migration race condition eliminated via init container pattern
Gotenberg port configuration mismatch: hardcoded as 3000 in docker-compose but template.toml specifies 9000
MinIO bucket set to public download - verify this is intentional for your security requirements
Confidence Score: 3/5
This PR is safe to merge with moderate risk - requires minor fixes before production use
Score reflects solid architectural improvements (init containers, MinIO integration, proper expose usage) but requires critical fixes: missing version declaration violates Dokploy requirements, Gotenberg port mismatch between docker-compose and template.toml could break PDF generation, and public S3 bucket needs security review
Pay attention to docker-compose.yml (missing version, port conflicts) and verify template.toml Gotenberg configuration matches
🔄 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/717
**Author:** [@adryserage](https://github.com/adryserage)
**Created:** 2/20/2026
**Status:** ❌ Closed
**Base:** `canary` ← **Head:** `refactor/bigcapital`
---
### 📝 Commits (2)
- [`127b049`](https://github.com/Dokploy/templates/commit/127b04969a29485fb1eea4209be28563b92a4bf2) refactor(bigcapital): improve docker-compose reliability
- [`f4ee6ad`](https://github.com/Dokploy/templates/commit/f4ee6ad15752ac4913c278dbe6c3c2bab02ab869) Update blueprints/bigcapital/docker-compose.yml
### 📊 Changes
**1 file changed** (+67 additions, -24 deletions)
<details>
<summary>View changed files</summary>
📝 `blueprints/bigcapital/docker-compose.yml` (+67 -24)
</details>
### 📄 Description
## Summary
Improves the Bigcapital docker-compose template for better reliability and Dokploy compatibility.
## Changes
- **\ports\ → \expose\**: All services now use \expose\ since Traefik handles external routing
- **Database migrations**: Added \database_migration\ init container that runs migrations before the server starts (prevents race conditions)
- **MinIO for S3**: Added \minio\ + \minio-init\ services for self-contained S3-compatible storage
- **Gotenberg URL**: Hardcoded to \http://gotenberg:3000\ (internal Docker DNS) instead of env var
- **Healthchecks**: Added healthcheck for MinIO
- **Cleanup**: Removed trailing whitespace and empty lines
## Context
Clean resubmission of #578 (closed for inactivity). No review feedback was given on the original — changes are identical.
## Testing
- Verified docker-compose syntax with \docker compose config\
- Services start in correct dependency order: mysql → migration → server
<!-- greptile_comment -->
<h3>Greptile Summary</h3>
Refactored Bigcapital template to improve reliability by replacing `ports` with `expose`, adding database migration init container, and integrating self-contained MinIO for S3 storage.
**Major improvements:**
- Database migration race condition eliminated via init container pattern
- MinIO + minio-init services enable self-contained S3-compatible storage
- Proper use of `expose` instead of `ports` (Traefik handles external routing)
- Healthchecks ensure correct service startup order
**Issues requiring attention:**
- Missing `version: "3.8"` declaration violates Dokploy style guide requirements
- Gotenberg port configuration mismatch: hardcoded as 3000 in docker-compose but template.toml specifies 9000
- MinIO bucket set to public download - verify this is intentional for your security requirements
<h3>Confidence Score: 3/5</h3>
- This PR is safe to merge with moderate risk - requires minor fixes before production use
- Score reflects solid architectural improvements (init containers, MinIO integration, proper expose usage) but requires critical fixes: missing version declaration violates Dokploy requirements, Gotenberg port mismatch between docker-compose and template.toml could break PDF generation, and public S3 bucket needs security review
- Pay attention to `docker-compose.yml` (missing version, port conflicts) and verify `template.toml` Gotenberg configuration matches
<sub>Last reviewed commit: 127b049</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/717
Author: @adryserage
Created: 2/20/2026
Status: ❌ Closed
Base:
canary← Head:refactor/bigcapital📝 Commits (2)
127b049refactor(bigcapital): improve docker-compose reliabilityf4ee6adUpdate blueprints/bigcapital/docker-compose.yml📊 Changes
1 file changed (+67 additions, -24 deletions)
View changed files
📝
blueprints/bigcapital/docker-compose.yml(+67 -24)📄 Description
Summary
Improves the Bigcapital docker-compose template for better reliability and Dokploy compatibility.
Changes
Context
Clean resubmission of #578 (closed for inactivity). No review feedback was given on the original — changes are identical.
Testing
Greptile Summary
Refactored Bigcapital template to improve reliability by replacing
portswithexpose, adding database migration init container, and integrating self-contained MinIO for S3 storage.Major improvements:
exposeinstead ofports(Traefik handles external routing)Issues requiring attention:
version: "3.8"declaration violates Dokploy style guide requirementsConfidence Score: 3/5
docker-compose.yml(missing version, port conflicts) and verifytemplate.tomlGotenberg configuration matchesLast reviewed commit:
127b049Context used:
dashboard- AGENTS.md (source)🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.