Skip to content

Updating

This guide covers how to update your self-hosted Playlist Pipeline installation.

  1. Check the changelog - Review the Changelog for breaking changes
  2. Backup your database - Always backup before updating
  3. Plan for downtime - Updates may require a brief service restart
Terminal window
# PostgreSQL backup
docker compose exec db pg_dump -U postgres plpl > backup.sql
Terminal window
# Restore if needed
docker compose exec -T db psql -U postgres plpl < backup.sql
Terminal window
docker compose pull

If the update includes database migrations:

Terminal window
docker compose exec api bun db:migrate
Terminal window
docker compose up -d

Check that all services are running:

Terminal window
docker compose ps

For most updates:

Terminal window
# Pull new images
docker compose pull
# Restart with new images
docker compose up -d
# Run migrations if needed
docker compose exec api bun db:migrate

For major version updates, follow any specific migration guides in the changelog. Major updates may include:

  • Database schema changes
  • Configuration changes
  • Breaking API changes

If an update causes issues:

Terminal window
# Stop services
docker compose down
# Restore database backup
docker compose exec -T db psql -U postgres plpl < backup.sql
# Pull previous version (specify tag)
docker compose pull api:v1.0.0
# Restart
docker compose up -d

For production deployments, we recommend:

  1. Staging environment - Test updates in staging first
  2. Scheduled maintenance windows - Plan updates during low-traffic periods
  3. Monitoring - Watch logs after updates for any issues
Terminal window
# Watch logs after update
docker compose logs -f

To pin to a specific version instead of latest:

docker-compose.yml
services:
api:
image: ghcr.io/your-org/plpl-api:v1.2.3

This prevents unexpected updates when pulling images.