--- name: Workout-player deployment details description: How to deploy/update workout-player — VM 101 on Proxmox3, tar-over-SSH from local, docker compose rebuild type: reference --- workout-player runs on VM 101 (192.168.86.172) on Proxmox3 (.67), port 8091 -> 3000, behind Caddy/Authelia at workouts.chrissader.com. - Source repo: https://git.chrissader.com/csader/workout-player - Deploy path: `/home/csader/workout-player/` on .172 - Data volume: `/home/csader/workout-player/data/` (SQLite DB at workout.db) - Media mount: `/mnt/unraid/media/tv/Exercise` (read-only bind to /media) - .env: `MEDIA_PATH=/mnt/unraid/media/tv/Exercise` - No git credentials on VM — deploy by tar-over-SSH from local Mac, then `docker compose up -d --build` **Deploy steps:** 1. From local repo: `tar czf - --exclude='node_modules' --exclude='.next' --exclude='.git' --exclude='data' --exclude='.env' . | ssh csader@192.168.86.172 "cd /home/csader/workout-player && tar xzf -"` 2. SSH in: `cd /home/csader/workout-player && docker compose up -d --build` 3. Verify: `curl -s -o /dev/null -w "%{http_code}" https://workouts.chrissader.com` (expect 302 — Authelia redirect) 4. Clean up: `docker image prune -f` **How to apply:** Use this workflow whenever the user pushes a new commit and wants to redeploy. No git pull available on the VM.