From bf0bedae1c0362cec26ed12b8a753054bba2e3ed Mon Sep 17 00:00:00 2001 From: spa77k <254093522+spa77k@users.noreply.github.com> Date: Fri, 23 Oct 2026 05:18:30 +0900 Subject: [PATCH] Docker: Explain how to update with volumes and Compose (#9480) Closes #4942 - Explain in *How to update* that data and extensions stay in the Docker volumes, so updating only means running a newer image with the same volumes, and recommend a back-up first. - Add the Docker Compose variant (`pull` then `up` with the same `-f` files). - Warn to keep the same major version of the PostgreSQL image when updating FreshRSS (a new major version refuses to start with older data), pointing to *Migrate database*, and to check `.env` variable names when replacing Compose files with newer copies. --- Docker/README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Docker/README.md b/Docker/README.md index 6f66944b0..b5a2350c8 100644 --- a/Docker/README.md +++ b/Docker/README.md @@ -105,6 +105,10 @@ and with newer packages in general (Apache, PHP). ## How to update +Your data and extensions are kept in the `freshrss_data` and `freshrss_extensions` volumes, +so updating FreshRSS only means running a newer image with the same volumes. +Back up these volumes (and your database, if not using SQLite) first; see [Backup](../docs/en/admins/05_Backup.md). + ```sh # Rebuild an image (see build section below) or get a new online version: docker pull freshrss/freshrss:edge @@ -117,6 +121,17 @@ docker run ... --name freshrss freshrss/freshrss:edge docker rm freshrss_old ``` +With [Docker Compose](#docker-compose), run `pull` and then `up` again, with the same `-f` files as when you started, e.g.: + +```sh +docker compose -f docker-compose.yml -f docker-compose-db.yml pull +docker compose -f docker-compose.yml -f docker-compose-db.yml -f docker-compose-local.yml up -d --remove-orphans +``` + +> ⚠️ Keep the same major version of your database image (e.g. `postgres:17`) when updating FreshRSS, even if our example Compose files use a newer one: +> a new major version of PostgreSQL refuses to start with the data of a previous one. To change it, see [Migrate database](#migrate-database). +> If you replace your Compose files with newer copies of ours, also check that your `.env` file still uses the same variable names. + ## Build custom Docker image Building your own Docker image is especially relevant for platforms not available on our Docker Hub,