Files
wiki/Upgrade_Gitea.md

59 lines
1.9 KiB
Markdown

---
title: Upgrading Gitea
description:
published: true
date: 2022-04-30T20:10:44.240Z
tags: git, backup, docker, linux, restore, upgrade
editor: markdown
dateCreated: 2022-01-31T18:03:38.387Z
---
Upgrading Gitea can involve migrating the Postgresql settings, which must be done carefully. It consists of two phases - the export, which is done via the Gitea server, and the import - which is done partly through the server and partly through the database.
# Export
Gitea has a built in `dump` utility - executing the following will dump a `.zip` file into your current directory:
`docker exec -u git -w /data $(docker ps -qf "name=gitea_server") sh -c '/app/gitea/gitea dump -c /data/gitea/conf/app.ini'`
This will generate a zipped dump file:
```bash
Takahe:/Red-Vol/Media/Containers/gitea # ll /Red-Vol/Media/Containers/gitea/*.zip
-rw------- 1 shmick 1000 355487720 Jan 31 20:01 /Red-Vol/Media/Containers/gitea/gitea-dump-1643652088.zip
```
Now, this zip will consist of the server directories, and a `.sql` dump to restore to the database.
# Import
## Server
The dump is simply the contents of the `/data` directory, wherever it is mapped.
Simply move it where it should be and `chown` it to your user:
`Takahe:/Red-Vol/Media/Containers/gitea # chown -R shmick data/`
## Database
Inside the dumped archive you will find an SQL file:
```bash
Takahe:/Red-Vol/Media/Containers/gitea/postgresql # ll *.sql
-rw------- 1 70 root 775806 Jan 31 20:01 gitea-db.sql
```
In order to restore it, you must first bring up the database on the new container after updating the image. Then, move it to the database's mapped directory on the host.
Then, `exec` into the container:
`docker exec -ti gitea_db /bin/bash`
Finally, restore using the `psql` command:
`psql -U $USER -d $DATABASE < gitea-db.sql`
Finally, exit the container, bring the stack down with `docker-compose down` and recreate with `docker-compose up -d`.
Enjoy your new blazing fast Gitea!