Skip to content

Upgrading TaskTrove

This guide covers how to upgrade your TaskTrove installation to the latest version.

Before You Upgrade

  1. Backup Your Data: Always create a complete backup of your TaskTrove data before upgrading. See the Backup for detailed instructions.

  2. 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:

bash
# 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/tasktrove

Docker Compose Installation

If you're running TaskTrove with Docker Compose:

bash
# 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 -d

Automatic Data Migration

Starting from version 0.3.0, TaskTrove includes an automatic data migration system that handles schema changes between versions.

How It Works

  1. Detection: When you start TaskTrove after an upgrade, it automatically detects if your data needs migration
  2. Prompt: You'll see a migration dialog explaining what will be changed
  3. Backup: The system creates a timestamped backup file (data.json.backup-[timestamp]) before migrating
  4. Migration: Your data is transformed to work with the new version
  5. 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

Post-Upgrade Steps

  1. Complete Migration: If prompted, complete the data migration process
  2. Verify Installation: Confirm TaskTrove is running correctly
  3. Test Core Functionality: Verify that your tasks, projects, and user data are intact
  4. Check Configuration: Review any configuration changes that may be needed
  5. 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

bash
# 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.0

Using Docker Compose

Update your docker-compose.yml to specify the version:

yaml
services:
  tasktrove:
    image: ghcr.io/dohsimpson/tasktrove:v0.2.0  # Specify version instead of 'latest'

Then recreate the container:

bash
docker-compose down
docker-compose up -d

Important 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