Skip to content

Upgrading

This guide explains how to upgrade your La Suite Meet instance to a new version.

Before upgrading

  1. Read the changelog: Check CHANGELOG.md and UPGRADE.md for breaking changes between your current version and the target version.

  2. Back up your database:

    docker compose exec postgresql pg_dump -U meet meet > meet_backup_$(date +%Y%m%d).sql
    

  3. Note your current version:

    docker compose images | grep meet
    

Standard upgrade procedure

1. Pull new images

docker compose pull

This downloads the latest images without stopping your running containers.

2. Check for migration requirements

Review UPGRADE.md for the specific version you're upgrading to. Some releases require manual steps before restarting.

3. Restart with new images

docker compose up -d

Docker Compose will recreate containers that have a new image and leave unchanged containers running.

4. Run database migrations

docker compose exec app python manage.py migrate

Always run migrations after upgrading — even if the changelog doesn't mention schema changes, it is safe to run.

5. Collect static files

docker compose exec app python manage.py collectstatic --no-input

6. Verify the upgrade

# Check all containers are healthy
docker compose ps

# Check application logs for errors
docker compose logs --tail=50 app

# Test the application in your browser

Upgrading with zero downtime

For minimal disruption:

  1. Pull new images while old containers run: docker compose pull
  2. Schedule a maintenance window during low-traffic hours
  3. Run the upgrade during the window: docker compose up -d
  4. Migration typically takes seconds to a few minutes

Rolling back

If something goes wrong:

Roll back the application

# Stop current containers
docker compose down

# Pull and start a specific version
docker compose pull --no-parallel
# Edit compose.yml to pin image tags to the previous version
docker compose up -d

# Roll back the database (if migrations ran)
docker compose exec app python manage.py migrate <app_name> <previous_migration>

Restore from backup

# Stop the app
docker compose stop app celery

# Restore the database
docker compose exec -T postgresql psql -U meet meet < meet_backup_YYYYMMDD.sql

# Start the app
docker compose start app celery

Version pinning

By default, docker compose pull fetches :latest. To pin to a specific version, edit your compose.yml:

services:
  app:
    image: lasuite/meet-backend:1.15.0  # pin to specific version

This is recommended for production to avoid unexpected upgrades.

Automatic upgrades (Watchtower)

You can use Watchtower to automatically pull and restart containers when new images are published:

watchtower:
  image: containrrr/watchtower
  volumes:
    - /var/run/docker.sock:/var/run/docker.sock
  command: --interval 86400  # check every 24 hours

Note: Automatic upgrades can introduce breaking changes. Review changelogs before enabling this in production.

Keeping LiveKit up to date

LiveKit server and Egress should be upgraded separately. Check the LiveKit changelog for compatibility notes with your Meet version.

docker compose pull livekit livekit-egress
docker compose up -d livekit livekit-egress

Getting help with upgrades

If you encounter issues during an upgrade:

  • Check GitHub Issues for known upgrade problems
  • Ask in the Matrix community
  • Open a new issue with your current version, target version, and error logs