Files
claude-sync/agent-memory/homelab-ops/reference_workout_player_deploy.md
T
Chris 33cab10cef Initial sync: memory, agents, commands, and gitignore
Syncs project memory, custom agents, and commands across machines.
Excludes secrets (settings.json), session state, and runtime files.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-11 09:19:24 -05:00

1.3 KiB

name, description, type
name description type
Workout-player deployment details How to deploy/update workout-player — VM 101 on Proxmox3, tar-over-SSH from local, docker compose rebuild 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.