Procédure de restauration de sauvegarde sur git.afpy.org
This commit is contained in:
parent
4b4e7c352a
commit
f9652e04fa
78
README.md
78
README.md
|
@ -125,29 +125,89 @@ Une fois la mise à jour terminée, il est de bon goût de mettre à jour
|
|||
`gitea_version` dans `gitea.yml`.
|
||||
|
||||
|
||||
### Sauvegardes
|
||||
|
||||
Les données sont sauvegardées automatiquement via rsync sur
|
||||
`backup1.afpy.org` (voir `backup.yml`).
|
||||
|
||||
Côté VPS Gandi on a aussi un snapshot du volume tous les jours.
|
||||
|
||||
|
||||
### Restaurer une sauvegarde
|
||||
|
||||
La machine est sauvegardée automatiquement sur `backup1.afpy.org` (voir `backup.yml`).
|
||||
Procédure testée le 2022-11-29 par [mdk](https://git.afpy.org/mdk).
|
||||
|
||||
Voici la procédure pour restaurer une sauvegarde sur une nouvelle
|
||||
machine « from scratch ».
|
||||
|
||||
|
||||
#### Commander une nouvelle machine
|
||||
|
||||
Typiquement chez Gandi une `V-R1: 1 CPU · 1 GB RAM`, avec une Debian
|
||||
11, n'oubliez pas d'y mettre une clé SSH.
|
||||
|
||||
|
||||
#### Nommer la machine
|
||||
|
||||
Typiquement `gitea2.afpy.org`, configurer les DNS, en profiter pour
|
||||
réduire le TTL de git.afpy.org puisqu'il faudra le changer à la fin.
|
||||
|
||||
|
||||
#### Autoriser à se ssh en root
|
||||
|
||||
ssh debian@giteatest.afpy.org sudo cp /home/debian/.ssh/authorized_keys /root/.ssh/
|
||||
|
||||
|
||||
#### Ajouter la machine dans l'inventaire Ansible
|
||||
|
||||
Ça devra donc ressembler à :
|
||||
|
||||
```ini
|
||||
[gitea]
|
||||
gitea2.afpy.org
|
||||
```
|
||||
|
||||
On peut probablement supprimer l'autre qui ne marche plus...
|
||||
|
||||
|
||||
#### Lancer Ansible
|
||||
|
||||
`ansible-playbook gitea.yml`
|
||||
|
||||
|
||||
#### rsync la sauvegarde
|
||||
|
||||
J'utilise du `ssh agent forwarding`, si vous n'en utilisez-pas vous
|
||||
aurez peut-être à rsync sur votre machine d'abord.
|
||||
|
||||
Adapté de : https://docs.gitea.io/en-us/backup-and-restore/#restore-command-restore
|
||||
|
||||
Les sauvegardes sont sur `backup1.afpy.org` dans `/srv/backups/`,
|
||||
copiez-les d’abord vers `gitea1.afpy.org`.
|
||||
|
||||
Une fois la sauvegarde rappatriée (`gitea.zip` ET `gitea.sql`) :
|
||||
Donc, depuis gitea2:
|
||||
|
||||
cd /var/lib/gitea/
|
||||
rsync -vah backup1.afpy.org:/srv/backups/rsnapshot_afpy/daily.0/git.afpy.org/var/backups/gitea/ ./
|
||||
systemctl stop gitea
|
||||
rm -fr data custom
|
||||
unzip gitea.zip
|
||||
rm gitea.zip
|
||||
mv app.ini /etc/gitea/app.ini
|
||||
rsync -vah --delete data/ /var/lib/gitea/data/
|
||||
rsync -vah --delete repos/ /var/lib/gitea/data/gitea-repositories/
|
||||
rsync -vah --delete custom/ /var/lib/gitea/custom/
|
||||
chown -R git:git /var/lib/gitea/
|
||||
mv repos data/gitea-repositories
|
||||
chown -R git:git .
|
||||
sudo --user git psql -d gitea < gitea.sql
|
||||
rm gitea.sql
|
||||
|
||||
Puis passer le playbook `gitea.yml` pour remettre les bons droits partout (le playbook démarrera aussi `gitea`).
|
||||
|
||||
|
||||
#### Tester et mettre à jour git.afpy.org
|
||||
|
||||
Un rapide test peut être effectué via :
|
||||
|
||||
curl --resolve git.afpy.org:IP_DE_LA_NOUVELLE_MACHINE https://git.afpy.org
|
||||
|
||||
Puis il faut mettre à jour le CNAME de git.afpy.org pour le faire pointer vers la nouvelle machine.
|
||||
|
||||
|
||||
# Ansible
|
||||
|
||||
On utilies ces rôles Ansible :
|
||||
|
|
|
@ -22,8 +22,9 @@
|
|||
virtualenv_command: /usr/bin/python3 -m venv
|
||||
virtualenv: /root/certbot-venv/
|
||||
name:
|
||||
- certbot
|
||||
- certbot-plugin-gandi
|
||||
- "certbot<2" # See https://github.com/certbot/certbot/issues/9485
|
||||
- "acme<2" # See https://github.com/certbot/certbot/issues/9485
|
||||
- "certbot-plugin-gandi"
|
||||
|
||||
- name: Setup Gandi credentials
|
||||
copy:
|
||||
|
|
Loading…
Reference in New Issue