align the Firecrawl Dokploy template with the current upstream self-hosted architecture
pin Firecrawl source builds to v2.8.0 and switch startup to the upstream harness entrypoint
update the template env model for PostgreSQL and RabbitMQ, and refresh the meta.json entry
What changed
replaced the stale split-process Firecrawl deployment with the current harness-driven api service
added the missing rabbitmq dependency and kept redis, playwright-service, and nuq-postgres
changed Firecrawl-owned services from latest images to remote source builds pinned to v2.8.0
updated Dokploy template variables to use POSTGRES_*, NUQ_RABBITMQ_URL, and current optional Firecrawl envs
pinned the Firecrawl metadata version to v2.8.0
running the required meta processing also removed a pre-existing duplicate strapi entry from meta.json
Root cause
The existing Firecrawl template still launched the old runtime layout using node --import ./dist/src/otel.js .... Upstream Firecrawl now starts through node dist/src/harness.js --start-docker and expects RabbitMQ plus harness-managed workers, so the old Dokploy template crashed with ERR_MODULE_NOT_FOUND for /app/dist/src/otel.js.
Impact
Dokploy users should get a Firecrawl deployment shape that matches current upstream self-hosting instead of the broken legacy image startup path. The template is also now version-pinned instead of following latest.
npm run validate-docker-compose -- --file ../blueprints/firecrawl/docker-compose.yml (from build-scripts/)
npm run validate-template -- --dir ../blueprints/firecrawl (from build-scripts/)
git diff --check
Greptile Summary
This PR aligns the Firecrawl blueprint with the v2.8.0 upstream self-hosted architecture, replacing the broken legacy split-process startup with the harness-driven layout, adding RabbitMQ, and pinning all source builds to the v2.8.0 git tag.
P1: The default NUQ_RABBITMQ_URL (amqp://rabbitmq:5672) omits credentials. RabbitMQ's built-in guest account is restricted to loopback connections, so the api container will receive ACCESS_REFUSED and fail to start. The rabbitmq service needs a configured user and the URL needs matching credentials.
Confidence Score: 3/5
Not safe to merge — the RabbitMQ URL missing credentials will prevent the api service from connecting to RabbitMQ on startup.
One P1 defect: the default AMQP URL has no credentials and RabbitMQ's guest account is blocked from non-localhost connections, meaning the api container will fail to start in a default Dokploy deployment. The rest of the changes are structurally correct and well-aligned with the upstream v2.8.0 layout.
blueprints/firecrawl/docker-compose.yml (rabbitmq service and NUQ_RABBITMQ_URL default) and blueprints/firecrawl/template.toml (NUQ_RABBITMQ_URL default on line 67)
(3/5) Reply to the agent's comments like "Can you suggest a fix for this @greptileai?" or ask follow-up questions!
🔄 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/769
**Author:** [@Manan-Santoki](https://github.com/Manan-Santoki)
**Created:** 4/3/2026
**Status:** 🔄 Open
**Base:** `canary` ← **Head:** `fix/firecrawl-template-v2-8-0`
---
### 📝 Commits (7)
- [`d9c507e`](https://github.com/Dokploy/templates/commit/d9c507e093b32d211a96f6688f1e5eb105b58921) fix: update firecrawl template for v2.8.0
- [`8112a1b`](https://github.com/Dokploy/templates/commit/8112a1b42d91f71d2eb1179ae9b0a1b59c3110f2) fix(firecrawl): use redis 7 alpine
- [`4cb06de`](https://github.com/Dokploy/templates/commit/4cb06dee9d04fe5f99d843a0f6a068a0358cb750) fix(firecrawl): default boolean env values
- [`3ae7042`](https://github.com/Dokploy/templates/commit/3ae70429e61876c478b2b5f23a54bd900e71d23b) fix(firecrawl): use postgres defaults for nuq init
- [`8033481`](https://github.com/Dokploy/templates/commit/80334813e6490a34f0f6051345d0ae8832cb352b) docs(firecrawl): document template env variables
- [`f93a44e`](https://github.com/Dokploy/templates/commit/f93a44e12c6d9ecb72bb8962e89344b3005d579a) fix(firecrawl): default optional env vars to empty
- [`d486003`](https://github.com/Dokploy/templates/commit/d486003df62167c496ea3553131d3953403f92e9) fix(firecrawl): wire supabase auth envs
### 📊 Changes
**3 files changed** (+171 additions, -108 deletions)
<details>
<summary>View changed files</summary>
📝 `blueprints/firecrawl/docker-compose.yml` (+70 -59)
📝 `blueprints/firecrawl/template.toml` (+99 -29)
📝 `meta.json` (+2 -20)
</details>
### 📄 Description
## Summary
- align the Firecrawl Dokploy template with the current upstream self-hosted architecture
- pin Firecrawl source builds to `v2.8.0` and switch startup to the upstream harness entrypoint
- update the template env model for PostgreSQL and RabbitMQ, and refresh the `meta.json` entry
## What changed
- replaced the stale split-process Firecrawl deployment with the current harness-driven `api` service
- added the missing `rabbitmq` dependency and kept `redis`, `playwright-service`, and `nuq-postgres`
- changed Firecrawl-owned services from `latest` images to remote source builds pinned to `v2.8.0`
- updated Dokploy template variables to use `POSTGRES_*`, `NUQ_RABBITMQ_URL`, and current optional Firecrawl envs
- pinned the Firecrawl metadata version to `v2.8.0`
- running the required meta processing also removed a pre-existing duplicate `strapi` entry from `meta.json`
## Root cause
The existing Firecrawl template still launched the old runtime layout using `node --import ./dist/src/otel.js ...`. Upstream Firecrawl now starts through `node dist/src/harness.js --start-docker` and expects RabbitMQ plus harness-managed workers, so the old Dokploy template crashed with `ERR_MODULE_NOT_FOUND` for `/app/dist/src/otel.js`.
## Impact
Dokploy users should get a Firecrawl deployment shape that matches current upstream self-hosting instead of the broken legacy image startup path. The template is also now version-pinned instead of following `latest`.
## Validation
- `node dedupe-and-sort-meta.js`
- `docker compose -f blueprints/firecrawl/docker-compose.yml config`
- `npm run validate-docker-compose -- --file ../blueprints/firecrawl/docker-compose.yml` (from `build-scripts/`)
- `npm run validate-template -- --dir ../blueprints/firecrawl` (from `build-scripts/`)
- `git diff --check`
<!-- greptile_comment -->
<h3>Greptile Summary</h3>
This PR aligns the Firecrawl blueprint with the v2.8.0 upstream self-hosted architecture, replacing the broken legacy split-process startup with the harness-driven layout, adding RabbitMQ, and pinning all source builds to the `v2.8.0` git tag.
- **P1**: The default `NUQ_RABBITMQ_URL` (`amqp://rabbitmq:5672`) omits credentials. RabbitMQ's built-in `guest` account is restricted to loopback connections, so the `api` container will receive `ACCESS_REFUSED` and fail to start. The rabbitmq service needs a configured user and the URL needs matching credentials.
<h3>Confidence Score: 3/5</h3>
Not safe to merge — the RabbitMQ URL missing credentials will prevent the api service from connecting to RabbitMQ on startup.
One P1 defect: the default AMQP URL has no credentials and RabbitMQ's guest account is blocked from non-localhost connections, meaning the api container will fail to start in a default Dokploy deployment. The rest of the changes are structurally correct and well-aligned with the upstream v2.8.0 layout.
blueprints/firecrawl/docker-compose.yml (rabbitmq service and NUQ_RABBITMQ_URL default) and blueprints/firecrawl/template.toml (NUQ_RABBITMQ_URL default on line 67)
<sub>Reviews (1): Last reviewed commit: ["fix(firecrawl): default optional env var..."](https://github.com/dokploy/templates/commit/f93a44e12c6d9ecb72bb8962e89344b3005d579a) | [Re-trigger Greptile](https://app.greptile.com/api/retrigger?id=27331257)</sub>
> Greptile also left **2 inline comments** on this PR.
<sub>(3/5) Reply to the agent's comments like "Can you suggest a fix for this @greptileai?" or ask follow-up questions!</sub>
<!-- /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/769
Author: @Manan-Santoki
Created: 4/3/2026
Status: 🔄 Open
Base:
canary← Head:fix/firecrawl-template-v2-8-0📝 Commits (7)
d9c507efix: update firecrawl template for v2.8.08112a1bfix(firecrawl): use redis 7 alpine4cb06defix(firecrawl): default boolean env values3ae7042fix(firecrawl): use postgres defaults for nuq init8033481docs(firecrawl): document template env variablesf93a44efix(firecrawl): default optional env vars to emptyd486003fix(firecrawl): wire supabase auth envs📊 Changes
3 files changed (+171 additions, -108 deletions)
View changed files
📝
blueprints/firecrawl/docker-compose.yml(+70 -59)📝
blueprints/firecrawl/template.toml(+99 -29)📝
meta.json(+2 -20)📄 Description
Summary
v2.8.0and switch startup to the upstream harness entrypointmeta.jsonentryWhat changed
apiservicerabbitmqdependency and keptredis,playwright-service, andnuq-postgreslatestimages to remote source builds pinned tov2.8.0POSTGRES_*,NUQ_RABBITMQ_URL, and current optional Firecrawl envsv2.8.0strapientry frommeta.jsonRoot cause
The existing Firecrawl template still launched the old runtime layout using
node --import ./dist/src/otel.js .... Upstream Firecrawl now starts throughnode dist/src/harness.js --start-dockerand expects RabbitMQ plus harness-managed workers, so the old Dokploy template crashed withERR_MODULE_NOT_FOUNDfor/app/dist/src/otel.js.Impact
Dokploy users should get a Firecrawl deployment shape that matches current upstream self-hosting instead of the broken legacy image startup path. The template is also now version-pinned instead of following
latest.Validation
node dedupe-and-sort-meta.jsdocker compose -f blueprints/firecrawl/docker-compose.yml confignpm run validate-docker-compose -- --file ../blueprints/firecrawl/docker-compose.yml(frombuild-scripts/)npm run validate-template -- --dir ../blueprints/firecrawl(frombuild-scripts/)git diff --checkGreptile Summary
This PR aligns the Firecrawl blueprint with the v2.8.0 upstream self-hosted architecture, replacing the broken legacy split-process startup with the harness-driven layout, adding RabbitMQ, and pinning all source builds to the
v2.8.0git tag.NUQ_RABBITMQ_URL(amqp://rabbitmq:5672) omits credentials. RabbitMQ's built-inguestaccount is restricted to loopback connections, so theapicontainer will receiveACCESS_REFUSEDand fail to start. The rabbitmq service needs a configured user and the URL needs matching credentials.Confidence Score: 3/5
Not safe to merge — the RabbitMQ URL missing credentials will prevent the api service from connecting to RabbitMQ on startup.
One P1 defect: the default AMQP URL has no credentials and RabbitMQ's guest account is blocked from non-localhost connections, meaning the api container will fail to start in a default Dokploy deployment. The rest of the changes are structurally correct and well-aligned with the upstream v2.8.0 layout.
blueprints/firecrawl/docker-compose.yml (rabbitmq service and NUQ_RABBITMQ_URL default) and blueprints/firecrawl/template.toml (NUQ_RABBITMQ_URL default on line 67)
Reviews (1): Last reviewed commit: "fix(firecrawl): default optional env var..." | Re-trigger Greptile
(3/5) Reply to the agent's comments like "Can you suggest a fix for this @greptileai?" or ask follow-up questions!
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.