Documentation Guides1 min prototype v1.0.0
Quickstart & Overview
1-minute launch, zero-database architecture, and Docker Compose deployment for prototype.
Quickstart & Overview
prototype is a lightweight, zero-trust orchestration dashboard for LinuxServer.io Docker Webtop desktop containers.
bash
docker run -d \
--name prototype \
--restart unless-stopped \
-p 127.0.0.1:8080:8080 \
-v /var/run/docker.sock:/var/run/docker.sock \
ghcr.io/mngdlnx/prototype:latest
⚡ 3 Core Pillars
The engine guarantees minimal host daemon overhead and total sandbox isolation out of the box.
| Pillar | Architectural Guarantee |
|---|---|
| Stateless Zero-DB | 100% of instance metadata and presets persist in Docker labels (prototype.managed=true). Zero SQL databases. |
| Zero-Trust Loopback | The dashboard (8080) and desktop instances (3000+) bind strictly to 127.0.0.1. Remote LAN/WAN access is blocked. |
| Single Native Binary | Self-contained Go executable with embedded Vue 3 SPA, consuming < 15MB idle RAM. |
⚡ System Architecture Flow
The Go backend separates core management logic from Docker SDK adapters and real-time delivery channels.
Architecture Diagram
Rendering architecture diagram...
🚀 1-Minute Docker Compose Launch
Deploy the controller alongside docker-socket-proxy for least-privilege Docker socket access.
yaml
services:
docker-socket-proxy:
image: tecnativa/docker-socket-proxy:latest
container_name: docker-socket-proxy
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
- CONTAINERS=1
- IMAGES=1
- NETWORKS=1
- VOLUMES=1
- POST=1
- DELETE=1
- EXEC=1
- INFO=1
- VERSION=1
- EVENTS=1
- PING=1
networks:
- prototype-net
prototype:
image: ghcr.io/mngdlnx/prototype:latest
container_name: prototype
restart: unless-stopped
depends_on:
- docker-socket-proxy
ports:
- "127.0.0.1:8080:8080"
environment:
- DOCKER_HOST=tcp://docker-socket-proxy:2375
- PORT=8080
- BIND_HOST=0.0.0.0
- DEFAULT_INSTANCE_BIND_IP=127.0.0.1
- DEFAULT_NETWORK=prototype-net
- BASE_PORT=3000
networks:
- prototype-net
security_opt:
- no-new-privileges:true
networks:
prototype-net:
name: prototype-net
driver: bridge
Start the stack with docker compose up -d and open http://127.0.0.1:8080 in your browser.