Upgrading TaskTrove
This guide covers how to upgrade your TaskTrove installation to the latest version.
Before You Upgrade
Backup Your Data: Always create a complete backup of your TaskTrove data before upgrading. See the Backup for detailed instructions.
Review Release Notes: Check the Changelog for any breaking changes or special upgrade instructions for your target version.
Upgrade Methods
Docker Installation
If you're running TaskTrove with Docker:
# Pull the latest image
docker pull ghcr.io/dohsimpson/tasktrove
# Stop and remove the current container
docker stop tasktrove
docker rm tasktrove
# Start with the new image
docker run -p 3000:3000 -v ./data:/app/data -d --restart=always --name tasktrove ghcr.io/dohsimpson/tasktroveDocker Compose Installation
If you're running TaskTrove with Docker Compose:
# Navigate to your TaskTrove directory
cd TaskTrove/selfhost
# Pull the latest images
docker-compose pull
# Stop current services
docker-compose down
# Start with updated images
docker-compose up -dAutomatic Data Migration
Starting from version 0.3.0, TaskTrove includes an automatic data migration system that handles schema changes between versions.
How It Works
- Detection: When you start TaskTrove after an upgrade, it automatically detects if your data needs migration
- Prompt: You'll see a migration dialog explaining what will be changed
- Backup: The system creates a timestamped backup file (data.json.backup-[timestamp]) before migrating
- Migration: Your data is transformed to work with the new version
- Validation: The migrated data is validated to ensure everything is correct
Migration Features
- Safe: Creates automatic backup before migrating
- Automatic: No manual intervention required in most cases
- Backup: Creates timestamped backup files for manual recovery if needed
Important Notes
- Manual Backup: While automatic backups are created, manually backing up your data beforehand is recommended
- One-Way: Once migrated, you cannot use the data with older versions
Version-Specific Notes
Upgrading to v0.7.0 or Later
Authentication (optional)
Version 0.7.0+ supports optional password protection. If you want to add authentication after upgrading, you must follow these steps in order:
- Upgrade to v0.7.0+ without setting the
AUTH_SECRETenvironment variable - Complete data migration in web UI
- Set the
AUTH_SECRETenvironment variable to your docker deployment (see installation guide for details) - Restart container
- Create a password in web UI
If you set the AUTH_SECRET environment variable before upgrading, you won't be able to blocked by the auth screen. To get unblocked, simply remove the AUTH_SECRET environment variable and restart the container, and complete the data migration first.
API
Version 0.7.0+ supports an experimental API.
Visit the API Documentation for updated endpoint documentation.
Post-Upgrade Steps
- Complete Migration: If prompted, complete the data migration process
- Verify Installation: Confirm TaskTrove is running correctly
- Test Core Functionality: Verify that your tasks, projects, and user data are intact
- Check Configuration: Review any configuration changes that may be needed
- Monitor for Issues: Watch for any errors or performance issues after the upgrade
Troubleshooting
If you encounter issues during or after the upgrade, see the Troubleshooting guide or visit our Community Support page.
Downgrade / Rollback
If you need to rollback to a previous version after an upgrade:
Using Docker with Versioned Tags
# Stop and remove current container
docker stop tasktrove
docker rm tasktrove
# Restore your data backup (if migrated)
cp ./data/data.json.backup-[timestamp] ./data/data.json
# Run with specific version tag
docker run -p 3000:3000 -v ./data:/app/data -d --restart=always --name tasktrove ghcr.io/dohsimpson/tasktrove:v0.2.0Using Docker Compose
Update your docker-compose.yml to specify the version:
services:
tasktrove:
image: ghcr.io/dohsimpson/tasktrove:v0.2.0 # Specify version instead of 'latest'Then recreate the container:
docker-compose down
docker-compose up -dImportant Notes
- Data Compatibility: If your data was migrated to a newer format, you must restore from a pre-migration backup
- Version Tags: Available versions can be found on the GitHub releases page