TaskNebula is an open-source issue tracker for teams that want Linear-style speed, Jira-style depth, and optional AI assistance without giving up control of their data. Run it with Docker, bring your own OpenAI or Anthropic key, or keep AI disabled and use the built-in native planner.
Quick start · Mobile app · Features · Docker image · Deployment · Docs
Pick the path that matches where you are deploying.
| Path | Best for | Command |
|---|---|---|
| One-command Docker | Fresh Linux VM or homelab server | curl -fsSL https://raw.githubusercontent.com/neuraparse/tasknebula/main/scripts/quickstart.sh | bash |
| Docker Desktop | Local Mac, Windows, or Linux PC | curl -fsSLo compose.yml https://raw.githubusercontent.com/neuraparse/tasknebula/main/docker-compose.desktop.yml && docker compose up -d |
| Pinned production | Repeatable self-hosted releases | TASKNEBULA_IMAGE=neuraparse/tasknebula:<tag> docker compose up -d |
| Source build | Local development or patching | docker compose up -d --build |
After boot, open http://localhost:3000 and finish the first-run admin wizard.
./scripts/tasknebula-backup.sh
docker compose pull web && docker compose up -d
TASKNEBULA_IMAGE=neuraparse/tasknebula:<tag> docker compose up -dFor production hardening, reverse proxy setup, LiveKit, SMTP, OAuth, backups, and self-update details, use docs/DEPLOYMENT.md.
| Area | Highlights |
|---|---|
| Project management | Kanban, backlog, sprints, epics, subtasks, custom fields, issue links, attachments, imports |
| Collaboration | Comments, mentions, watchers, reactions, docs, project chat, presence, email notifications |
| AI assistance | Draft-with-AI, per-issue assist, native fallback planner, agent activity, approval gates |
| Admin & governance | Multi-org roles, granular permissions, audit logs, registration controls, webhooks, API keys |
| Analytics | Burndown, velocity, cycle time, throughput, project health, time-in-status, dashboard cards |
| Self-hosting | Docker-first deploy, Postgres, Redis, health checks, optional LiveKit and cron sidecar |
Importers currently cover Jira, Linear, GitHub, and CSV.
- AI is opt-in. Configure workspace or platform keys from the admin UI. OpenAI and Anthropic are supported, and the native planner works without an external LLM.
- Self-hosted by default. Your app, database, Redis, uploads, and optional voice server run in your own environment.
- 30 languages included. Browser/device auto-detection, persisted language choice, native-name switching, and RTL support for Arabic and Hebrew are built in.
Native mobile apps are on the way. Availability details will be shared when they are ready.
| Item | Value |
|---|---|
| Repository | neuraparse/tasknebula |
| Recommended tag | latest for demos; use a release tag for repeatable installs |
| Platform | linux/amd64 |
| Runtime port | 3000 |
| Health endpoint | GET /api/health |
| Required services | PostgreSQL 16 + pgvector, Redis 7 |
| Optional services | LiveKit voice rooms, cron sidecar, SMTP, OAuth providers, OpenAI / Anthropic keys |
| Inspect digest | docker buildx imagetools inspect neuraparse/tasknebula:<tag> |
TaskNebula is designed around a small production surface:
web: Next.js standalone runtimepostgres: PostgreSQL 16 with pgvectorredis: cache, realtime fan-out, and background coordination- optional
livekit: voice rooms - optional
cron: scheduled standup, janitor, and version-check jobs
Common commands:
docker compose up -d
docker compose ps
curl -fsS http://localhost:3000/api/health
docker compose logs -f webUse TASKNEBULA_IMAGE=neuraparse/tasknebula:<tag> when you want a pinned,
repeatable deployment. Use latest only for quick demos.
| Need | Link |
|---|---|
| Full release history | CHANGELOG.md |
| Deployment guide | docs/DEPLOYMENT.md |
| Architecture | docs/ARCHITECTURE.md |
| Roadmap | docs/ROADMAP_2026.md |
| Release process | docs/RELEASE.md |
| Contributing | CONTRIBUTING.md |
| AI agent/project guide | CLAUDE.md |
pnpm install
docker compose up -d postgres redis
cp .env.example .env
cp apps/web/.env.example apps/web/.env.local
pnpm db:migrate
pnpm devBefore pushing code, run:
pnpm type-check
pnpm lint
pnpm testMIT. See LICENSE.
Built by Neura Parse · Powered by open source