docs/en/admins/04_Updating.md
This is the general procedure; for specific Linux commands, see Updating on Linux.
ℹ️ Update version by version (e.g. from 1.26.0, go to 1.27.1 before 1.28.1) and verify FreshRSS runs after each step. The web interface walks this path automatically; with git or a zip archive, pick intermediate versions yourself.
Before updating, back up:
./data/./extensions/ if you use third-party extensions./i/themes/ if you have custom themesSee the Backup page for the full list and procedures.
Web updates require group write permissions on the FreshRSS source folder.
Log in as admin, open the Settings menu (top right), choose Administration, then Update, and press "Check for new updates". The page is also reachable at http://<your_server>/i/?c=update. This will check for and apply a new stable version, if available.
Use git to update, change branches, or switch to a specific version. From your FreshRSS install directory:
⚠️ Make sure your backup is outside the FreshRSS directory before starting.
git fetch --all
git reset --hard # discards local changes to tracked files
git clean -f -d # removes untracked files (custom themes, extensions, local edits)
git checkout edge # or `latest` for stable, or a tag like `1.27.1` for a specific version
git pull --ff-only # skip for a tag checkout
Then re-apply file ownership and permissions.
See Updating on Linux for the same flow with sudo and the FreshRSS permissions helper.
Updating from a zip archive works for any source installation.
FreshRSS-X.Y.Z/ folder.Note that overwriting does not remove files that were deleted in newer releases; this is rarely a problem in practice.
If you run FreshRSS in Docker, see How to update in the Docker README.