Draken

Async Claude Code dashboard. Submit tasks to your projects, come back later, see results via git diff.

Quick Install

$ npx draken

Why Draken?

I work on multiple projects simultaneously and asynchronously. Often I just want to submit a task to Claude in a private repo and return to it later.

GitHub integration with Claude lacks full machine access. Tmux sessions require SSH access, which doesn't work when commuting or at events.

Draken is async by nature. Every interaction runs in a single container that completes and exits. The only artifact is visible via git diff. Context is preserved via sessions, so you can have multiple async conversations.

Features

📁

Multi-Project

Manage multiple codebases from a single dashboard. Each project gets isolated Docker execution.

🐳

Docker Isolation

Tasks run in containers. Your system stays clean, and Claude's changes are scoped to the project.

🔄

Session Continuity

Follow up on previous tasks. Claude remembers the conversation context across runs.

📡

Real-time Logs

Stream Claude's output live via SSE. Watch the AI work or check back later.

🔀

Git Integration

See git status and diffs directly in the UI. Review what Claude changed before committing.

🔐

Authentication

JWT-based auth for secure deployment. Or disable it for local development.

VPS Setup Guide

1

Install Prerequisites

You need Node.js 18+, Docker, and Claude CLI.

# Install Node.js (Ubuntu/Debian) curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt-get install -y nodejs # Install Docker curl -fsSL https://get.docker.com | sh sudo usermod -aG docker $USER # Install Claude CLI npm install -g @anthropic-ai/claude-code
2

Authenticate Claude

Log in with your Anthropic account or set an API key.

# Option 1: OAuth (recommended) claude login # Option 2: API key export ANTHROPIC_API_KEY=your-key
3

Run Draken

Set authentication and start the server.

# Set credentials export DRAKEN_USERNAME=admin export DRAKEN_PASSWORD=your-secure-password export DRAKEN_JWT_SECRET=random-32-char-string # Run Draken npx draken
4

Reverse Proxy (Optional)

For HTTPS, put Draken behind nginx or Caddy.

# Caddy (automatic HTTPS) sudo caddy reverse-proxy --from draken.yourdomain.com --to localhost:40333