A web-based tool for managing self-hosted applications with automatic Cloudflare tunnel setup and zero-downtime updates.
- 🚀 Create and manage Docker Compose applications
- 🌐 Automatic Cloudflare tunnel configuration
- 🔄 Zero-downtime container updates
- 📊 Real-time app status monitoring
- 📝 Docker Compose editor with YAML validation
- 📜 Version history and rollback support
- 🔒 Optional authentication (Cloudflare Zero Trust recommended)
Go • React + TypeScript • SQLite • Docker • Cloudflare Tunnels
Single-user design only. Intended for personal use (e.g., Raspberry Pi hosting).
- ✅ Recommended: Deploy behind Cloudflare Zero Trust (no OAuth needed)
- ✅ Alternative: GitHub OAuth authentication
- ❌ Not suitable for multi-user environments
📖 Full details: Security Documentation
# 1. Clone and configure
git clone <repo-url>
cp env.example .env
# Edit .env with your settings
# 2. Run with Docker Compose
docker compose -f docker-compose.prod.yml up -d
# With Cloudflare Tunnel (optional)
docker compose -f docker-compose.prod.yml --profile tunnel up -dAccess at http://localhost:8080
SERVER_ADDRESS=:8080
DATABASE_PATH=./data/automaton.dbOption 1 - Cloudflare Zero Trust (Recommended)
AUTH_ENABLED=false # Cloudflare handles auth
CLOUDFLARE_API_TOKEN=your_token
CLOUDFLARE_ACCOUNT_ID=your_account_idSee: Cloudflare Zero Trust Setup
Option 2 - GitHub OAuth
AUTH_ENABLED=true
GITHUB_CLIENT_ID=your_client_id
GITHUB_CLIENT_SECRET=your_client_secret
GITHUB_ALLOWED_USERS=username1,username2
AUTH_BASE_URL=https://your-domain.comSee: GitHub OAuth Setup
Backend:
go run cmd/server/main.go # Backend runs on :8080Frontend:
cd web
npm install
npm run dev # Frontend runs on :5173 (proxies to backend)Build:
cd web && npm run build # Builds to web/dist
go build -o bin/server cmd/server/main.go- Security Model - Single-user design, limitations
- Cloudflare Zero Trust Setup - Recommended auth
- GitHub OAuth Setup - Alternative auth
- Compose Versioning - Version control system
- API Documentation - API reference
MIT