# How to upgrade a Docker Jitsi Meet server safely

> Back up your .env and CONFIG folder, download docker-compose.yml and any overlays (jibri.yml, jigasi.yml) from the new stable release, set JITSI_IMAGE_VERSION to the same tag, diff the new env.example against your .env for new settings, then docker compose pull, down and up -d. Test with three people. Roll back by restoring the old files and tag.

Source: https://jitsi.help/guides/upgrade-jitsi-docker/
Updated: September 26, 2026
Publisher: Jitsi Help (https://jitsi.help/)

Jitsi releases often, and the Docker images make upgrading easy to do and easy to get wrong. The rule that prevents most breakage: **the compose files and the image tags must come from the same release.**

## 1. Read the release notes

Check the docker-jitsi-meet release notes for the target `stable-NNNNN` tag. Look for renamed or removed variables and changed defaults.

## 2. Back up

```bash
cd /opt/jitsi-meet
tar czf ~/jitsi-backup-$(date +%F).tgz .env docker-compose.yml *.yml config/
```

On a cloud server, a disk snapshot is even better.

## 3. Download the new release's files

```bash
NEW=stable-NNNNN   # the release you are moving to
BASE=https://raw.githubusercontent.com/jitsi/docker-jitsi-meet/$NEW
curl -fsSLO $BASE/docker-compose.yml
curl -fsSL -o env.example.new $BASE/env.example
# Only if you use them:
curl -fsSLO $BASE/jibri.yml
curl -fsSLO $BASE/jigasi.yml
```

## 4. Compare settings

```bash
diff <(grep -oE '^#?[A-Z_]+=' env.example.new | tr -d '#' | sort -u) \
     <(grep -oE '^[A-Z_]+=' .env | sort -u)
```

Lines only in the new example are new settings; decide whether you need them. Then pin the images:

```ini
JITSI_IMAGE_VERSION=stable-NNNNN
```

## 5. Pull and restart

```bash
docker compose pull
docker compose down
docker compose up -d
docker compose ps
```

Add `-f jibri.yml` and your other overlays to every command if you use them.

## 6. Test

- Three people in one room, cameras and screen share.
- A host login, if you use authentication or JWT.
- A short recording and a transcript, if enabled.
- Branding still applied (hard-refresh the browser).

## 7. Roll back if needed

```bash
docker compose down
tar xzf ~/jitsi-backup-YYYY-MM-DD.tgz
docker compose up -d
```

Because the old compose file still names the old tag, this returns you exactly to where you were.

## Staying current without the work

Our platform pins every server to a tested release (currently `stable-11031`) and moves to newer ones only after they pass our deployment tests. If you run your own servers, our [support plans](/services/jitsi-support/) include upgrades done and verified for you.

## Frequently asked questions

### How often should I upgrade Jitsi?

Apply security fixes promptly and otherwise upgrade every few months to a recent stable release. Skipping many releases makes each upgrade riskier, because more settings change at once.

### Will upgrading lose my branding or users?

Not if branding lives in the custom-*.js files and users live in Prosody's data under the CONFIG folder. Both are kept. Anything edited directly in generated files like config.js is lost, which is why those edits belong in the custom files.

### Can I upgrade only one container?

Avoid it. The components are released and tested together. Run every service from the same stable tag, and download the compose files from that same tag.


---

Jitsi Help is an independent service. It is not affiliated with, endorsed by or sponsored by 8x8, Inc. or the Jitsi project. Jitsi and Jitsi Meet are trademarks of 8x8, Inc., used here only to describe the software we host and support.
