Files
nmemmert f14992350c adding
2026-05-18 08:27:24 -04:00

1.7 KiB

Podcast Checklist

Episode production tracker for Verse by Verse with Nate.

Deploy

1. Build and push to GHCR

docker build -t ghcr.io/nmemmert/podcast-checklist:latest .
docker push ghcr.io/nmemmert/podcast-checklist:latest

2. On the Oracle Cloud VM

docker pull ghcr.io/nmemmert/podcast-checklist:latest
docker rm -f podcast-checklist 2>/dev/null || true
docker run -d \
  --name podcast-checklist \
  --restart unless-stopped \
  -p 3001:3000 \
  -v podcast-checklist-data:/data \
  ghcr.io/nmemmert/podcast-checklist:latest

Uses port 3001 on the host so it doesn't clash with your existing site on 3000. Progress is saved to a named Docker volume (podcast-checklist-data) so it survives container restarts and re-deploys.

3. Cloudflare DNS

Add a CNAME record in Cloudflare:

  • Name: checklist (or whatever subdomain you want)
  • Target: versebyversewithnate.us
  • Proxy: Enabled (orange cloud)

4. Cloudflare Tunnel or Nginx proxy

If you're using Nginx Proxy Manager or a Cloudflare Tunnel on the VM, add a rule to forward checklist.versebyversewithnate.uslocalhost:3001.


Update workflow

Same as your site:

# Local
docker build -t ghcr.io/nmemmert/podcast-checklist:latest .
docker push ghcr.io/nmemmert/podcast-checklist:latest

# SSH into VM
docker pull ghcr.io/nmemmert/podcast-checklist:latest
docker rm -f podcast-checklist
docker run -d \
  --name podcast-checklist \
  --restart unless-stopped \
  -p 3001:3000 \
  -v podcast-checklist-data:/data \
  ghcr.io/nmemmert/podcast-checklist:latest

Progress data is in the named volume and is not affected by pulling a new image.