01One-command Docker
Fresh Linux VM or homelab box
Command
shellcurl -fsSL https://raw.githubusercontent.com/neuraparse/taskNebula/main/scripts/quickstart.sh | bashTaskNebula's repo is Docker-first: published image, PostgreSQL 16 with pgvector, Redis 7, optional LiveKit voice rooms, optional cron sidecar, health checks, and explicit update paths.

FIG 01 · Dashboard — Standup, catch-up, analytics, deadlines, pinned work, and recent activity.
v0.7.11
Latest release
30
Locales
36
GitHub stars · 12 Jul 2026
MIT
License
The README separates a fresh Linux VM, local Docker Desktop demo, pinned production release, and source build. The public page should do the same instead of pretending one command fits every operator.
01One-command Docker
Command
shellcurl -fsSL https://raw.githubusercontent.com/neuraparse/taskNebula/main/scripts/quickstart.sh | bash02Docker Desktop
Command
shellcurl -fsSLo compose.yml https://raw.githubusercontent.com/neuraparse/taskNebula/main/docker-compose.desktop.yml && docker compose up -d03Pinned production
Command
shellTASKNEBULA_IMAGE=neuraparse/tasknebula:0.7.11 docker compose up -d04Source build
Command
shellgit clone https://github.com/neuraparse/taskNebula.git && cd taskNebula && docker compose up -d --buildThe production Compose file keeps core services always-on and gates automation behind profiles. That reduces surprise-on services for first-time self-hosters.
01Published image first
The default production path pulls neuraparse/tasknebula, while source builds stay available for teams patching the repo.
02Localhost-bound services
The production Compose file binds database, Redis, and web ports to 127.0.0.1 by default so a reverse proxy can own the public edge.
03No Docker socket in web
Self-update is deliberately a signed handoff to an operator-managed updater. The app container does not need Docker socket access.
PostgreSQL 16 + pgvector
persistent volume
Redis 7 with password
cache + pub/sub
Optional LiveKit
voice rooms
TaskNebula web
GET /api/health
Optional cron sidecar
standup/janitor/version-check
TaskNebula's self-host story is strongest when it says exactly what should be pinned, generated, backed up, exposed, and checked.
Pin TASKNEBULA_IMAGE=neuraparse/tasknebula:0.7.11 outside quick demos.
Generate AUTH_SECRET, REDIS_PASSWORD, and LIVEKIT_API_SECRET per install.
Keep Compose ports bound to 127.0.0.1 and expose through TLS reverse proxy.
Back up postgres_data, redis_data, and uploads_data.
Pull image, restart, then verify GET /api/health.
Enable cron only with docker compose --profile cron up -d cron.
Prefer Admin -> Agent control and workspace settings over long-lived env keys.
The app can detect Docker Hub image pushes, notify super-admins, and send an opt-in signed handoff to an external updater. Manual Docker commands remain first-class.
Pinned update command
shelldocker compose pull web && docker compose up -d
curl -fsS http://localhost:3000/api/healthVerified from docker-compose.yml, docker-compose.desktop.yml, and the README on June 23, 2026. Deploy ports stay localhost-bound by default and the web container does not receive Docker socket access.
TaskNebula is positioned as the self-hostable project-management control plane for teams that want inspectable operations, not another black-box SaaS.