2025-10-30 || Tags: gitea docker self-hosting backup
I run gitea on my umbrel server and it's an absolute dream. Painless set up, worked first time, easy to follow instructions; couldn't really ask for more... except the backup story. Backing up your gitea instance is unfortunately not provided through the web interface, an API, or anything quite so simple.
This is the very annoyingly manual way I backup my gitea instance. This is more posted here so I can remember how to do it next week in case I forget.
ssh umbrel@umbrel.local
sudo docker ps | grep gitea
sudo docker exec -it <docker gitea id> sh
For me it was in /app/gitea/gitea. To find it, use this:
find / -name "gitea"
For me the ini was /etc/gitea/app.ini
/app/gitea/gitea dump -c /etc/gitea/app.ini
After it finishes, the last line should give you something like:
2025/10/30 23:29:25 cmd/dump.go:334:runDump() [I] Finish dumping in file /var/lib/gitea/gitea-dump-<linux-epoch>.zip
exit
sudo docker cp <docker gitea id>:/var/lib/gitea/gitea-dump-<linux-epoch>.zip .
The file is probably owned by root. Let's change the owner so that it's easier to copy off later
sudo chown <user> gitea-dump<linux epoch>.zip
Store it somewhere safe. Try 3-2-1.
unzip git-dump-<linux epoch>.zip
ls repos/<user>
ls <temporary folder>
git clone repos/<user>/<repo name>.git <temporary folder>