Back-up en herstel van de Gitea-server

Alles kan gebeuren in deze moeilijke tijden

Inhoud

Nodig om de 1) db, 2) filestorage, 3) enkele andere gitea bestanden te back-uppen. Hier gaan we.

zeer mooie foto van een geopende hdd

In de Testing Gitea post hebben we de gitea server geïnstalleerd.

Wanneer

Nu, gewoon als voorzorgsmaatregel tegen afschuwelijke dingen die kunnen gebeuren, moeten we de back-up en herstelprocedure oefenen.

Better safe than sorry.

Waar

De gitea server data bestaat uit 3 componenten

  • code
  • filestore
  • db

In ons testomgeving nemen ze samen iets meer dan 700MB in beslag:

gitea disk usage

Zoals ze aanbevelen, moet je alle services stoppen en ze allemaal back-uppen, soort van in één transactie.

En herstellen, ook in één transactie.

Hoe - Back-up

cd ~/gitea-srv-local

# back-up de db
sudo docker exec -t gitea-srv-local_db_1 bash -c 'pg_dump gitea -U gitea  --file=/var/lib/postgresql/backups/gitea-db-$(date +%Y-%m-%d).sql'

# zet gitea uit
sudo docker-compose down

# controleer de back-upmap
sudo ls postgres-backups

# maak back-upmap aan
mkdir gitea-backups

# back-up de gitea map
sudo tar -zcvf gitea-backups/gitea-gitea-$(date +%Y-%m-%d).tgz gitea/gitea

# back-up de repos map
sudo tar -zcvf gitea-backups/gitea-git-$(date +%Y-%m-%d).tgz gitea/git

# start het opnieuw
sudo docker-compose up -d

laatste stuk - log in op een andere server en haal de back-upmap daarheen, of doe iets anders ingewikkelds met bestanden

scp -r uname@gitea-srv-ip-addr:/home/uname/gitea-srv-local/gitea-backups ~/gitea-backups
scp -r uname@gitea-srv-ip-addr:/home/uname/gitea-srv-local/postgres-backups ~/postgres-backups

Hoe - Herstel

Daadwerkelijk is er iets meer aan te doen, vooral met betrekking tot rechten en hooks, maar het idee is hetzelfde.

Maar! controleer de originele documentatie: https://docs.gitea.com/administration/backup-and-restore

# installeer het eerst
# zet het dan uit
sudo docker-compose down

# herstel bestanden
tar -zxvf gitea-git-___.tgz gitea/git
tar -zxvf gitea-gitea-___.tgz gitea/gitea

# start het opnieuw
sudo docker-compose up -d

# hier is enige activiteit met psql of pg_restore
sudo docker exec -t gitea-srv-local_db_1 bash -c 'psql gitea -U gitea  --file=/var/lib/postgresql/backups/gitea-db-$(date +%Y-%m-%d).sql'

Ga dan naar de UI en controleer het.