github emlopezr/trackwatch 2.1.0
2.1.0 - All-in-One Docker Image

latest release: 2.1.1
4 months ago

Changelog

v2.1.0 — All-in-One Docker Image

✨ New Features

  • All-in-One Docker Image: Deploy TrackWatch with a single docker run command. One container includes PostgreSQL, Nginx, Django, and the background scheduler — managed by supervisord.
  • Pre-built Images: Available on GHCR and Docker Hub. No cloning or building required.
  • Runtime Environment Injection: Pre-built images can be fully configured at startup via environment variables — no need to rebuild for different Spotify credentials or domains.
  • Automated Publishing: GitHub Actions workflow builds and publishes the AiO image on every semver tag (e.g. 2.1.0) to both GHCR and Docker Hub.
  • Configurable Email Domain: Self-hosters can now set EMAIL_DOMAIN to use their own Resend-verified domain for email notifications.
  • Updated Install Page: The frontend /install page now features an AiO tab with copy-paste docker run commands for both GHCR and Docker Hub.

🔧 Improvements

  • Background Processing: New releases update now runs in a background thread to prevent Gunicorn worker timeout.
  • Hide Login Button: New VITE_HIDE_PUBLIC_LOGIN environment variable to hide the login button for public instance.
  • Dependency Updates: Django 5.2.11, react-router-dom 7.

📦 Quick Start

docker run -d \
  --name trackwatch \
  -e SPOTIFY_CLIENT_ID=your-client-id \
  -e SPOTIFY_CLIENT_SECRET=your-client-secret \
  -e SECRET_KEY=your-secret-key \
  -v trackwatch_data:/var/lib/postgresql/data \
  -p 80:80 \
  --restart unless-stopped \
  ghcr.io/emlopezr/trackwatch:latest

Open http://127.0.0.1 and you're done.

For the full setup guide, see docs/DOCKER_AIO_SETUP.md.

⚠️ No Breaking Changes

The existing docker-compose.yml multi-container setup continues to work exactly as before. The AiO image is a new deployment option, not a replacement.

Don't miss a new trackwatch release

NewReleases is sending notifications on new releases.