Upgrading
Trove handles database migrations automatically on startup — there’s no manual migration step.
Docker Compose
docker compose pull
docker compose up -dThis pulls the latest image and recreates the container. Downtime is typically a few seconds.
Docker (standalone)
docker pull ghcr.io/agjmills/trove:latest
docker stop trove
docker rm trove
docker run -d --name trove ... # same flags as beforeManual (binary)
git pull
go build -o trove ./cmd/server
./trovePinning a version
The latest tag always tracks the most recent release. To pin to a specific version:
image: ghcr.io/agjmills/trove:v1.2.3Available tags are listed on the GitHub releases page.
Before upgrading
- Back up your database. Migrations are applied automatically and are not reversible without a backup.
- Back up your storage path (
STORAGE_PATH) if using the disk backend. - Check the changelog for any breaking changes or new required environment variables.
Upgrading to v0.11 (video transcoding)
v0.11 adds automatic video transcoding. The web app enqueues jobs for new video uploads, and a separate transcoder container (bundled with ffmpeg) processes them one at a time into H.264/AAC MP4 (max 720p, faststart) for in-browser streaming. Originals are retained for downloads.
To enable it:
Add the
transcoderservice to your compose file (see the install guide) — it must share the app’s storage volume and database.docker compose up -dConvert videos that were already uploaded:
docker compose run --rm transcoder -backfillAlready-compatible MP4s are marked ready without re-encoding; everything else is converted in the background. Check progress with
docker compose logs -f transcoder.
The transcoder service is optional — without it, uploads and downloads work
exactly as before, only in-browser video playback is unavailable.