Vibe Kanban
★ 28.5kA self-hosted alternative to Conductor
Apache License 2.0Open Source — No Paywall6 Containers — 6 containers — moderate hosting footprintPackage · SourceNeeds PostgresTelemetry: Opt-Out19+ active committers (12mo)
About
Vibe Kanban is a self-hostable kanban-style workspace designed to help software teams plan and review work done by coding agents. It is aimed at developers who use tools like Claude Code, Gemini CLI,...
Community Ratings
No ratings yetNew this week
Read recap →Weekly Recap — Oct 16, 2026 – Oct 23, 2026Oct 23, 2026
Features
- kanban issue planning
- agent workspaces with branch/terminal/dev server
- diff review and inline comments
- built-in browser preview with devtools and device emulation
- switching between 10+ coding agents
- pull request creation and merging
- remote SSH editor integration
- reverse proxy/custom domain support
- relay tunnel mode
Details
- Last Updated
- Oct 28, 2026
- Created
- Jun 14, 2025
- Install Methods
- package-managersource
- Requirements
- RustNode.js >=20pnpm >=8Git worktreePostHog analytics API key/endpoint (optional build-time configuration)SSH access for remote editor integration
- Authentication
- local
- API
- REST
- Backup & Export
- file-backup
- Privacy & Independence
- Telemetry: Opt-outCloud: Optional
- User Model
- Multi-User
- Deployment
Deployment: Docker Compose ✓6 Containers — moderate hosting footprintRuns as 6 containers
Run Vibe Kanban with Docker Compose
Compose file from the Vibe Kanban project repository.
6 services · database: postgres · infra: postgres · 3 unclassified (azurite, azure-cli, electric)
no resource limits declared
needs persistent storage (3 volumes)
crates/remote/docker-compose.yml · @ 7c38070 · scanned Oct 28, 2026
# Self-hosting: set PUBLIC_BASE_URL to your public URL (e.g. https://kanban.example.com)
# and REMOTE_SERVER_PORTS=0.0.0.0:3000:8081 so the server is reachable from other hosts.
services:
remote-db:
image: postgres:16-alpine
command: [ "postgres", "-c", "wal_level=logical" ]
environment:
POSTGRES_DB: remote
POSTGRES_USER: remote
POSTGRES_PASSWORD: remote
volumes:
- remote-db-data:/var/lib/postgresql/data
healthcheck:
test: [ "CMD-SHELL", "pg_isready -U remote -d remote" ]
interval: 5s
timeout: 5s
retries: 5
start_period: 5s
ports:
- "5433:5432"
azurite:
profiles: ["attachments"]
image: mcr.microsoft.com/azure-storage/azurite:latest
command: "azurite-blob --blobHost 0.0.0.0 --blobPort 10000 --loose --skipApiVersionCheck"
ports:
- "10000:10000"
volumes:
- azurite-data:/data
healthcheck:
test: nc 127.0.0.1 10000 -z
interval: 1s
retries: 30
azurite-init:
profiles: ["attachments"]
image: mcr.microsoft.com/azure-cli:latest
depends_on:
azurite:
condition: service_healthy
environment:
AZURE_STORAGE_CONNECTION_STRING: "DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://azurite:10000/devstoreaccount1;"
entrypoint: /bin/sh
command:
- -c
- |
set -e
az storage container create --name issue-attachments 2>/dev/null || true
az storage cors add --services b --methods GET PUT POST DELETE OPTIONS --origins '*' --allowed-headers '*' --exposed-headers '*' --max-age 3600
echo "Azurite CORS configured"
electric:
image: electricsql/electric:1.4.13
working_dir: /app
restart: on-failure
environment:
DATABASE_URL: postgresql://electric_sync:${ELECTRIC_ROLE_PASSWORD:-remote}@remote-db:5432/remote?sslmode=disable
PG_PROXY_PORT: 65432
LOGICAL_PUBLISHER_HOST: electric
AUTH_MODE: insecure
ELECTRIC_INSECURE: true
ELECTRIC_MANUAL_TABLE_PUBLISHING: true
ELECTRIC_USAGE_REPORTING: false
ELECTRIC_FEATURE_FLAGS: allow_subqueries,tagged_subqueries
volumes:
- electric-data:/app/persistent
depends_on:
remote-db:
condition: service_healthy
remote-server:
condition: service_healthy
remote-server:
build:
context: ../..
dockerfile: crates/remote/Dockerfile
args:
# Build-time image/frontend args.
FEATURES: ${FEATURES:-}
POSTHOG_API_KEY: ${POSTHOG_API_KEY:-}
POSTHOG_API_ENDPOINT: ${POSTHOG_API_ENDPOINT:-}
SENTRY_DSN_REMOTE: ${SENTRY_DSN_REMOTE:-}
VITE_RELAY_API_BASE_URL: ${VITE_RELAY_API_BASE_URL:-http://localhost:8082}
VITE_PUBLIC_REACT_VIRTUOSO_LICENSE_KEY: ${VITE_PUBLIC_REACT_VIRTUOSO_LICENSE_KEY:-}
ssh:
- default
depends_on:
remote-db:
condition: service_healthy
azurite-init:
condition: service_completed_successfully
required: false
environment:
RUST_LOG: info,remote=info
# Core runtime
SERVER_DATABASE_URL: postgres://remote:remote@remote-db:5432/remote
SERVER_LISTEN_ADDR: 0.0.0.0:8081
ELECTRIC_URL: http://electric:3000
ELECTRIC_ROLE_PASSWORD: ${ELECTRIC_ROLE_PASSWORD:-remote}
SERVER_PUBLIC_BASE_URL: ${PUBLIC_BASE_URL:-http://localhost:3000}
VIBEKANBAN_REMOTE_JWT_SECRET: ${VIBEKANBAN_REMOTE_JWT_SECRET:?set in .env.remote}
# Auth
# Configure at least one OAuth provider, or set self-host local auth credentials.
GITHUB_OAUTH_CLIENT_ID: ${GITHUB_OAUTH_CLIENT_ID:-}
GITHUB_OAUTH_CLIENT_SECRET: ${GITHUB_OAUTH_CLIENT_SECRET:-}
GOOGLE_OAUTH_CLIENT_ID: ${GOOGLE_OAUTH_CLIENT_ID:-}
GOOGLE_OAUTH_CLIENT_SECRET: ${GOOGLE_OAUTH_CLIENT_SECRET:-}
# Self-hosted local auth
SELF_HOST_LOCAL_AUTH_EMAIL: ${SELF_HOST_LOCAL_AUTH_EMAIL:-}
SELF_HOST_LOCAL_AUTH_PASSWORD: ${SELF_HOST_LOCAL_AUTH_PASSWORD:-}
# Email / notifications (optional)
LOOPS_EMAIL_API_KEY: ${LOOPS_EMAIL_API_KEY:-}
# Loops transactional email template IDs (override with your own Loops account templates)
LOOPS_INVITE_TEMPLATE_ID: ${LOOPS_INVITE_TEMPLATE_ID:-cmhvy2wgs3s13z70i1pxakij9}
LOOPS_REVIEW_READY_TEMPLATE_ID: ${LOOPS_REVIEW_READY_TEMPLATE_ID:-cmj47k5ge16990iylued9by17}
LOOPS_REVIEW_FAILED_TEMPLATE_ID: ${LOOPS_REVIEW_FAILED_TEMPLATE_ID:-cmj49ougk1c8s0iznavijdqpo}
DIGEST_ENABLED: ${DIGEST_ENABLED:-false}
# Review worker / artifact storage (optional)
R2_ACCESS_KEY_ID: ${R2_ACCESS_KEY_ID:-}
R2_SECRET_ACCESS_KEY: ${R2_SECRET_ACCESS_KEY:-}
R2_REVIEW_ENDPOINT: ${R2_REVIEW_ENDPOINT:-}
R2_REVIEW_BUCKET: ${R2_REVIEW_BUCKET:-}
REVIEW_WORKER_BASE_URL: ${REVIEW_WORKER_BASE_URL:-}
# GitHub App integration (optional)
GITHUB_APP_ID: ${GITHUB_APP_ID:-}
GITHUB_APP_PRIVATE_KEY: ${GITHUB_APP_PRIVATE_KEY:-}
GITHUB_APP_WEBHOOK_SECRET: ${GITHUB_APP_WEBHOOK_SECRET:-}
GITHUB_APP_SLUG: ${GITHUB_APP_SLUG:-}
# Billing (optional)
STRIPE_SECRET_KEY: ${STRIPE_SECRET_KEY:-}
STRIPE_TEAM_SEAT_PRICE_ID: ${STRIPE_TEAM_SEAT_PRICE_ID:-}
STRIPE_WEBHOOK_SECRET: ${STRIPE_WEBHOOK_SECRET:-}
STRIPE_FREE_SEAT_LIMIT: ${STRIPE_FREE_SEAT_LIMIT:-1}
# Attachments (optional)
# Only set these when enabling the attachments profile or using external blob storage.
AZURE_STORAGE_ACCOUNT_NAME:
AZURE_STORAGE_ACCOUNT_KEY:
AZURE_STORAGE_CONTAINER_NAME:
AZURE_STORAGE_ENDPOINT_URL:
AZURE_STORAGE_PUBLIC_ENDPOINT_URL:
ports:
- "${REMOTE_SERVER_PORTS:-127.0.0.1:3000:8081}"
restart: unless-stopped
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://127.0.0.1:8081/v1/health"]
interval: 5s
timeout: 5s
retries: 10
start_period: 10s
relay-server:
profiles: ["relay"]
build:
context: ../..
dockerfile: crates/relay-tunnel/Dockerfile
depends_on:
remote-db:
condition: service_healthy
environment:
RUST_LOG: info
SERVER_DATABASE_URL: postgres://remote:remote@remote-db:5432/remote
RELAY_LISTEN_ADDR: 0.0.0.0:8082
VIBEKANBAN_REMOTE_JWT_SECRET: ${VIBEKANBAN_REMOTE_JWT_SECRET:?set in .env.remote}
ports:
- "127.0.0.1:8082:8082"
restart: unless-stopped
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://127.0.0.1:8082/health"]
interval: 5s
timeout: 5s
retries: 10
start_period: 10s
volumes:
remote-db-data:
electric-data:
azurite-data:
This file may be out of date. Check the Vibe Kanban documentation for current setup steps.
Tags
Track your self-hosted stack
Bookmark software to try, rate tools you've used, and keep your collection in one place.
Metadata extracted from README on Oct 28, 2026
Alternatives to Vibe Kanban
Codeman
820
Codeman is a self-hosted dashboard for managing AI coding agents in persistent terminal sessions, with live web access, mobile-friendly controls, and background automation.
AI Coding AssistantAI AgentsAutomation Tools+2
Single Container
ouijit
177
Ouijit is a customizable task and terminal session manager for agentic development workflows, with lifecycle hooks, scripts, worktree management, and VM sandboxing.
Task RunnersAI Coding AssistantAI Agents
Backlog.md
7.2k
Markdown-native task manager and Kanban visualizer for any Git repository.
Artificial IntelligenceAI ToolingPermissive License+3
Taiga
Agile Project Management Tool based on the Kanban and Scrum methods.
Dev Project ManagementTask ManagementSelf Hosting Solutions+1
Paca
2.0k
AI-native project management platform where AI agents and humans collaborate as Scrum teammates on the same board and sprints. Configurable via config files and WASM plugins (alternative to Jira, Trello, ClickUp and Monday).
Dev Project Management
Related Software
openrig
8.3k
OpenRig is a CLI tool for defining, launching, and managing a team of AI coding agents in a persistent shared rig.
AI AgentsAI Coding AssistantAI Harness+1
OpenHands
92.0k
An AI-driven development platform with a software agent SDK, CLI, local GUI, and hosted cloud offering.
Artificial IntelligenceAI Coding AssistantAI Agents+2
Single ContainerOpen Core
OneDev
15.3k
All-In-One DevOps Platform. With Git Management, Issue Tracking, and CI/CD. Simple yet Powerful.
Dev Project ManagementPermissive LicenseAutomation Tools+1
Coder
17.2k
Coder is a self-hosted platform for cloud development environments and AI coding agents.
IDE ToolsPlatform as a ServiceRemote Access+1
Open Core
Claude Code
153.6k
Claude Code is an agentic coding tool that runs in the terminal and helps with coding tasks, code explanation, and git workflows using natural language commands.
Artificial IntelligenceAI Coding AssistantAI Harness+2
Cloud Required
GitLab
7.2k
Self Hosted Git repository management, code reviews, issue tracking, activity feeds and wikis.
Dev Project ManagementWikisAutomation Tools+5
Open Core
Aider
49.8k
AI pair programming tool for working with large language models directly in the terminal.
Artificial IntelligenceAI Coding AssistantPermissive License+1
runtm
302
Runtm is an open-source platform for spinning up isolated sandboxes where coding agents can build, test, and deploy software.
Self Hosting SolutionsAI AgentsAI Tooling+1
4 Containers
machtiani
191
Machtiani (mct) is a terminal-based local code chat service for working with large real codebases and syncing project history for context-aware answers.
Artificial IntelligenceAI Coding AssistantAI Agents+3
oh-my-pi
36.9k
A coding agent with the IDE wired in.
AI Coding AssistantAI AgentsModel Context Protocol+1
2 Containers
Rukovoditel
Configurable open source project management, web-based application.
Dev Project ManagementCopyleft LicenseTask Management+2
collie
1.5k
ColliePWA is a self-hosted mobile PWA for driving terminal AI agents like Claude Code, Codex, and OpenCode from a phone.
Mobile terminalsSelf Hosting SolutionsRemote Access+3

