Skip to main content
Glama

DevPanel

A local project panel for SaaS builds — planning and ops in one place. Single user, localhost-first, dark sci-fi/HUD UI. See SPEC.md for the full design.

A left sidebar switches between five views:

  • Plan — kanban (Todo / Pågår / Blockerad / Klar), task cards with prio / AI / dependency badges, milestones, decisions, idea inbox. 🕐 on a card creates a reminder.

  • Ops — service health grid (uptime / latency / cost), open-incident banner + runbooks, deploys, cert status, backup age, cost-trend sparklines.

  • Filer — per-project file manager: folder tree, create .txt/.md, inline editor (save = new version), version history + restore, drag-and-drop upload, streamed download. Blobs live in SQLite.

  • AI — Ollama-driven suggestions (prioritize / new task / move / question). Accept executes the action; questions get a free-text answer fed back as context.

  • Inställningar — Ollama model + auto-analyze toggle, SMTP form (Gmail preset + test button).

Plus a Secrets modal (AES-256-GCM at rest, key from a master password via argon2id — AI/MCP never see values, only {name, scope, age}) and a global reminders widget with badge + toast for due items.

Three processes: api (Hono, serves the built web UI), worker (health poll + daily alerts + 30-min AI auto-analyze + per-minute reminders), mcp (stdio, spawned by Claude Code). One SQLite DB. Ollama runs locally (127.0.0.1:11434).

Architecture

  • api — Hono on 127.0.0.1:8899, REST mirror of the MCP tools + secrets endpoints, and serves web/dist.

  • worker — polls each service's health_url every 60s; daily cron alerts on cert expiry, secret age, stale backups and cost overruns (via ntfy).

  • mcp — the same tools over stdio for Claude Code; every AI write is logged to activity_log tagged source='ai'.

  • web — Vite + React SPA, built to web/dist and served by the api.

Related MCP server: SafeFlo

Setup

# 1. config
cp .env.example .env            # tweak if needed; defaults are fine for localhost

# 2. install + build
npm install
cd web && npm install && npm run build && cd ..

# 3. run (pm2)
pm2 start ecosystem.config.cjs
pm2 save                        # persist across reboots (after `pm2 startup`)

Open http://127.0.0.1:8899. The database is created on first run at data/panel.db (override with DB_PATH).

Dev mode with hot reload: cd web && npm run dev (proxies /api to the running api on 8899).

Remote access (optional)

The api binds loopback only. To reach it remotely, front it with Cloudflare Access over a tunnel — see cloudflared/config.example.yml. SSH port-forwarding (ssh -L 8899:127.0.0.1:8899 host) also works.

Configuration

All configuration is via .env (see .env.example) — no hardcoded paths. Nothing secret lives in any config file; the master password is entered at unlock time and only its derived key is held in memory, for 5 minutes.

  • Ollama (OLLAMA_URL, OLLAMA_MODEL) — local only; auto-analyze is toggled at runtime in Inställningar (default off).

  • Email (SMTP_HOST/PORT/USER/PASS/FROM) — for reminders. Prefer setting the password in .env over the UI (a UI-saved password is stored in the DB in plaintext, redacted only from API responses).

Security notes

  • Secret values never appear in get_context, logs, or API responses without an unlocked session.

  • Bind 127.0.0.1; expose only via Cloudflare Access or an SSH tunnel. Ollama is never exposed externally.

  • MCP read_file serves text mimes only, ≤100kb, and never secrets.

  • .env, data/, and tunnel credentials are git-ignored — keep them that way.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pierreosbeck-cmd/devpanel'

If you have feedback or need assistance with the MCP directory API, please join our Discord server