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`.
|
`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
|
### 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
|
Adapté de : https://docs.gitea.io/en-us/backup-and-restore/#restore-command-restore
|
||||||
|
|
||||||
Les sauvegardes sont sur `backup1.afpy.org` dans `/srv/backups/`,
|
Donc, depuis gitea2:
|
||||||
copiez-les d’abord vers `gitea1.afpy.org`.
|
|
||||||
|
|
||||||
Une fois la sauvegarde rappatriée (`gitea.zip` ET `gitea.sql`) :
|
|
||||||
|
|
||||||
|
cd /var/lib/gitea/
|
||||||
|
rsync -vah backup1.afpy.org:/srv/backups/rsnapshot_afpy/daily.0/git.afpy.org/var/backups/gitea/ ./
|
||||||
systemctl stop gitea
|
systemctl stop gitea
|
||||||
|
rm -fr data custom
|
||||||
unzip gitea.zip
|
unzip gitea.zip
|
||||||
|
rm gitea.zip
|
||||||
mv app.ini /etc/gitea/app.ini
|
mv app.ini /etc/gitea/app.ini
|
||||||
rsync -vah --delete data/ /var/lib/gitea/data/
|
mv repos data/gitea-repositories
|
||||||
rsync -vah --delete repos/ /var/lib/gitea/data/gitea-repositories/
|
chown -R git:git .
|
||||||
rsync -vah --delete custom/ /var/lib/gitea/custom/
|
|
||||||
chown -R git:git /var/lib/gitea/
|
|
||||||
sudo --user git psql -d gitea < gitea.sql
|
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`).
|
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
|
# Ansible
|
||||||
|
|
||||||
On utilies ces rôles Ansible :
|
On utilies ces rôles Ansible :
|
||||||
|
|
|
@ -22,8 +22,9 @@
|
||||||
virtualenv_command: /usr/bin/python3 -m venv
|
virtualenv_command: /usr/bin/python3 -m venv
|
||||||
virtualenv: /root/certbot-venv/
|
virtualenv: /root/certbot-venv/
|
||||||
name:
|
name:
|
||||||
- certbot
|
- "certbot<2" # See https://github.com/certbot/certbot/issues/9485
|
||||||
- certbot-plugin-gandi
|
- "acme<2" # See https://github.com/certbot/certbot/issues/9485
|
||||||
|
- "certbot-plugin-gandi"
|
||||||
|
|
||||||
- name: Setup Gandi credentials
|
- name: Setup Gandi credentials
|
||||||
copy:
|
copy:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user