Caddy routes /api/* and /webhooks/* to 172.20.1.238:3002 but the
docker-compose had PORT=3001 and bound port 3001. Changed:
- PORT env var: 3001 -> 3002
- Port binding: 0.0.0.0:3002:3002
- Health check: localhost:3002/health
- Next.js rewrites: localhost:3001 -> localhost:3002
- Frontend port: 127.0.0.1 -> 0.0.0.0 (Caddy remote access)
Dockerfiles reference monorepo subdirectories (frontend/, backend/)
but the prod compose specified ./frontend and ./backend as build
contexts. The containers were running because they were built from
docker-compose.yml (dev) which already had root context. Rebuilds
with --build were broken.
Add complete token system with Plex/Tautulli/Overseer integration:
- Anchor program for SPL token mint/burn/transfer
- Express backend with OAuth, webhooks, Solana integration
- Next.js frontend with dashboard, admin panel, wallet management
- Docker deployment for 172.20.1.0/24 infrastructure
- Production configs with SSL, Nginx, health monitoring
Tautulli webhooks auto-mint on watch events.
Overseer integration burns for content requests.