## Todo - [ ] **Assessment Phase** - [ ] Audit all *arr applications in arr-stack namespace - [ ] Check which apps currently use SQLite (Sonarr, Radarr, Prowlarr, Bazarr, etc.) - [ ] Verify PostgreSQL support for each application - [ ] Document current SQLite database locations and sizes - [ ] Check Jellyfin and Jellyseerr PostgreSQL compatibility - [ ] Plan migration order (start with least critical apps) - [ ] **PostgreSQL Preparation** - [ ] Create dedicated databases in existing PostgreSQL instance - [ ] sonarr_main database - [ ] sonarr_log database - [ ] radarr_main database - [ ] radarr_log database - [ ] prowlarr_main database - [ ] prowlarr_log database - [ ] bazarr database - [ ] jellyseerr database (if supported) - [ ] Create database users with proper permissions for each app - [ ] Test connectivity from arr-stack namespace to postgresql namespace - [ ] Document connection strings for each application - [ ] **Migration Scripts & Tools** - [ ] Research official migration tools for each *arr app - [ ] Download/prepare sqlite3 to postgresql conversion tools - [ ] Create backup scripts for current SQLite databases - [ ] Test migration process on development/test databases - [ ] Prepare rollback procedures for each application - [ ] **Sonarr Migration** - [ ] Stop Sonarr deployment in arr-stack - [ ] Backup current Sonarr SQLite databases (sonarr.db, logs.db) - [ ] Export SQLite data using official Sonarr migration tools - [ ] Update Sonarr configuration to use PostgreSQL - [ ] Import data into PostgreSQL databases - [ ] Update Sonarr Kubernetes deployment with new DB config - [ ] Start Sonarr and verify functionality - [ ] Test all Sonarr features (indexers, downloads, etc.) - [ ] **Radarr Migration** - [ ] Stop Radarr deployment in arr-stack - [ ] Backup current Radarr SQLite databases - [ ] Export SQLite data using Radarr migration tools - [ ] Update Radarr configuration for PostgreSQL - [ ] Import data into PostgreSQL databases - [ ] Update Radarr Kubernetes deployment - [ ] Start Radarr and verify movie library intact - [ ] Test Radarr indexer and download functionality - [ ] **Prowlarr Migration** - [ ] Stop Prowlarr deployment in arr-stack - [ ] Backup Prowlarr SQLite database - [ ] Export indexer configurations and settings - [ ] Update Prowlarr configuration for PostgreSQL - [ ] Import data into PostgreSQL database - [ ] Update Prowlarr Kubernetes deployment - [ ] Start Prowlarr and verify all indexers working - [ ] Test sync with Sonarr/Radarr after their migrations - [ ] **Bazarr Migration** - [ ] Stop Bazarr deployment in arr-stack - [ ] Backup Bazarr SQLite database - [ ] Check if Bazarr supports PostgreSQL (may need to stay SQLite) - [ ] If supported: migrate using available tools - [ ] If not supported: document keeping SQLite for Bazarr - [ ] Update deployment configuration as needed - [ ] Verify subtitle download functionality - [ ] **Jellyfin Migration (if supported)** - [ ] Research Jellyfin PostgreSQL support status - [ ] If supported: plan migration of user data and watch history - [ ] If not supported: document keeping existing database - [ ] Test integration with migrated *arr applications - [ ] **Jellyseerr Migration (if supported)** - [ ] Check Jellyseerr PostgreSQL compatibility - [ ] Backup current Jellyseerr database - [ ] Plan migration of user requests and settings - [ ] Test integration with migrated *arr stack - [ ] **Post-Migration Validation** - [ ] Verify all *arr apps can communicate with each other - [ ] Test end-to-end workflow (request → download → import) - [ ] Verify all historical data preserved (download history, etc.) - [ ] Check Prowlarr sync functionality with all apps - [ ] Test indexer functionality across all applications - [ ] Verify webhook integrations still work - [ ] **Cleanup & Monitoring** - [ ] Remove old SQLite database files after successful migration - [ ] Update backup scripts to include PostgreSQL databases - [ ] Add *arr database monitoring to observability stack - [ ] Create PostgreSQL performance dashboards for *arr apps - [ ] Document new database architecture - [ ] Update disaster recovery procedures ## In Progress ## Completed ## NOTES - [ ] **Namespace:** arr-stack (existing applications) - [ ] **Database:** Shared PostgreSQL instance in postgresql namespace - [ ] **Migration Order:** Start with Prowlarr (affects others), then Sonarr/Radarr, then Bazarr - [ ] **Compatibility:** Some apps may not support PostgreSQL yet - [ ] **Backup Strategy:** Full SQLite backups before each migration - [ ] **Rollback Plan:** Keep SQLite backups until migration fully validated - [ ] **Testing:** Verify complete *arr workflow after each app migration %% kanban:settings ``` {"kanban-plugin":"board","list-collapse":[false]} ``` %%