This guide helps Gitea admins perform upgrades safely and provides guidance to troubleshoot problems. It covers [Gitea 1.2.0](https://github.com/go-gitea/gitea/releases/tag/v1.2.0) and above.
There are [many ways to install Gitea](https://docs.gitea.io/en-us/install-with-docker/) on various Operating Systems, each with their particular challenges and potential for trouble. The scope of this guide is limited to what [Hostea](https://hostea.org) uses daily:
* Docker based installation (either [root](https://docs.gitea.io/en-us/install-with-docker/) or [rootless](https://docs.gitea.io/en-us/install-with-docker-rootless/)) using the [Gitea images published on the Docker hub](https://hub.docker.com/r/gitea/gitea).
* Any GNU/Linux based Operating Systems
It is the source of truth that Hostea members use when maintaining the infrastructure and developing the service.
In all cases the only reliable way to perform a backup is with a [synchronized point-in-time snapshot of all the storage used by Gitea](https://github.com/go-gitea/gitea/issues/19752#issuecomment-1133627365). For instance, if everything (SQLite database + repositories etc.) is on a single QCOW2 disk attached to a virtual machine, a [qemu snapshot](https://wiki.qemu.org/Features/Snapshots) guarantees the backup is consistent.