# POST-MIGRATION TODO LIST
**Generated:** 2025-08-29  
**Status:** Migration in Progress - To be completed after full migration

---

## 🎯 **VERSION UPDATE STRATEGY**

### **✅ RECOMMENDED: Update to Latest Stable Versions**

**Rationale:**
- ✅ **Security patches** - Latest versions include security updates
- ✅ **Performance improvements** - Newer versions are often faster
- ✅ **Feature enhancements** - Access to latest features
- ✅ **Bug fixes** - Resolved known issues
- ✅ **Long-term support** - Better maintenance

### **⚠️ CONSIDERATIONS:**
- **Test thoroughly** before updating production
- **Backup before updates** - Always have rollback capability
- **Update one service at a time** - Minimize risk
- **Monitor after updates** - Ensure stability

---

## 📋 **VERSION UPDATES TO LATEST**

### **🐳 Docker Images to Update:**

#### **Core Services:**
- [ ] **PostgreSQL**: `postgres:16` → `postgres:latest`
- [ ] **MariaDB**: `mariadb:10.11` → `mariadb:latest`
- [ ] **Redis**: `redis:7-alpine` → `redis:latest`
- [ ] **Mosquitto**: `eclipse-mosquitto:2` → `eclipse-mosquitto:latest`

#### **Application Services:**
- [ ] **Nextcloud**: `nextcloud:31.0.8` → `nextcloud:latest`
- [ ] **AppFlowy**: `ghcr.io/appflowy-io/appflowy-cloud:0.3.5` → `ghcr.io/appflowy-io/appflowy-cloud:latest`
- [ ] **Jellyfin**: `jellyfin/jellyfin:latest` → `jellyfin/jellyfin:latest` (already latest)
- [ ] **AdGuard**: `adguard/adguardhome:latest` → `adguard/adguardhome:latest` (already latest)
- [ ] **Vaultwarden**: `vaultwarden/server:latest` → `vaultwarden/server:latest` (already latest)
- [ ] **Paperless**: `ghcr.io/paperless-ngx/paperless-ngx:latest` → `ghcr.io/paperless-ngx/paperless-ngx:latest` (already latest)
- [ ] **Immich**: `ghcr.io/immich-app/immich-server:latest` → `ghcr.io/immich-app/immich-server:latest` (already latest)
- [ ] **Gitea**: `gitea/gitea:latest` → `gitea/gitea:latest` (already latest)

#### **Infrastructure Services:**
- [ ] **Portainer**: `portainer/portainer-ce:latest` → `portainer/portainer-ce:latest` (already latest)
- [ ] **MinIO**: `quay.io/minio/minio:RELEASE.2024-05-10T01-41-38Z` → `quay.io/minio/minio:latest`

---

## 🔧 **UPDATE PROCEDURE**

### **Phase 1: Preparation**
1. [ ] **Create backup** of all services
2. [ ] **Document current versions** in each stack file
3. [ ] **Test updates** in staging environment (if available)
4. [ ] **Schedule maintenance window** for updates

### **Phase 2: Update Process**
1. [ ] **Update one service at a time**
2. [ ] **Deploy with new version**
3. [ ] **Test functionality thoroughly**
4. [ ] **Monitor for 24-48 hours**
5. [ ] **Proceed to next service**

### **Phase 3: Validation**
1. [ ] **Verify all services work correctly**
2. [ ] **Check performance metrics**
3. [ ] **Validate data integrity**
4. [ ] **Test user workflows**

---

## 🚨 **SERVICES TO UPDATE CAREFULLY**

### **⚠️ High-Risk Updates (Test Extensively):**
- [ ] **Nextcloud**: Major version updates can break apps
- [ ] **PostgreSQL**: Database schema changes possible
- [ ] **MariaDB**: Database schema changes possible
- [ ] **AppFlowy**: Complex application, test thoroughly

### **✅ Low-Risk Updates (Standard Process):**
- [ ] **Redis**: Usually safe to update
- [ ] **Mosquitto**: MQTT broker updates are typically safe
- [ ] **Jellyfin**: Media server updates are usually safe
- [ ] **AdGuard**: DNS filtering updates are typically safe

---

## 📊 **VERSION TRACKING**

### **Current Versions (Pre-Update):**
```yaml
# Core Services
postgres: "16"
mariadb: "10.11"
redis: "7-alpine"
mosquitto: "2"

# Application Services
nextcloud: "31.0.8"
appflowy: "0.3.5"
jellyfin: "latest"
adguard: "latest"
vaultwarden: "latest"
paperless: "latest"
immich: "latest"
gitea: "latest"

# Infrastructure
portainer: "latest"
minio: "RELEASE.2024-05-10T01-41-38Z"
```

### **Target Versions (Post-Update):**
```yaml
# All services to "latest" stable versions
postgres: "latest"
mariadb: "latest"
redis: "latest"
mosquitto: "latest"
nextcloud: "latest"
appflowy: "latest"
# ... all others to latest
```

---

## 🔄 **ROLLBACK PROCEDURE**

### **If Updates Cause Issues:**
1. [ ] **Immediate rollback** to previous version
2. [ ] **Restore from backup** if necessary
3. [ ] **Investigate issue** before retrying
4. [ ] **Document problem** for future reference

### **Rollback Commands:**
```bash
# Example rollback for Nextcloud
docker stack deploy -c /backup/nextcloud.yml nextcloud

# Example rollback for database
docker stack deploy -c /backup/postgresql.yml postgresql
```

---

## 📝 **ADDITIONAL POST-MIGRATION TASKS**

### **Critical Issues to Address:**
- [ ] **Paperless Mergerfs Issue**: Paperless is not working well on OMV800 because of Mergerfs. Consider moving Paperless installation/runtime location and potentially running outside of swarm for better performance and stability.

### **Cleanup Tasks:**
- [ ] **Remove old containers** from individual hosts
- [ ] **Clean up old volumes** no longer needed
- [ ] **Update documentation** with new architecture
- [ ] **Optimize resource allocation** based on usage

### **Monitoring & Maintenance:**
- [ ] **Set up automated backups** for new swarm services
- [ ] **Configure monitoring alerts** for swarm services
- [ ] **Document maintenance procedures** for swarm
- [ ] **Create disaster recovery plan** for swarm

### **Security Hardening:**
- [ ] **Review security configurations** for all services
- [ ] **Update firewall rules** for new architecture
- [ ] **Audit access controls** and permissions
- [ ] **Implement security monitoring** for swarm

---

## ✅ **COMPLETION CHECKLIST**

### **Version Updates:**
- [ ] All services updated to latest stable versions
- [ ] All functionality tested and working
- [ ] Performance validated
- [ ] Security patches applied

### **Documentation:**
- [ ] Architecture documentation updated
- [ ] Maintenance procedures documented
- [ ] Rollback procedures tested
- [ ] Team training completed

### **Monitoring:**
- [ ] Monitoring configured for all services
- [ ] Alerts set up and tested
- [ ] Backup procedures validated
- [ ] Disaster recovery plan tested

**Status: Ready to execute after migration completion** 🚀
