[PR #741] feat: add Rustrak template #5059

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

📋 Pull Request Information

Original PR: https://github.com/Dokploy/templates/pull/741
Author: @AbianS
Created: 3/9/2026
Status: 🔄 Open

Base: canaryHead: add-rustrak-template


📝 Commits (8)

  • 2d39d8c feat: add Rustrak template
  • dd1e957 fix: update Rustrak docs link to official documentation site
  • bc7879f fix: update Rustrak website link
  • 0787f5b fix: use surgical insert to avoid unicode escaping other entries
  • 293f5bd fix: run dedupe-and-sort-meta to pass validate-meta CI check
  • bcb4aa7 fix: pin image versions and replace ports with expose
  • 75038df fix: restore canary meta.json state, only add rustrak entry
  • fba1831 fix: run dedupe-and-sort-meta to pass validate-meta CI check

📊 Changes

4 files changed (+75 additions, -18 deletions)

View changed files

blueprints/rustrak/docker-compose.yml (+30 -0)
blueprints/rustrak/rustrak.svg (+5 -0)
blueprints/rustrak/template.toml (+23 -0)
📝 meta.json (+17 -18)

📄 Description

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

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)

🔄 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/741 **Author:** [@AbianS](https://github.com/AbianS) **Created:** 3/9/2026 **Status:** 🔄 Open **Base:** `canary` ← **Head:** `add-rustrak-template` --- ### 📝 Commits (8) - [`2d39d8c`](https://github.com/Dokploy/templates/commit/2d39d8c1e32ec18ddf394b540ffa1e5f038330ac) feat: add Rustrak template - [`dd1e957`](https://github.com/Dokploy/templates/commit/dd1e957e520b81036a78447d6e3b3da3af8419a2) fix: update Rustrak docs link to official documentation site - [`bc7879f`](https://github.com/Dokploy/templates/commit/bc7879fcbb8e124e56b68ef36bbc079fe303ef0a) fix: update Rustrak website link - [`0787f5b`](https://github.com/Dokploy/templates/commit/0787f5b5ed9be9c8e189fe63081d451af11e862b) fix: use surgical insert to avoid unicode escaping other entries - [`293f5bd`](https://github.com/Dokploy/templates/commit/293f5bd6e32035205514555a3dd706072592434b) fix: run dedupe-and-sort-meta to pass validate-meta CI check - [`bcb4aa7`](https://github.com/Dokploy/templates/commit/bcb4aa712fac44c90398024b29fdc293b19648c4) fix: pin image versions and replace ports with expose - [`75038df`](https://github.com/Dokploy/templates/commit/75038df122ea7b5f1b444709a2fd35270fb04abf) fix: restore canary meta.json state, only add rustrak entry - [`fba1831`](https://github.com/Dokploy/templates/commit/fba18315ee71ed2fed7588aebc80a435889b5d61) fix: run dedupe-and-sort-meta to pass validate-meta CI check ### 📊 Changes **4 files changed** (+75 additions, -18 deletions) <details> <summary>View changed files</summary> ➕ `blueprints/rustrak/docker-compose.yml` (+30 -0) ➕ `blueprints/rustrak/rustrak.svg` (+5 -0) ➕ `blueprints/rustrak/template.toml` (+23 -0) 📝 `meta.json` (+17 -18) </details> ### 📄 Description ## 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 - GitHub repo: https://github.com/AbianS/rustrak - Closes: N/A <!-- greptile_comment --> <h3>Greptile Summary</h3> 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. <h3>Confidence Score: 1/5</h3> - 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` (`ports` → `expose`, unpinned images). <sub>Last reviewed commit: bc7879f</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:** - Rule 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-05-06 17:53:49 -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#5059