I run a few side projects, each with their own VPS. Nothing crazy β but every time I need to SSH in, I have to remember which IP belongs to which project. Sure, SSH config helps, but when multiple people need access, I'm adding public keys one by one to every server. Audit logs? Basically non-existent. Need to install Docker on all servers or reboot a few? Gotta run the same command on each one manually.
There are tools out there that do this β but most of them are way too complex for what I need. I just wanted something that fits my use case, nothing more.
So I built ServerSphere. With a little help from AI, of course π
ServerSphere uses Paramiko to SSH into your servers. No agent to install β just your regular SSH keys.
Server status, containers, logs, metrics β all fetched in real-time over your existing SSH connection. One port, zero config.
Everything served in a clean web UI. Interactive terminal, container controls, monitoring graphs β point and click.
Stop SSH-ing just to check uptime or restart a container
All servers on one page. Status, IP, resource usage β immediately see which one is down.
Full interactive terminal via WebSocket (xterm.js). Run apt update, top, vim β right from your browser. Multiple tabs for different servers.
List, start, stop, restart, remove containers from the dashboard. View logs & resource usage per container. No more docker ps every time.
Browse syslog, auth, kernel, docker, nginx logs directly. Filter by severity, search keywords. No more tail -f SSH sessions.
CPU bars, RAM used/total, disk usage, load average. Visual progress bars with real-time updates.
Admin, Operator, Viewer roles with per-VPS access control. Give your team access without sharing SSH keys. Full audit trail. Combine with SSO via OIDC for team-wide access.
Login with your corporate identity provider β Google Workspace, Microsoft Entra ID, GitHub, Auth0, or any OIDC-compatible provider. Auto-provision users with role mapping from groups.
No LDAP or SAML needed. OpenID Connect only.
Manage 5-50 VPS from a single dashboard without opening 50 terminal tabs.
Monitor servers, run terminals, manage containers without installing anything on your laptop.
Give limited VPS access to team members. See who did what with the full audit log.
Docker image ready to go β just docker compose up -d
# docker-compose.yml β image from GHCR, no repo clone needed
services:
serversphere:
image: ghcr.io/edsuwarna/serversphere:latest
container_name: serversphere
restart: unless-stopped
ports:
- "8080:8080"
environment:
- DASHBOARD_PASS=change-me
- SECRET_KEY=change-me-too
- POSTGRES_PASSWORD=change-me
volumes:
- ~/.ssh:/root/.ssh:ro
depends_on:
serversphere-db:
condition: service_healthy
serversphere-db:
image: postgres:18-alpine
container_name: serversphere-db
restart: unless-stopped
environment:
- POSTGRES_PASSWORD=change-me
volumes:
- pg-data:/var/lib/postgresql
healthcheck:
test: ["CMD-SHELL", "pg_isready -U vpsadmin -d vpsdashboard"]
interval: 5s
timeout: 5s
retries: 5
volumes:
pg-data:
Run: docker compose up -d β open http://server-ip:8080
# Clone repo & build yourself
git clone https://github.com/edsuwarna/serversphere.git
cd serversphere
# Build & run
docker compose up -d --build
Give it a spin β Docker pull, 2 minutes, done.