YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
β‘ CloudPanel β Auto Operations Dashboard
A full web dashboard for deploying and controlling cloud AppImages (aipy-pro / any AppImage) from any browser β including NetHunter.
Deploy β Start β VNC Tunnel β Connect
all from one page, all automated.
π Files
cloudpanel/
βββ app.py Flask web app + SSE streaming + VNC tunnel API
βββ bootstrap.sh One-time setup: venv + .env + SSH key
βββ run.sh Activate venv + start dashboard
βββ requirements.txt Python deps
βββ .env.example Config template β copy to .env
βββ core/
β βββ ssh_manager.py SSH/SCP + streaming output + server stats
β βββ operations.py All auto-ops: deploy/start/stop/service/clean
βββ templates/
βββ base.html Dark terminal-style layout + navbar
βββ login.html Password-protected login
βββ index.html Main dashboard: stats + ops + VNC + logs
βββ settings.html .env editor built into the browser
π Setup (3 commands)
chmod +x bootstrap.sh run.sh
./bootstrap.sh # creates .venv, .env, SSH key
nano .env # fill in SERVER_IP + VNC_PASSWORD
./run.sh # start dashboard β http://localhost:5000
Default login password: admin123 (change in .env β DASHBOARD_PASSWORD)
π .env Key Variables
| Variable | Description |
|---|---|
SERVER_IP |
Cloud VM public IP |
SERVER_USER |
SSH username (ubuntu / opc / root) |
SSH_KEY |
Path to private key |
APPIMAGE_LOCAL_PATH |
Local path to AppImage file |
VNC_PASSWORD |
VNC session password |
DASHBOARD_PASSWORD |
Web UI login password |
LOCAL_VNC_PORT |
Local port for SSH tunnel (default 15901) |
APPIMAGE_EXTRACT |
true = extract AppImage (no FUSE needed) |
π± Dashboard Operations
| Button | What it does |
|---|---|
| π Deploy | Upload AppImage + apt install all server deps + configure VNC |
| βΆ Start | Kill old VNC β start VNC :1 β launch AppImage in session |
| βΉ Stop | pkill AppImage + vncserver -kill :1 + stop systemd service |
| π Restart | Stop then Start |
| β Service | Write + enable + start /etc/systemd/system/aipy-pro.service |
| π Test SSH | Verify connection and report latency |
| π SSH Key | Show your public key to paste into the VM console |
| π Clean | Remove AppImage + logs from server |
All operations stream output line-by-line to the terminal panel in real time via Server-Sent Events.
π₯ VNC Connection
- Click βΆ Start Tunnel in the VNC panel
- Open VNC client β
localhost:15901 - Password: value of
VNC_PASSWORD
The SSH tunnel runs as a subprocess inside the dashboard server β no extra terminal needed.
β Settings Page
/settings provides a browser form to edit .env values without touching the file manually. Changes are saved immediately and take effect on the next operation.
π Security
- Dashboard requires password login
- SSH uses key-based auth only
- VNC tunnelled over SSH (port 5901 stays closed)
.envischmod 600- Never expose port 5000 publicly without HTTPS + reverse proxy
π Troubleshooting
| Error | Fix |
|---|---|
ModuleNotFoundError |
source .venv/bin/activate then pip install -r requirements.txt |
| SSH connection refused | Check SERVER_IP, SERVER_PORT, and that the VM is running |
| VNC blank screen | Click β» on Remote Logs β check ~/aipy.log |
| AppImage FUSE error | Set APPIMAGE_EXTRACT=true in Settings |
| Port 5000 in use | Change DASHBOARD_PORT=5001 in .env |
Inference Providers NEW
This model isn't deployed by any Inference Provider. π Ask for provider support