Issue tracking that stays yours.
Source-available ticket and project tracker — none of the Jira bloat, all of the workflow you actually need. Self-host on a $5 VPS, or let us run it for you. Same code either way.
# 60-second install git clone https://github.com/joshhearne/resolvd.git cd resolvd cp .env.example .env # edit secrets docker compose up -d --build
Everything you'd expect. Nothing you wouldn't.
Built for engineering, support, and ops teams who've outgrown a spreadsheet but don't want to onboard a sales rep.
Projects & Tickets
Scoped projects with custom prefixes (WEB-0042). Priority levels P1–P5, custom statuses, internal/external modes.
Flexible Auth
Microsoft Entra ID, Google OAuth, or local accounts with Argon2. Mix and match. TOTP MFA enforceable per role.
Email Notifications
Microsoft Graph, Gmail API, or plain SMTP. Followers notified on status changes and new comments. Admins pinged on Pending Review.
Real Collaboration
Comments, @mentions, followers, attachments up to 50 MB. Bulk export, CSV import, audit trail.
Roles & Permissions
Admin, Manager, Submitter, Viewer — with per-project overrides for vendors and external collaborators.
Custom Branding
Your logo, your color, your site name. Drop-in replacement for the default look.
Docker-Native
Three services: Postgres, Node backend, React frontend. One docker compose up and you're running.
Source-available
FSL-1.1 — free to self-host, free for internal commercial use. Auto-converts to Apache 2.0 after 2 years.
Boring stack. On purpose.
No bespoke runtimes, no exotic databases, no proprietary protocols. Components you already know how to operate, monitor, and back up.
- →Postgres 16 for everything: tickets, sessions, branding config.
pg_dumpis your full backup. - →Node + Express backend. Argon2 hashing, express-session, Multer uploads.
- →React + Vite + Tailwind frontend, served by nginx in a 30 MB Alpine image.
- →Bring your own TLS — Caddy, nginx, Cloudflare Tunnel, whatever you already run.
postgres: postgres:16-alpine
backend: node 22 + express
frontend: nginx alpine
nginx: internal router
▸ volumes: pg-data, uploads
▸ total RAM: ~400 MB idle
Run it your way.
Same source-available code in both directions. Pick the ops tradeoff you want.
Run it on your own hardware.
Your data, your VPS, your homelab. Docker compose up and you're running. Source-available under FSL-1.1 — free to self-host, fork, and audit.
- ✓ Full source on GitHub
- ✓ Install wizard or manual setup
- ✓ Community support
We run it. You file tickets.
Don't want to run a server? We'll host it for you. Flat per-instance pricing, automated backups, custom domain. Same code as the self-hosted build.
- ✓ Daily backups, managed updates
- ✓ Flat pricing — no per-seat tax
- ✓ Export your data anytime