Space-Banane 791126cdd0
All checks were successful
docker / test (push) Successful in 13s
docker / build-and-push (push) Successful in 1m23s
backend: close P1 data model and create-flow issues
2026-05-20 22:40:32 +02:00
2026-05-20 21:42:41 +02:00
2026-05-20 20:36:28 +02:00
2026-05-20 20:36:28 +02:00
2026-05-20 20:36:28 +02:00
2026-05-20 20:36:28 +02:00
2026-05-20 20:36:28 +02:00
2026-05-20 20:36:28 +02:00
2026-05-20 20:36:28 +02:00

Jellomator

Dark dashboard for Arr* services and custom links.

Features

  • First-run admin setup
  • Cookie-based admin auth
  • Health endpoint at /healthz
  • Readiness endpoint at /readyz (optional DB write probe)
  • Public dashboard with search/filter
  • Dedicated protected admin page at /admin
  • Link CRUD backed by MariaDB
  • Icon blobs stored in the database
  • Containerized app deployment (requires MariaDB)
  • Admin-managed service links

Local Dev

npm install
pip install -r backend/requirements.txt
npm run dev

Backend runs on http://localhost:6363.

Open /admin for the protected management page. Ensure MariaDB is running and reachable by the backend DB_* variables.

Docker

docker compose up --build

The app expects a MariaDB instance configured through environment variables.

Health Endpoints

  • GET /healthz returns {"ok": true} when the app process is up
  • GET /readyz returns {"ok": true} when database checks pass
  • GET /readyz?write_test=true additionally verifies DB writes using a temporary table
  • SESSION_TTL_SECONDS (default: 86400)
  • SESSION_ROTATE_SECONDS (default: 3600, rotate active session token when exceeded)
  • SESSION_COOKIE_SECURE (default: false, set true in production HTTPS)
  • REQUIRE_CSRF (default: false, checks same-origin/same-referer for write routes when enabled)
  • LOGIN_MAX_ATTEMPTS (default: 5)
  • LOGIN_WINDOW_SECONDS (default: 300)
  • LOGIN_LOCKOUT_SECONDS (default: 900)
  • MAX_NAME_LEN (default: 255)
  • MAX_CATEGORY_LEN (default: 255)
  • MAX_DESCRIPTION_LEN (default: 2000)
  • MAX_ICON_URL_LEN (default: 2048)
  • MAX_ICON_BYTES (default: 2097152)
  • USERNAME_MAX_LEN (default: 64)
  • PASSWORD_MIN_LEN (default: 12)

Gitea CI/CD

Add these secrets in Gitea:

  • REGISTRY
  • REGISTRY_USERNAME
  • REGISTRY_PASSWORD
  • IMAGE_NAME

The workflow builds and pushes latest plus the commit SHA tag.

Description
Shortcuts for your Arr* Suite
Readme 1.4 MiB
Languages
Python 58.4%
TypeScript 34.8%
CSS 3%
Dockerfile 1.4%
HTML 1.3%
Other 1.1%