Skip to content

feat: add Rustrak template#741

Open
AbianS wants to merge 8 commits intoDokploy:canaryfrom
AbianS:add-rustrak-template
Open

feat: add Rustrak template#741
AbianS wants to merge 8 commits intoDokploy:canaryfrom
AbianS:add-rustrak-template

Conversation

@AbianS
Copy link

@AbianS AbianS commented Mar 9, 2026

Description

Adds a deployment template for Rustrak, an ultra-lightweight, self-hosted error tracking system compatible with Sentry SDKs.

  • Server: Rust/Actix-web backend with SQLite (bundled, zero external DB dependency)
  • UI: Next.js dashboard for browsing issues and events
  • Docker images: abians7/rustrak-server:latest + abians7/rustrak-ui:latest

Services

Service Image Port
rustrak abians7/rustrak-server:latest 8080
ui abians7/rustrak-ui:latest 3000

What gets configured automatically

  • Two domains: one for the UI (ui), one for the API (rustrak)
  • A random 64-char session secret key (SESSION_SECRET_KEY)
  • A bootstrap admin user with a random password via CREATE_SUPERUSER
  • SQLite data persisted in a named volume (rustrak-data:/data)
  • SSL_PROXY=true since Dokploy terminates SSL via its reverse proxy

Files added

blueprints/rustrak/
├── docker-compose.yml
├── template.toml
└── rustrak.svg

Testing notes

⚠️ I will test this using the auto-generated Cloudflare preview URL once CI builds it. Steps:

  1. Find the Rustrak template in the preview
  2. Copy the Base64 config
  3. In Dokploy: Compose > Advanced > Import > Paste Base64 > Deploy
  4. Verify both services start, UI loads, and login with the bootstrap credentials works

Related

Greptile Summary

This PR adds a new Rustrak template (a self-hosted Sentry-compatible error tracking tool with a Rust backend and Next.js UI) to the Dokploy template library. The template.toml and SVG logo are well-formed and follow project conventions, but there are three issues that need to be addressed before merging:

  • ports instead of expose in docker-compose.yml: Both the rustrak and ui services declare ports mappings, which is explicitly prohibited by the project guidelines. Dokploy manages all routing via its reverse proxy, so expose must be used instead.
  • Unpinned Docker image tags: Both abians7/rustrak-server:latest and abians7/rustrak-ui:latest use :latest, violating the guideline to pin images to a specific version to prevent supply-chain attacks. The version field in meta.json should also reflect the pinned tag rather than "latest".
  • Accidental deletion of the Strapi meta.json entry: The existing Strapi template entry was removed from meta.json in this PR. The blueprint files still exist on disk but Strapi will be invisible to users until the entry is restored. This was likely an unintended side-effect of running dedupe-and-sort-meta.js or a manual merge conflict resolution.

Confidence Score: 1/5

  • Not safe to merge — accidental deletion of the Strapi registry entry and ports convention violation must be fixed first.
  • The accidental removal of the Strapi entry from meta.json is a regression that would break an existing, working template for all users. The ports directive is a clear guidelines violation that would cause incorrect networking behaviour in Dokploy deployments.
  • meta.json (Strapi deletion) and blueprints/rustrak/docker-compose.yml (portsexpose, unpinned images).

Last reviewed commit: bc7879f

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:

  • Rule used - AGENTS.md (source)

@dosubot dosubot bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Mar 9, 2026
@github-actions
Copy link

github-actions bot commented Mar 9, 2026

built with Refined Cloudflare Pages Action

⚡ Cloudflare Pages Deployment

Name Status Preview Last Commit
templates ✅ Ready (View Log) Visit Preview fba1831

@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. and removed size:M This PR changes 30-99 lines, ignoring generated files. labels Mar 9, 2026
@dosubot dosubot bot added size:M This PR changes 30-99 lines, ignoring generated files. and removed size:L This PR changes 100-499 lines, ignoring generated files. labels Mar 9, 2026
@AbianS
Copy link
Author

AbianS commented Mar 9, 2026

Re: Strapi entry was accidentally deleted

The strapi entry was not accidentally deleted — it still exists in meta.json at its correct alphabetical position. What was removed is a pre-existing duplicate of strapi that already exists in the canary branch (two identical entries with "id": "strapi").

The validate-meta CI check requires running node dedupe-and-sort-meta.js before submitting, which is exactly what removed the duplicate. Strapi remains in the registry — you can verify with:

grep -c '"id": "strapi"' meta.json  # returns 1

This duplicate in canary is a pre-existing issue unrelated to this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new-template size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant