vnc-gateway-setup
VNC Gateway Setup
Section titled “VNC Gateway Setup”Status: In Progress (POC working, production selection pending)
Overview
Section titled “Overview”Layer 1 of the architecture - browser-based access to Obsidian desktop via VNC streaming.
Current State
Section titled “Current State”POC (Working)
Section titled “POC (Working)”Using linuxserver/obsidian Docker image with built-in KasmVNC.
obsidian: image: lscr.io/linuxserver/obsidian:latest ports: - "6080:3000" # Web UI volumes: - ./vaults/demo:/vaults/demoAccess at: http://localhost:6080
Production (Pending)
Section titled “Production (Pending)”Need to select between:
- Kasm Workspaces (enterprise)
- Apache Guacamole (open source)
- Selkies (WebRTC)
Location
Section titled “Location”docker/obsidian-kasm/
Key Files
Section titled “Key Files”| File | Purpose |
|---|---|
Dockerfile | Custom Obsidian image |
entrypoint.sh | Container startup script |
supervisord.conf | Process management |
Architecture
Section titled “Architecture”Browser ↓ HTTPS/WSSVNC Gateway (Kasm/Guacamole) ↓ VNC ProtocolObsidian Container ├── X11/Xvfb (display) ├── VNC Server ├── Obsidian App └── Sync DaemonCompleted
Section titled “Completed”- Basic Docker image
- docker-compose for local testing
- Sync daemon integration
- Vault mounting
In Progress
Section titled “In Progress”- VNC gateway selection
- SSO integration
- Session persistence
Pending
Section titled “Pending”- Production deployment
- Scaling configuration
- Load balancing
Considerations
Section titled “Considerations”Session Persistence
Section titled “Session Persistence”How to handle:
- User reconnects to same session
- Session timeout
- Multiple tabs
Storage
Section titled “Storage”Options:
- Docker volumes (simple)
- SMB/CIFS shares (enterprise)
- Both (Docker for state, SMB for content)
Networking
Section titled “Networking”- WebSocket for VNC
- WebSocket for CRDT sync
- Object storage access (MinIO)