Updating
This guide covers how to update your self-hosted Playlist Pipeline installation.
Before You Update
Section titled “Before You Update”- Check the changelog - Review the Changelog for breaking changes
- Backup your database - Always backup before updating
- Plan for downtime - Updates may require a brief service restart
Backup
Section titled “Backup”Database Backup
Section titled “Database Backup”# PostgreSQL backupdocker compose exec db pg_dump -U postgres plpl > backup.sqlRestore from Backup
Section titled “Restore from Backup”# Restore if neededdocker compose exec -T db psql -U postgres plpl < backup.sqlUpdate with Docker Compose
Section titled “Update with Docker Compose”Pull Latest Images
Section titled “Pull Latest Images”docker compose pullRun Migrations
Section titled “Run Migrations”If the update includes database migrations:
docker compose exec api bun db:migrateRestart Services
Section titled “Restart Services”docker compose up -dVerify
Section titled “Verify”Check that all services are running:
docker compose psUpdate Process
Section titled “Update Process”Standard Update
Section titled “Standard Update”For most updates:
# Pull new imagesdocker compose pull
# Restart with new imagesdocker compose up -d
# Run migrations if neededdocker compose exec api bun db:migrateMajor Version Updates
Section titled “Major Version Updates”For major version updates, follow any specific migration guides in the changelog. Major updates may include:
- Database schema changes
- Configuration changes
- Breaking API changes
Rollback
Section titled “Rollback”If an update causes issues:
# Stop servicesdocker compose down
# Restore database backupdocker compose exec -T db psql -U postgres plpl < backup.sql
# Pull previous version (specify tag)docker compose pull api:v1.0.0
# Restartdocker compose up -dAutomatic Updates
Section titled “Automatic Updates”For production deployments, we recommend:
- Staging environment - Test updates in staging first
- Scheduled maintenance windows - Plan updates during low-traffic periods
- Monitoring - Watch logs after updates for any issues
# Watch logs after updatedocker compose logs -fVersion Pinning
Section titled “Version Pinning”To pin to a specific version instead of latest:
services: api: image: ghcr.io/your-org/plpl-api:v1.2.3This prevents unexpected updates when pulling images.