How to connect to the SpaceMusic Server and navigate the infrastructure.


Server Specs

Spec Value
Provider Hetzner EX44 (dedicated)
CPU Intel Core i5-13500
RAM 64 GB DDR4
Storage 2x 512 GB NVMe SSD (RAID 1)
Network 1 Gbit/s uplink
IP 136.243.124.138 (fixed)
OS Ubuntu 22.04 LTS

SSH Access

Connect via SSH using an ed25519 key:

ssh root@136.243.124.138

To simplify access, add an alias to ~/.ssh/config:

Host spacemusic
    HostName 136.243.124.138
    User root
    IdentityFile ~/.ssh/spacemusic

Then connect with:

ssh spacemusic
Getting your SSH key added

Contact an admin to add your public key to /root/.ssh/authorized_keys on the server. Only ed25519 keys are accepted.

Directory Layout

All services live under /opt/spacemusic/ on the server:

Path Service
/opt/spacemusic/auth/spacemusic-auth/ Authentik SSO
/opt/spacemusic/dashboard/spacemusic-dashboard/ Grafana monitoring stack
/opt/spacemusic/storage/spacemusic-storage/ MinIO object storage
/opt/spacemusic/relay/spacemusic-relay/ Centrifugo relay
/opt/spacemusic/uptime/spacemusic-uptime/ Kuvasz uptime monitoring
/opt/spacemusic/api/spacemusic-api/ API gateway

devpush-managed services (Stream, Docs, UWD editors) are deployed into devpush's internal container runtime and don't have a path under /opt/spacemusic/.

Traefik dynamic config files live at /var/lib/devpush/traefik/.

Docker

All services run as Docker containers. Useful commands:

# List running containers
docker ps

# View logs for a service (follow mode)
cd /opt/spacemusic/dashboard/spacemusic-dashboard/
docker compose logs -f grafana

# Check resource usage
docker stats

# Restart a service
docker compose restart

What is devpush?

devpu.sh is the self-hosted deployment platform used for SvelteKit and Python apps. It provides:

  • Automatic deploys on push to main via GitHub webhook
  • Built-in Traefik integration for HTTPS routing
  • Python and Node.js 20 runners

The devpush admin UI is at deploy.spacemusic.tv. See Deployment for the full project list and deployment details.