feat: add rustrak and rustrak-full templates (#866)

* feat: add rustrak and rustrak-full templates

- rustrak: server-only with SQLite, single service, no external DB
- rustrak-full: server + Next.js dashboard + PostgreSQL
Both use abians7/rustrak-server:v0.2.1, Sentry-compatible error tracking

* chore: update rustrak logo to new design
This commit is contained in:
Abian Suarez
2026-07-07 23:44:33 +02:00
committed by GitHub
parent 3829b188d8
commit 641fd75bf7
7 changed files with 164 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
version: "3.8"
services:
rustrak-server:
image: abians7/rustrak-server:v0.2.1-postgres
restart: unless-stopped
environment:
- HOST=0.0.0.0
- PORT=8080
- RUST_LOG=info
- SSL_PROXY=true
- DATABASE_URL=postgres://rustrak:${POSTGRES_PASSWORD}@postgres:5432/rustrak
- SESSION_SECRET_KEY=${SESSION_SECRET_KEY}
- CREATE_SUPERUSER=${CREATE_SUPERUSER}
ports:
- 8080
depends_on:
postgres:
condition: service_healthy
rustrak-ui:
image: abians7/rustrak-ui:v0.1.6
restart: unless-stopped
environment:
- RUSTRAK_API_URL=${RUSTRAK_API_URL}
ports:
- 3000
depends_on:
- rustrak-server
postgres:
image: postgres:16-alpine
restart: unless-stopped
environment:
- POSTGRES_USER=rustrak
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=rustrak
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U rustrak -d rustrak"]
interval: 10s
timeout: 5s
retries: 5
expose:
- 5432
volumes:
postgres_data:

View File

@@ -0,0 +1,6 @@
<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg">
<rect width="512" height="512" rx="96" fill="#C5F11E"/>
<polygon points="274,90 108,291 256,291 238,422 404,221 256,221"
fill="#0A0A0A" stroke="#0A0A0A" stroke-width="20"
stroke-linejoin="round" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 314 B

View File

@@ -0,0 +1,27 @@
[variables]
main_domain = "${domain}"
api_domain = "${domain}"
postgres_password = "${password:32}"
session_secret_key = "${password:64}"
admin_email = "${email}"
admin_password = "${password:16}"
create_superuser = "${admin_email}:${admin_password}"
rustrak_api_url = "https://${api_domain}"
[config]
env = [
"POSTGRES_PASSWORD=${postgres_password}",
"SESSION_SECRET_KEY=${session_secret_key}",
"CREATE_SUPERUSER=${create_superuser}",
"RUSTRAK_API_URL=${rustrak_api_url}",
]
[[config.domains]]
serviceName = "rustrak-ui"
port = 3000
host = "${main_domain}"
[[config.domains]]
serviceName = "rustrak-server"
port = 8080
host = "${api_domain}"

View File

@@ -0,0 +1,20 @@
version: "3.8"
services:
rustrak:
image: abians7/rustrak-server:v0.2.1
restart: unless-stopped
environment:
- HOST=0.0.0.0
- PORT=8080
- RUST_LOG=info
- SSL_PROXY=true
- SESSION_SECRET_KEY=${SESSION_SECRET_KEY}
- CREATE_SUPERUSER=${CREATE_SUPERUSER}
volumes:
- rustrak_data:/data
ports:
- 8080
volumes:
rustrak_data:

View File

@@ -0,0 +1,6 @@
<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg">
<rect width="512" height="512" rx="96" fill="#C5F11E"/>
<polygon points="274,90 108,291 256,291 238,422 404,221 256,221"
fill="#0A0A0A" stroke="#0A0A0A" stroke-width="20"
stroke-linejoin="round" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 314 B

View File

@@ -0,0 +1,17 @@
[variables]
main_domain = "${domain}"
session_secret_key = "${password:64}"
admin_email = "${email}"
admin_password = "${password:16}"
create_superuser = "${admin_email}:${admin_password}"
[config]
env = [
"SESSION_SECRET_KEY=${session_secret_key}",
"CREATE_SUPERUSER=${create_superuser}",
]
[[config.domains]]
serviceName = "rustrak"
port = 8080
host = "${main_domain}"

View File

@@ -6127,6 +6127,45 @@
"rust"
]
},
{
"id": "rustrak",
"name": "Rustrak",
"version": "0.2.1",
"description": "Self-hosted error tracking compatible with Sentry SDKs. Server only, written in Rust with <100MB memory footprint and SQLite storage. No external database required.",
"logo": "rustrak.svg",
"links": {
"github": "https://github.com/AbianS/rustrak",
"website": "https://abians.github.io/rustrak/",
"docs": "https://abians.github.io/rustrak/"
},
"tags": [
"monitoring",
"error-tracking",
"sentry",
"rust",
"observability"
]
},
{
"id": "rustrak-full",
"name": "Rustrak (Full Stack)",
"version": "0.2.1",
"description": "Self-hosted error tracking compatible with Sentry SDKs. Includes server, web dashboard UI, and PostgreSQL. Written in Rust with <100MB memory footprint.",
"logo": "rustrak.svg",
"links": {
"github": "https://github.com/AbianS/rustrak",
"website": "https://abians.github.io/rustrak/",
"docs": "https://abians.github.io/rustrak/"
},
"tags": [
"monitoring",
"error-tracking",
"sentry",
"rust",
"observability",
"postgresql"
]
},
{
"id": "rutorrent",
"name": "ruTorrent",