Skip to content
Sia edited this page Jun 2, 2026 · 23 revisions

Vibe Coder Server — Wiki

Self-hostable Android development server orchestrating Claude Code, Gradle, and Git as child processes. Browser-only operation, optional Android companion client. Ships as a two-container docker compose stack (vibe-coder-server + postgres:17-alpine).

Table of contents

Getting started

Build environment

API for clients (Android, CLI, scripts)

Personalization

Security & sessions

This is a single-operator tool: one admin, and every authenticated session has full access. See Security Model for details.

Operations / notifications

Releases & deployments

Stack at a glance

Layer Details
Server image siamakerlab/vibe-coder-server:latest (linux/amd64)
Sidecar postgres:17-alpine
Base OS Ubuntu 26.04 LTS (Resolute Raccoon)
Kotlin 2.2.20 / Ktor 3.1.2 / JDK 17 / Exposed 0.55.0 + PostgreSQL JDBC 42.7.4
Email Jakarta Mail 2.1.3 + Angus 2.0.3
Webhook java.net.http.HttpClient (JDK 11+ stdlib, no external deps)
Web Push VAPID P-256 + RFC 8291 aes128gcm (JDK stdlib only — java.security + javax.crypto)
TOTP RFC 6238 self-implemented (no external deps)
WebAuthn / passkey webauthn4j 0.29.1
Archives Apache Commons Compress 1.27.1 (tar.gz streaming)
Bundled CLI cli/vibe bash + curl (jq optional)
Bundled VS Code extension vscode-extension/ v0.2.0 (TreeView + status bar + WS subscribe; not yet on Marketplace)
PWA manifest + service worker (push event handler, payload-decrypted)
Auth model Single-operator — one admin, every authenticated session has full access
Multi-agent SubAgentSessionManager — independent Claude child per (project, agent); turns persisted to PG with /history filter UI
Conversation search PG tsvector + GIN on conversation_turns.content_tsv (simple tokenizer; sub-ms across 100k+ rows)
Symbol lookup SymbolFinder regex-based best-effort fun/class/object/val/var/typealias (Kotlin + Java)
Metrics /metrics Prometheus exposition (11 gauges + 5 counters, zero deps)
Rate limit per-IP token bucket on /api/, /ws/, /login (admin bypass)
Backup automation BackupScheduler cron + retention rotation
Cache stats ClaudeStreamParser.UsageReportconversation_turns(role="usage") + /usage aggregation
Kubernetes helm/vibe-coder-server/ minimal chart
Wireless ADB sidebar connection badge + connect/logcat; HOST network for mDNS auto-discovery (docker/compose.host.yml), manual-address fallback

Repositories

License

GNU Affero General Public License v3.0. SaaS deployments must release modifications under the same license.

Clone this wiki locally