Chisle
The coding-agent plugin that bills 52% of a bare model across 20 live tasks. Terse persona + tool-output compressor + context diet.
翻訳待ち
Replaces Portainer CE + Uptime Kuma + Dozzle in a single <20MB binary. Sub-15ms cold start, deterministic memory under 20MB, native Docker socket streaming, and embedded SQLite WAL.
翻訳待ち
開発ツールTypeScript · C#GitHub @brhnshn接続状況の再確認が必要です所有者未確認
Have you tried it? One tap is enough. No sign-in needed.
Lightweight, Native AOT Server Launcher & Monitoring Dashboard for Self-Hosted Nodes & Homelabs (<30MB RAM)
翻訳待ち
Loading the full README.
Read the full README ↗Most homelabs end up running a container manager, an uptime monitor and a status page side by side. Corvus does all of it in one container, with an embedded SQLite database and no external services.
| 🐳 Docker | 📈 Uptime & SSL | 🌐 Status Page | 🛰️ Multi-Node |
|---|---|---|---|
| Start, stop, logs, web terminal, Compose editor and 1-click deployments with rollback | HTTP/TCP/ping checks, SSL expiry, alerts to Discord, Telegram, Slack, email, ntfy and webhooks | Public, unauthenticated status page with incidents and maintenance notes | Outbound-only edge agent (<10 MB RAM) brings remote VPS nodes into the same panel |
How light is it? In production, next to 17 other containers, docker stats reports ~26 MB for Corvus. That comes from Native AOT compilation (no JIT, no runtime VM), a ~45 MB image and aggressive GC/malloc_trim tuning, explained below.
Get Corvus up and running on your Docker host with a single command:
docker run -d \
--name corvus \
--restart unless-stopped \
-p 8090:8090 \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v corvus-data:/data \
ghcr.io/brhnshn/corvus:latest
compose.yaml)services:
corvus:
image: ghcr.io/brhnshn/corvus:latest
container_name: corvus
restart: unless-stopped
ports:
- "8090:8090"
environment:
- CORVUS_PORT=8090
- CORVUS_DATA_DIR=/data
- DOCKER_SOCKET=/var/run/docker.sock
- CORVUS_AUTH_ENABLED=true
- CORVUS_AUTH_USER=admin
- CORVUS_AUTH_PASS=corvus123
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- corvus-data:/data
volumes:
corvus-data:
docker compose up -d
Optional: socket proxy (tecnativa/docker-socket-proxy). Mounting docker.sock read-write is effectively root access to the host. Instead, Corvus can reach Docker over plain TCP (DOCKER_HOST=tcp://socket-proxy:2375, which takes precedence over DOCKER_SOCKET; TLS-enabled TCP is not supported). A commented example is included in docker-compose.yml. unix:// prefixes are also accepted.
Deploy the ultra-lightweight (<10 MB RAM) edge agent to monitor additional VPS nodes without opening inbound ports:
docker run -d \
--name corvus-agent \
--restart unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v /proc:/host/proc:ro \
-v /sys:/host/sys:ro \
-e CORVUS_HUB_URL=wss://corvus.yourdomain.com \
-e CORVUS_SYSTEM_TOKEN=crv_live_... \
ghcr.io/brhnshn/corvus-agent:latest
Open your browser at http://localhost:8090 (or public status page at http://localhost:8090/status).
| Architectural Aspect | Corvus Design Approach | Traditional Heavy Stacks |
|---|---|---|
| Container Footprint | Single All-in-One Container (~45 MB image) | Multi-container setups (App + Database + Cache) |
| Idle Memory (RAM) | <30 MB RAM for all features combined (Workstation GC + malloc_trim) | One process per tool, each with its own memory budget |
| Database Dependency | Zero External DB (Embedded SQLite WAL, single .db file) | Some tools require a dedicated PostgreSQL or MongoDB |
| Docker Integration | Socket (:ro for monitoring only) or least-privilege socket proxy | Direct root-equivalent socket access |
| Combined Scope | Container Lifecycle + Extended Uptime & SSL + Public Status Page | Fragmented across 2-3 separate tools |
| Backup / Portability | Single-file copy or VACUUM INTO snapshot download | Database dumps (pg_dump, mongodump, volume exports) |
Corvus is built from the ground up to challenge the misconception that modern enterprise frameworks require heavy containers:
PublishAot=true) directly to an optimized Linux x64/ARM64 ELF executable. There is no JIT compilation, dynamic IL generation, or heavy runtime metadata bundled in the image.mcr.microsoft.com/dotnet/runtime-deps:9.0 (chiseled minimal glibc), keeping the base OS layer at only ~13 MB.ServerGarbageCollection=false, DOTNET_gcConcurrent=0).DOTNET_GCConserveMemory=9).MALLOC_ARENA_MAX=2).MemoryTrimmerBackgroundService that flushes SQLite connection pools and invokes native malloc_trim(0) every 3 minutes.RetentionCleanupService), ensuring database files never suffer from unmonitored disk bloat.This is the beginning of the README. Read the rest at the original. Read the full README ↗