Revert "Merge pull request 'Python' (#81) from Python into master"

This reverts commit 7908c218fa, reversing
changes made to 1c57928338.
This commit is contained in:
MilesTEG 2021-08-10 16:00:38 +02:00
parent 7908c218fa
commit 11582415bd
84 changed files with 5297 additions and 573 deletions

View file

@ -0,0 +1,171 @@
Changer le thème de Gitea <!-- omit in toc -->
============
---
> :pencil2: **Mise à jour :** Ajout de la possibilité de changer le style dans le menu `Configuration / Comptes / Sélectionner le thème par défaut` pour les thèmes Gitea de [theme.park](https://github.com/gilbN/theme.park/wiki/Gitea). <br>
*Voir* [§ 2. Ajouter les différents thèmes en laissant le choix à l'utilisateur](#2-ajouter-les-différents-thèmes-en-laissant-le-choix-à-l-utilisateur)
---
:arrow_forward: Vous pouvez trouver quelques thèmes ici : https://gitea.com/gitea/awesome-gitea#themes
:book: Dans la suite de ce tuto, on ne parlera que des thèmes Gitea de [theme.park](https://github.com/gilbN/theme.park/wiki/Gitea).
## Table des matières <!-- omit in toc -->
- [1. Modifier le thème sans laisser le choix à l'utilisateur](#1-modifier-le-thème-sans-laisser-le-choix-à-l-utilisateur)
- [1.1. Installer le thème](#1-1-installer-le-thème)
- [1.2. Exemple avec le dernier lien du dépôt donnée précédemment](#1-2-exemple-avec-le-dernier-lien-du-dépôt-donnée-précédemment)
- [1.2.1. Installer le thème (imposé pour tous)](#1-2-1-installer-le-thème-imposé-pour-tous)
- [1.2.2. Changer le thème](#1-2-2-changer-le-thème)
- [2. Ajouter les différents thèmes en laissant le choix à l'utilisateur](#2-ajouter-les-différents-thèmes-en-laissant-le-choix-à-l-utilisateur)
- [2.1. Création des dossiers dans `/volume1/docker/gitea/data/`](#2-1-création-des-dossiers-dans-volume1-docker-gitea-data)
- [2.2. Télécharger les différents css](#2-2-télécharger-les-différents-css)
- [2.3. Création du fichier `header.tmpl`](#2-3-création-du-fichier-header-tmpl)
- [2.4. Modification du fichier `/data/gitea/conf/app.ini`](#2-4-modification-du-fichier-data-gitea-conf-app-ini)
- [2.4.1. Point info sur la modification de ce fichier](#2-4-1-point-info-sur-la-modification-de-ce-fichier)
- [2.4.2. Ce qu'il faut ajouter au fichier `/data/gitea/conf/app.ini`](#2-4-2-ce-qu-il-faut-ajouter-au-fichier-data-gitea-conf-app-ini)
- [2.4.3. Redémarrer le conteneur](#2-4-3-redémarrer-le-conteneur)
- [2.5. Choisir son thème dans l'interface graphique de Gitea](#2-5-choisir-son-thème-dans-l-interface-graphique-de-gitea)
# 1. Modifier le thème sans laisser le choix à l'utilisateur
## 1.1. Installer le thème
Il faut vérifier si la variable GITEA_CUSTOM a été paramétrée. En temps normal, ce n'est pas le cas.
Si ce n'est pas le cas, on peut aller vérifier le chemin qui est paramétré pour le dossier dit CUSTOM de gitea. Pour celà, il faut aller ici : <br>
`https://url-de-votre-gitea.tlds/admin/config`
Puis chercher la ligne `GITEA_CUSTOM` où apparaîtra le chemin d'accès : `/data/gitea`.
Dans le cas d'une installation Docker, ça donnerait ceci : `/docker/gitea/data/gitea`
<br>(voir le fichier **docker-compose.yml** pour le chemin d'accès avant le `/data/gitea`)
Il faudra alors créer les dossiers suivants :
- `public`
- `templates`
- `templates/custom`
Puis il faudra suivre les instructions du thème choisi. Pour ceux qui n'auraient pas d'instructions, le fichier `styles.css` devra se trouver dans le dossier `public`.
## 1.2. Exemple avec le dernier lien du dépôt donnée précédemment
### 1.2.1. Installer le thème (imposé pour tous)
Je vais prendre le dernier lien présent dans le dépôt donné avant la table des matières.
> - [theme.park](https://github.com/gilbN/theme.park/wiki/Gitea) - A theme suite for Gitea.
Dans ce nouveau dépôt ( https://github.com/gilbN/theme.park/wiki/Gitea ) vous trouverez plusieurs thèmes.
Je trouve les thèmes plex, dark et space-gray relativement sympas.
Des captures sont présentes plus bas dans la page : https://github.com/gilbN/theme.park/wiki/Gitea#screenshots
Il faut créer deux fichiers :
- `public/styles.css` qui contient (avec des commentaires perso) :
```css
/* Source : https://github.com/gilbN/theme.park/wiki/Gitea
Possibilités : https://gilbn.github.io/theme.park/CSS/themes/gitea/XXX.css
aquamarine.css <--- pas terrible
hotline.css
plex.css <--- TOP
dark.css <--- TOP
space-gray.css <--- TOP
organizr-dark.css
*/
@import url("https://gilbn.github.io/theme.park/CSS/themes/gitea/plex.css");
```
- `templates/custom/header.tmpl` qui contient :
```html
<link rel="stylesheet" href="{{AppSubUrl}}/styles.css">
```
Une fois les fichiers créés et placés dans ces dossiers (faire attention aux permissions), il suffit de redémarrer Gitea (ou le conteneur si installation en Docker).
### 1.2.2. Changer le thème
Pour changer le thème, il suffit de :
- modifier le `public/styles.css` avec le nom du css désiré ;
- redémarrer Gitea ;
- ne pas oublier de vider le cache du navigateur... sinon le nouveau thème ne sera pas visible... (ça m'a pris 15 minutes d'essais et au bout de ce temps l'utilisation d'un autre navigateur pour le comprendre...).
---
---
# 2. Ajouter les différents thèmes en laissant le choix à l'utilisateur
> :memo: Cette partie devrait être compatible avec d'autres thèmes qui n'apportent qu'un seul fichier `.css`. ***À confirmer...***
## 2.1. Création des dossiers dans `/volume1/docker/gitea/data/`
- Il faut vérifier si la variable GITEA_CUSTOM a été paramétrée. En temps normal, ce n'est pas le cas.
- Si ce n'est pas le cas, on peut aller vérifier le chemin qui est paramétré pour le dossier dit CUSTOM de gitea. Pour celà, il faut aller ici :
`https://url-de-votre-gitea.tlds/admin/config`
- Puis chercher la ligne `GITEA_CUSTOM` où apparaîtra le chemin d'accès : `/data/gitea`.
- Dans le cas d'une installation Docker, ça donnerait ceci : `/docker/gitea/data/gitea`
<br>(voir le fichier **docker-compose.yml** pour le chemin d'accès avant le `/data/gitea`)
- Il faudra alors créer les dossiers suivants :
- `public`
- `public/css`
- `templates`
- `templates/custom`
## 2.2. Télécharger les différents css
- Télécharger les différents thèmes .css ici : https://github.com/gilbN/theme.park/tree/master/CSS/themes/gitea.
*(Ne pas les renommer.)*
- Placer ces fichiers dans le dossier `...public/css` créé précédemment.
## 2.3. Création du fichier `header.tmpl`
- Créer le fichier `header.tmpl` et l'enregistrer dans le dossier `.../templates/custom/` créé précédemment.
```html
<link rel="stylesheet" href="{{AppSubUrl}}/css/{{DefaultTheme}}.css">
<link rel="stylesheet" href="{{AppSubUrl}}/css/{{.SignedUser.Theme}}.css">
```
## 2.4. Modification du fichier `/data/gitea/conf/app.ini`
### 2.4.1. Point info sur la modification de ce fichier
Pour modifier ce fichier, il se peut que vous n'ayez pas les permissions d'enregistrer les modifications apportées... Il faudra alors le copier ailleurs, faire les modifications et sauvegarder, puis re-copier dans l'autre sens le fichier dans son dossier d'origine.
C'est ce que je dois faire. Depuis une ligne de commande SSH, je fais :
- Je copie le fichier dans un dossier où mon utilisateur Admin à les droits en écriture (je ne me logue pas avec l'utilisateur choisir pour Gitea) : <br>`cp /volume1/docker/gitea/data/gitea/conf/app.ini /volume1/docker/gitea/`
- Je modifie et sauvegarde mon fichier...
- puis je copie en retour le fichier modifier : `cp /volume1/docker/gitea/app.ini /volume1/docker/gitea/data/gitea/conf/`
- Il faut ensuite relancer le conteneur Gitea avec Portainer/DSM ou en CLI : `docker restart gitea`
### 2.4.2. Ce qu'il faut ajouter au fichier `/data/gitea/conf/app.ini`
Il faut ajouter ceci au fichier `app.ini` :
```ini
[ui]
THEMES = gitea,arc-green,plex,aquamarine,dark,hotline,organizr-dark,space-gray
DEFAULT_THEME = arc-green
```
> :memo: Note : Il se peut que la section `[ui]` soit déjà présente dans votre `app.ini`, il faudra alors modifier la ligne `THEMES`.
### 2.4.3. Redémarrer le conteneur
Il faut bien penser à redémarrer le conteneur.
## 2.5. Choisir son thème dans l'interface graphique de Gitea
![](https://gitea.zoz-serv.org/Zoz/plex_fr_discord_repo/raw/branch/master/docker-compose/gitea/tuto-1.png)
![](https://gitea.zoz-serv.org/Zoz/plex_fr_discord_repo/raw/branch/master/docker-compose/gitea/tuto-2.png)
![](https://gitea.zoz-serv.org/Zoz/plex_fr_discord_repo/raw/branch/master/docker-compose/gitea/tuto-3.png)
---
Voilà, c'est la fin :D

View file

@ -0,0 +1,23 @@
/* dP dP dP */
/* 88 88 88 */
/* d8888P 88d888b. .d8888b. 88d8b.d8b. .d8888b. 88d888b. .d8888b. 88d888b. 88 .dP */
/* 88 88' `88 88ooood8 88'`88'`88 88ooood8 88' `88 88' `88 88' `88 88888" */
/* 88 88 88 88. ... 88 88 88 88. ... 88. .88 88. .88 88 88 `8b. */
/* dP dP dP `88888P' dP dP dP `88888P' 88 88Y888P' `88888P8 dP dP `YP */
/* 88 */
/* dP */
/* Made by @gilbN */
/* https://github.com/gilbN/theme.park */
/* Source : https://docs.theme-park.dev/themes/gitea/
Possibilités : https://theme-park.dev/CSS/themes/gitea/gitea/XXX.css
aquamarine.css <--- Pas mal celui .
hotline.css
plex.css <--- TOP
dark.css <--- TOP
space-gray.css <--- TOP, mon préféré !
organizr-dark.css
*/
@import url("https://theme-park.dev/CSS/themes/gitea/aquamarine.css");

View file

@ -0,0 +1,23 @@
/* dP dP dP */
/* 88 88 88 */
/* d8888P 88d888b. .d8888b. 88d8b.d8b. .d8888b. 88d888b. .d8888b. 88d888b. 88 .dP */
/* 88 88' `88 88ooood8 88'`88'`88 88ooood8 88' `88 88' `88 88' `88 88888" */
/* 88 88 88 88. ... 88 88 88 88. ... 88. .88 88. .88 88 88 `8b. */
/* dP dP dP `88888P' dP dP dP `88888P' 88 88Y888P' `88888P8 dP dP `YP */
/* 88 */
/* dP */
/* Made by @gilbN */
/* https://github.com/gilbN/theme.park */
/* Source : https://docs.theme-park.dev/themes/gitea/
Possibilités : https://theme-park.dev/CSS/themes/gitea/gitea/XXX.css
aquamarine.css <--- Pas mal celui .
hotline.css
plex.css <--- TOP
dark.css <--- TOP
space-gray.css <--- TOP, mon préféré !
organizr-dark.css
*/
@import url("https://theme-park.dev/CSS/themes/gitea/dark.css");

View file

@ -0,0 +1,23 @@
/* dP dP dP */
/* 88 88 88 */
/* d8888P 88d888b. .d8888b. 88d8b.d8b. .d8888b. 88d888b. .d8888b. 88d888b. 88 .dP */
/* 88 88' `88 88ooood8 88'`88'`88 88ooood8 88' `88 88' `88 88' `88 88888" */
/* 88 88 88 88. ... 88 88 88 88. ... 88. .88 88. .88 88 88 `8b. */
/* dP dP dP `88888P' dP dP dP `88888P' 88 88Y888P' `88888P8 dP dP `YP */
/* 88 */
/* dP */
/* Made by @gilbN */
/* https://github.com/gilbN/theme.park */
/* Source : https://docs.theme-park.dev/themes/gitea/
Possibilités : https://theme-park.dev/CSS/themes/gitea/gitea/XXX.css
aquamarine.css <--- Pas mal celui .
hotline.css
plex.css <--- TOP
dark.css <--- TOP
space-gray.css <--- TOP, mon préféré !
organizr-dark.css
*/
@import url("https://theme-park.dev/CSS/themes/gitea/hotline.css");

View file

@ -0,0 +1,23 @@
/* dP dP dP */
/* 88 88 88 */
/* d8888P 88d888b. .d8888b. 88d8b.d8b. .d8888b. 88d888b. .d8888b. 88d888b. 88 .dP */
/* 88 88' `88 88ooood8 88'`88'`88 88ooood8 88' `88 88' `88 88' `88 88888" */
/* 88 88 88 88. ... 88 88 88 88. ... 88. .88 88. .88 88 88 `8b. */
/* dP dP dP `88888P' dP dP dP `88888P' 88 88Y888P' `88888P8 dP dP `YP */
/* 88 */
/* dP */
/* Made by @gilbN */
/* https://github.com/gilbN/theme.park */
/* Source : https://docs.theme-park.dev/themes/gitea/
Possibilités : https://theme-park.dev/CSS/themes/gitea/gitea/XXX.css
aquamarine.css <--- Pas mal celui .
hotline.css
plex.css <--- TOP
dark.css <--- TOP
space-gray.css <--- TOP, mon préféré !
organizr-dark.css
*/
@import url("https://theme-park.dev/CSS/themes/gitea/organizr-dark.css");

View file

@ -0,0 +1,23 @@
/* dP dP dP */
/* 88 88 88 */
/* d8888P 88d888b. .d8888b. 88d8b.d8b. .d8888b. 88d888b. .d8888b. 88d888b. 88 .dP */
/* 88 88' `88 88ooood8 88'`88'`88 88ooood8 88' `88 88' `88 88' `88 88888" */
/* 88 88 88 88. ... 88 88 88 88. ... 88. .88 88. .88 88 88 `8b. */
/* dP dP dP `88888P' dP dP dP `88888P' 88 88Y888P' `88888P8 dP dP `YP */
/* 88 */
/* dP */
/* Made by @gilbN */
/* https://github.com/gilbN/theme.park */
/* Source : https://docs.theme-park.dev/themes/gitea/
Possibilités : https://theme-park.dev/CSS/themes/gitea/gitea/XXX.css
aquamarine.css <--- Pas mal celui .
hotline.css
plex.css <--- TOP
dark.css <--- TOP
space-gray.css <--- TOP, mon préféré !
organizr-dark.css
*/
@import url("https://theme-park.dev/CSS/themes/gitea/plex.css");

View file

@ -0,0 +1,23 @@
/* dP dP dP */
/* 88 88 88 */
/* d8888P 88d888b. .d8888b. 88d8b.d8b. .d8888b. 88d888b. .d8888b. 88d888b. 88 .dP */
/* 88 88' `88 88ooood8 88'`88'`88 88ooood8 88' `88 88' `88 88' `88 88888" */
/* 88 88 88 88. ... 88 88 88 88. ... 88. .88 88. .88 88 88 `8b. */
/* dP dP dP `88888P' dP dP dP `88888P' 88 88Y888P' `88888P8 dP dP `YP */
/* 88 */
/* dP */
/* Made by @gilbN */
/* https://github.com/gilbN/theme.park */
/* Source : https://docs.theme-park.dev/themes/gitea/
Possibilités : https://theme-park.dev/CSS/themes/gitea/gitea/XXX.css
aquamarine.css <--- Pas mal celui .
hotline.css
plex.css <--- TOP
dark.css <--- TOP
space-gray.css <--- TOP, mon préféré !
organizr-dark.css
*/
@import url("https://theme-park.dev/CSS/themes/gitea/space-gray.css");

View file

@ -0,0 +1,10 @@
/* Source : https://github.com/gilbN/theme.park/wiki/Gitea
Possibilités : https://gilbn.github.io/theme.park/CSS/themes/gitea/XXX.css
aquamarine.css <--- Pas mal celui .
hotline.css
plex.css <--- TOP
dark.css <--- TOP
space-gray.css <--- TOP, mon préféré !
organizr-dark.css
*/
@import url("https://gilbn.github.io/theme.park/CSS/themes/gitea/space-gray.css");

View file

@ -0,0 +1,6 @@
<!--
// Copie de la méthode d'installation qui ne laisse aucun choix à l'utilisateur
<link rel="stylesheet" href="{{AppSubUrl}}/styles.css">
-->
<link rel="stylesheet" href="{{AppSubUrl}}/css/{{DefaultTheme}}.css">
<link rel="stylesheet" href="{{AppSubUrl}}/css/{{.SignedUser.Theme}}.css">

View file

@ -0,0 +1,94 @@
## Discord Plex FR : https://discord.gg/ERpYMqS
## Version 2021-04-19
##==============================================================================================
## ##
## Fichier docker-compose.yml pour Gitea ##
## ##
##==============================================================================================
## ##
## Pour que Gitea fonctionne correctement et que l'on puisse faire des git clone depuis ##
## un ordinateur, il faut un nom de domaine ! Je n'ai pas trouver comment faire sans... ##
## ##
##──── ────────────────────────────────────────────────────────────────────────────────────────
## ##
## Pense-bête pour la configuration du serveur : ##
## ##
## - URL locale d'accès (pour l'installation): http://192.168.xxx.xxxx:8196 ##
## - URL d'accès : https://gitea.ndd.tld ##
## - Parmètres emailer : ##
## - ENABLED = true ##
## - HOST = smtp.gmail.com:465 ##
## - FROM = xxxxxxxxxxxxxxxxxxxxxxxxxxxxx ##
## - USER = xxxxxxxxxxxxxxxxxxxxxxxxxxxxx ##
## - PASSWD = xxxxxxxxxxxxxxxxxxxxxxxxxxxxx ##
## - MAILER_TYPE = smtp ##
## - IS_TLS_ENABLED = true ##
## ##
##==============================================================================================
---
version: "2.4"
services:
server:
image: gitea/gitea:1 # On reste ici avec la dernière version stable de la branche 1.x.x
# https://docs.gitea.io/en-us/install-with-docker/
# https://docs.gitea.io/fr-fr/install-with-docker/
# https://github.com/go-gitea/gitea
container_name: gitea
#network_mode: "bridge"
networks:
- gitea_network
environment:
- USER_UID=1000 # Utiliser la commande : id user
- USER_GID=100 # Utiliser la commande : id user
- APP_NAME=Mon Gitea perso
- RUN_MODE=prod
# Les deux paramètres ci-dessous ne semblent pas fonctionner puisqu'il faut faire manuellement le réglage lors du setup...
- REQUIRE_SIGNIN_VIEW=true # Enable this to force users to log in to view any page.
- DISABLE_REGISTRATION=true # Disable registration, after which only admin can create accounts for users.
- DOMAIN=gitea.ndd.tld
- SSH_DOMAIN=gitea.ndd.tld
- ROOT_URL=https://gitea.ndd.tld
- DB_TYPE=sqlite3
- DB_HOST=localhost:3306
- DB_NAME=gitea
- DB_USER=root
- DB_PASSWD="gitea_db_blabla"
- INSTALL_LOCK=false # Disallow access to the install page
# À passer en true une fois installer la première fois.
- GITEA__PICTURE__DISABLE_GRAVATAR=true
- GITEA__PICTURE__ENABLE_FEDERATED_AVATAR=false
- GITEA__SERVICE__REGISTER_EMAIL_CONFIRM=true # Ne semble pas fonctionner puisqu'il faut cocher manuellement la case lors du setup...
- GITEA__SERVICE__ENABLE_NOTIFY_MAIL=true # Ne semble pas fonctionner puisqu'il faut cocher manuellement la case lors du setup...
# ###############
# Le label ci-dessous permet à Watchtower de faire les mises à jour automatiquement
# Cela peut-être supprimé si Watchtower n'est pas utilisé.
labels:
- "com.centurylinklabs.watchtower.enable=true"
# ###############
volumes:
- "/volume1/docker/gitea/data:/data" # Dossier pour les données de Gitea (Dépôts, BDD, config...)
- "/volume1/docker/gitea/backup-data:/backup-data" # Dossier pour les sauvegardes régulières à lancer avec un script en tâche planifiée.
- "/etc/localtime:/etc/localtime:ro" # Nécessaire pour avoir le temps local correct (vu que la variable TZ=Europe/Paris n'existe pas pour ce conteneur...)
ports:
- "8196:3000" # Choisir un port de connexion libre sur votre machine, ce sera la port de connexion pour l'interface graphique
# - "8197:22" # Idem ici, sauf que ce sera pour le port SSH, mais ça ne fonctionne pas avec une installation en Bridge...
restart: unless-stopped
networks:
gitea_network:
external: false
driver: bridge
name: gitea_network

View file

@ -0,0 +1,272 @@
#!/bin/bash
##==============================================================================================
## ##
## Script gitea-backup.sh ##
## ##
##==============================================================================================
## ##
## gitea-backup.sh [<méthode de backup>] ##
## <méthode de backup> est facultatif. S'il n'est pas spécifié, on fait les deux ! ##
## <méthode de backup> = gitea_dump ##
## = archive_dossier ##
## ##
##==============================================================================================
##==============================================================================================
## ##
## MAJ du 19.04.2021 : La partie de sauvegarde gite_dump a été commentée, et n'est donc ##
## plus utilisée, car la restauration de cette archive est trop galère à mettre en place. ##
## Donc soit on ne donne aucun paramètre en argument au script, soit on met archive_dossier. ##
## L'autre paramètre n'aura donc plus aucun effet. ##
## ##
##==============================================================================================
##==============================================================================================
## ##
## Objectif du script : faire une sauvegarde de l'installation Gitea @ Docker ##
## Il y a aura un shutdown du conteneur le temps de la sauvegarde afin que la base de ##
## données ne soit pas modifiée pendant le backup, puis le conteneur sera redémarré. ##
## ##
## Il faudra créer une tâche planifiée pour lancer la sauvegarde toutes les nuits, par ##
## exemple à 3h du matin. ##
## ##
##==============================================================================================
## ##
## Une méthode officielle de backup de la base de données est présente ici : ##
## https://docs.gitea.io/en-us/backup-and-restore/#backup-command-dump ##
## ##
##==============================================================================================
# Récupération des arguments qu'on place dans des variables constantes
declare -r nb_arg=$# # Nombre d'argument(s) fourni(s) au script.
declare -r methode="$1" # 1er argument fourni
if [ "$methode" = "--help" ] || [ "$methode" = "-help" ] || [ "$methode" = "-h" ] || [ "$methode" = "--h" ]; then
echo "Le script gitea-backup.sh permet de faire une sauvegarde des données du conteneur Gitea."
echo "Utilisation : gitea-backup.sh [<méthode de backup>]"
echo "L'argument <méthode de backup> est facultatif. S'il n'est pas spécifié, on fait les deux !"
echo " <méthode de backup> = gitea_dump"
echo " = archive_dossier"
echo
exit 0
fi
mode_backup=0 # 0 = aucune méthode indiquée ; 1 = gitea_dump ; 2 = archive_dossier
##──── ────────────────────────────────────────────────────────────────────────────────────────
##──── ────────────────────────────────────────────────────────────────────────────────────────
## ##
## VALEURS À PERSONNALISER ##
## ##
## Chemin d'accès vers votre dossier docker et vers le dossier de backup de gitea ##
# Chemin du dossier qui contient le dossier des données (data) et des backups (backup-data)
GITEA_DOCKER_DIR=/volume1/docker/gitea
# Les noms des dossiers montés dans le conteneur doivent êtres identiques à ceux présents sur la machine hôte. Sinon faudra modifier le script...
# Nom du dossier contenant les backups qui doit exister car il doit être monté dans le conteneur à l'aide du docker-compose.yml.
GITEA_BACKUP_DIR=backup-data
# Nom du dossier contenant les donneés de Gitea (data)
GITEA_DATA_DIR=data
# Nom du conteneur
NOM_CONTENEUR=gitea
# ID de l'utilisateur du NAS qui a les droits sur le conteneur
ID_USER_NAS=1060
# Nombre de jours d'archives-backup à garder (ça inclus le jour actuel)
NB_JOURS_A_GARDER=10
##──── ────────────────────────────────────────────────────────────────────────────────────────
##──── ────────────────────────────────────────────────────────────────────────────────────────
function pause() {
read -p "$*"
}
echo "$(date "+%R:%S - ") Script de sauvegarde des données du conteneur Gitea"
##==============================================================================================
## Vérification de la présence des dossiers du conteneur ##
cd $GITEA_DOCKER_DIR
num_erreur=$? # On stocke le code de retour de la commande précédente.
if [ $num_erreur -ne 0 ]; then # Si ce code n'est pas 0, il y a eu une erreur, on arrète le script.
echo " Le chemin '$GITEA_DOCKER_DIR' est invalide ! Veuillez vérifier le chemin d'accès..."
echo " Abandon, avec code d'erreur $num_erreur"
exit $num_erreur
fi
dossier_manquant=""
if [ ! -d "$GITEA_BACKUP_DIR" ]; then
dossier_manquant = "$GITEA_BACKUP_DIR"
fi
if [ ! -d "$GITEA_DATA_DIR" ]; then
dossier_manquant = dossier_manquant + " ; $GITEA_DATA_DIR"
fi
if [ "$dossier_manquant" != "" ]; then
echo " Le(s) dossier(s) suivant(s) n'existe(nt) pas : $dossier_manquant ."
echo " Abandon, avec code d'erreur 999."
exit 999
else
echo "-- Les dossiers $GITEA_BACKUP_DIR et $GITEA_DATA_DIR existent bien. Le script peut continuer."
fi
# Autre méthode, effectuant davantage de tests... donc moins efficace...
# if [ ! -d "$GITEA_BACKUP_DIR" ] || [ ! -d "$GITEA_DATA_DIR" ]; then # Au moins un des dossiers n'existe pas
# if [ ! -d "$GITEA_BACKUP_DIR" ]; then # Le dossier $GITEA_BACKUP_DIR n'existe pas !
# echo " Le dossier '$GITEA_BACKUP_DIR' n'existe pas !"
# fi
# if [ ! -d "$GITEA_DATA_DIR" ]; then # Le dossier $GITEA_DATA_DIR n'existe pas !
# echo " Le dossier '$GITEA_DATA_DIR' n'existe pas !"
# fi
# echo " Abandon, avec code d'erreur 999"
# exit 999
# else
# echo "-- Les dossiers $GITEA_BACKUP_DIR et $GITEA_DATA_DIR existent bien. On peut continuer."
# fi
##==============================================================================================
##==============================================================================================
## ##
## Définition du mode de backup à faire en fonction de la méthode donnée en argument ##
case $methode in
gitea_dump) # Méthode gitea_dump sélectionnée ##
mode_backup=1
#echo "mode_backup=$mode_backup"
;;
archive_dossier) # Méthode archive_dossier sélectionnée ##
mode_backup=2
#echo "mode_backup=$mode_backup"
;;
*) # Aucune méthode sélectionnée ##
mode_backup=0
#echo "mode_backup=$mode_backup"
;;
esac
##==============================================================================================
##==============================================================================================
## ##
## Partie concernant les sauvegardes ##
# if [ $mode_backup -eq 0 ] || [ $mode_backup -eq 1 ]; then
# # Aucune méthode n'est choisie ou bien méthode gitea_dump sélectionnée
# # Rappel des variables :
# # GITEA_DOCKER_DIR=/volume1/docker/gitea
# # GITEA_BACKUP_DIR=backup-data
# # GITEA_DATA_DIR=data
# # NOM_CONTENEUR=gitea
# # ID_USER_NAS=1060
# echo "-- Sauvegarde via Gitea dump. (un peu chiant à restaurer...)"
# echo "###############################################################################"
# # Dans la commande suivante, les chemins d'accès donnés en paramètres sont des chemins d'accès à l'intérieur du conteneur, montés avec le docker-compose.yml.
# # Exemple de commande sans variables :
# # docker exec -u 1060 -i -w /backup-data $(docker ps -qf "name=^gitea$") bash -c '/app/gitea/gitea dump -c /data/gitea/conf/app.ini'
# # Note : La commande lancée dans une tâche CRON (planifiée) ne permet pas l'utilisation du paramètre -t.
# # Commande à lancer dans un terminal :
# # docker exec -u 1060 -i -w /backup-data $(docker ps -qf "name=^gitea$") bash -c '/app/gitea/gitea dump -c /data/gitea/conf/app.ini'
# # Explication pour $(docker ps -qf "name=^gitea$") ici : https://stackoverflow.com/a/34497614
# docker exec -u $ID_USER_NAS -i -w /$GITEA_BACKUP_DIR $(docker ps -qf "name=^$NOM_CONTENEUR$") bash -c "/app/gitea/gitea dump -c /$GITEA_DATA_DIR/gitea/conf/app.ini"
# num_erreur=$? # On stocke le code de retour de la commande précédente.
# if [ $num_erreur -ne 0 ]; then # Si ce code n'est pas 0, il y a eu une erreur, on arrète le script.
# echo "!!!!!! Erreur lors de la commande de backup gitea dump."
# #echo "!!!!!! Commande lancée :"
# #echo " docker exec -u $ID_USER_NAS -it -w /$GITEA_BACKUP_DIR $(docker ps -qf "name=$NOM_CONTENEUR") bash -c "/app/gitea/gitea dump -c /$GITEA_DATA_DIR/gitea/conf/app.ini""
# echo "!!!!!! Abandon, avec code d'erreur $num_erreur"
# exit $num_erreur
# fi
# echo "###############################################################################"
# echo "-- Sauvegarde via Gitea dump terminée."
# fi
if [ $mode_backup -eq 0 ] || [ $mode_backup -eq 2 ]; then
# Aucune méthode n'est choisie ou bien méthode archive_dossier sélectionnée
echo "-- Sauvegarde par création d'une archive de tout le dossier $GITEA_DATA_DIR"
echo "###############################################################################"
cd $GITEA_DOCKER_DIR # Même si on est censé déjà être là...
#retour_cmd=1111 # Valeur reset
echo "-- Extinction du conteneur $(docker stop $NOM_CONTENEUR) : OK."
# retour_cmd=$? # Le code d'exit de la fonction est stocké dans cette variable.
# if [ $retour_cmd -ne 0 ]; then
# if [ $retour_cmd -eq 1111 ]; then
# echo "### DEBUG : soucis avec la récupération du retour de commande #1470000 "
# exit 1470000
# fi
# echo "!! Le conteneur $NOM_CONTENEUR ne peut pas être arrêté..."
# echo "!! Fin du script. Erreur 777"
# echo
# exit 777
# fi
echo "-- Création de l'archive du dossier $GITEA_DATA_DIR"
# Compression tar.gz :
#tar -czf $GITEA_BACKUP_DIR/Gitea-Data-Backup-`date +%Y-%m-%d--%Hh%Mm%Ss`.tar.gz ./$GITEA_DATA_DIR
# Compression 7z après obtention d'un .tar
# On Linux/Unix, in order to backup directories you must use tar :
# - to backup a directory : tar cf - directory | 7z a -si directory.tar.7z
# - to restore your backup : 7z x -so directory.tar.7z | tar xf -
tar cf - ./$GITEA_DATA_DIR | 7z a -si $GITEA_BACKUP_DIR/Gitea-Data-Backup-`date +%Y-%m-%d--%Hh%Mm%Ss`.7z
echo "-- Archive de tout le dossier $GITEA_DATA_DIR créée."
# retour_cmd=1111 # Valeur reset
echo "-- Redémarrage du conteneur $(docker start $NOM_CONTENEUR) : OK."
# retour_cmd=$? # Le code d'exit de la fonction est stocké dans cette variable.
# if [ $retour_cmd -ne 0 ]; then
# if [ $retour_cmd -eq 1111 ]; then
# echo "### DEBUG : soucis avec la récupération du retour de commande #1470000 "
# exit 1470000
# fi
# echo "!! Le conteneur $NOM_CONTENEUR ne peut pas être redémarré..."
# echo "!! Fin du script. Erreur 777"
# echo
# exit 777
# fi
# Section concernant la rotation des sauvegardes.
echo
echo "-- Rotation des sauvegardes anciennes selon le nombre de jours d'archives à garder (=$NB_JOURS_A_GARDER) incluant ce jour :"
echo
echo
echo "-- -- Utilisation de la fonction find pour trouver les fichiers de plus de $nb_jours_a_garder jours (incluant ce jour)."
echo "-- -- Les fichiers suivants seront supprimés :"
find $GITEA_BACKUP_DIR/* -name 'Gitea-Data-Backup*' -mtime +"$((NB_JOURS_A_GARDER - 1))" -exec ls -lat --color {} \;
# Utile pour débugguer avant de supprimer réellement les fichiers.
#pause '--DEBUG-- Appuyer sur la touche [Entrer] pour continuer...'
echo "-- -- Suppression de ces fichiers..."
find $GITEA_BACKUP_DIR/* -name 'Gitea-Data-Backup*' -mtime +"$((NB_JOURS_A_GARDER - 1))" -exec rm -v {} \;
############################################################
# Cette partie peut être commentée
echo
echo "-- -- Il reste donc les fichiers suivants :"
ls -lat --color $GITEA_BACKUP_DIR/Gitea-Data-Backup*
############################################################
echo "###############################################################################"
echo "-- Processus de sauvegarde par création d'archive terminé."
fi
echo "$(date "+%R:%S - ") Fin du script de sauvegarde des donneés du conteneur Gitea"
exit 0
## ##
##==============================================================================================

View file

@ -0,0 +1,368 @@
##==============================================================================================
## ##
## Script gitea-restore.sh ##
## ##
##==============================================================================================
## ##
## gitea-restore.sh <méthode de backup> <fichier à restaurer> ##
## <méthode de backup> = --gitea_dump ou --gdmp ##
## = --archive_dossier ou --ad ##
## <fichier à restaurer> = le nom du fichier archive à utiliser pour la restauration. ##
## Ne peut être qu'un .zip pour la méthode --gitea_dump, ##
## ou bien ##
## ne peut être qu'un .tar.gz pour la méthode --archive_dossier #
## Il faut impérativement donner le chemin d'accès complet de ce fichier archive... ##
## ##
##==============================================================================================
##==============================================================================================
## ##
## Objectif du script : Restaurer la sauvegarde de Gitea passée en paramètre ##
## Il faudra indiquer la méthode de restauration basée sur le type de sauvegarde à restaurer. ##
## Il faudra également indiquer l'archive à utiliser pour la restauration. ##
## ##
##==============================================================================================
## ##
## Une méthode officielle de restauration, de la base de données est présente ici : ##
## https://docs.gitea.io/en-us/backup-and-restore/#restore-command-restore ##
## ##
##==============================================================================================
##==============================================================================================
## ##
## MAJ du 19.04.2021 : La partie de sauvegarde gite_dump ne sera pas programmée car c'est ##
## trop galère à mettre en place. ##
## Donc soit on ne donne aucun paramètre en argument au script, soit on met archive_dossier. ##
## L'autre paramètre n'aura donc plus aucun effet. Ne pas l'utiliser ! ##
## Cependant le code pour distinguer les deux paramètres reste, mais il n'y aura rien dans ##
## la partie gitea_dump. ##
## ##
##==============================================================================================
# Récupération des arguments qu'on place dans des variables constantes
declare -r nb_arg=$# # Nombre d'argument(s) fourni(s) au script.
declare -r methode="$1" # 1er argument fourni
declare -r fichier="$2" # 2ème argument fourni
declare -r tous_les_args="$*" # Tous les arguments
##==============================================================================================
## VALEURS À PERSONNALISER ##
## ##
## Chemin d'accès vers votre dossier docker et vers le dossier de backup de gitea ##
##==============================================================================================
# Chemin complet du dossier qui contient le dossier des données (data) et des backups (backup-data)
GITEA_DOCKER_DIR=/volume1/docker/gitea
# Les noms des dossiers montés dans le conteneur doivent êtres identiques à ceux présents sur la machine hôte. Sinon faudra modifier le script...
# Nom du dossier contenant les backups qui doit exister car il doit être monté dans le conteneur à l'aide du docker-compose.yml.
GITEA_BACKUP_DIR=backup-data
# Nom du dossier contenant les donneés de Gitea (data)
GITEA_DATA_DIR=data
# Nom du conteneur
NOM_CONTENEUR=gitea
# ID de l'utilisateur du NAS qui a les droits sur le conteneur
ID_USER_NAS=1000
##==============================================================================================
##==============================================================================================
echo
echo "Le script gitea-restore.sh permet de faire une restauration des données du conteneur Gitea."
echo
##──── ────────────────────────────────────────────────────────────────────────────────────────
## Début de la section concernant les fonctions ##
##──── ────────────────────────────────────────────────────────────────────────────────────────
f_affiche_syntaxe(){
# Fonction pour afficher la syntaxe d'utilisation du fichier script.
# syntax: f_affiche_syntaxe <paramètre1> [<paramètre2>]
# 1er paramètre : $1
# 2nd paramètre éventuel : $2 Ce sera ce qui a été fourni en argument du script.
local f_nb_arg=$#
local f_param_1=$1
local f_param_2=$2
echo
if [ "$f_param_1" = "#1" ]; then
echo "La méthode de restauration choisie '$f_param_2' est incorrecte."
echo
elif [ "$f_param_1" = "#2" ]; then
if [ -z "$f_param_2" ]; then
echo "Aucun paramètre n'a été fourni au script..."
else
echo "Le nombre de paramètre fourni n'est pas correct. Paramètres fournis : '$f_param_2'"
fi
echo
fi
echo "Utilisation : gitea-restore.sh <méthode de backup> <fichier à restaurer>"
#echo " * <méthode de backup> : --gitea_dump ou --gdmp pour utiliser la méthode gitea dump."
echo " * <méthode de backup> : --archive_dossier ou --ad pour utiliser la méthode archive dossier."
echo " * <fichier à restaurer> : le nom du fichier archive à utiliser pour la restauration."
#echo " Ne peut être qu'un .zip pour la méthode --gitea_dump,"
#echo " ou bien ne peut être qu'un .7z ou .tar.gz pour la méthode --archive_dossier"
echo " Ne peut être qu'un .7z ou un .tar.gz pour la méthode --archive_dossier."
echo " Il faut impérativement donner le chemin d'accès complet de ce fichier archive..."
echo
if [ "$f_param_1" = "#3" ]; then
exit 1
fi
exit 3
}
f_verif_fichier_existe() {
# Fonction qui vérifie si le fichier fourni en paramètre existe, et qu'il s'agit d'un
# fichier zip ou d'un fichier 7z.
# Quoiqu'il arrive, l'appel à cette fonction marque la fin du script.
#
# syntax: f_verif_fichier_existe [<fichier_a_tester>]
local fichier_a_tester=$1
if [ -z "$fichier_a_tester" ]; then
echo "!! Erreur fatale, le paramètre à tester de la fonction f_verif_fichier_existe() est vide ! Revoir l'appel à la fonction..."
echo "!! Fin du script. Code d'erreur 10."
return 11 # On stoppe immédiatement l'exécution de la fonction !
fi
if [ ! -s "$fichier_a_tester" ]; then # Le fichier 'fichier_a_tester' n'existe pas ou a un taille de 0 !
return 1 # C'est le code d'erreur pour indiquer que le fichier n'existe pas.
fi
# Quelle est l'extension du fichier fichier_a_tester ?
fullfilename="$fichier_a_tester"
filename=$(basename "$fullfilename")
ext="${filename#*.}"
echo $ext
return 0
}
f_verif_dossier_existe() {
# Fonction qui vérifie si le dossier fourni en paramètre existe.
#
# syntax: f_verif_dossier_existe <dossier_a_tester>
local dossier_a_tester=$1 # On récupère le 1er paramètre passé en argument à la fonction.
if [ -d "$dossier_a_tester" ]; then # Le dossier 'dossier_a_tester' existe ! Il sera renommé.
return 0 # C'est le code d'erreur pour indiquer que le dossier existe bien.
else
return 1 # C'est le code d'erreur pour indiquer que le dossier n'existe pas.
fi
# Si le script arrive ici, c'est qu'il y a un soucis...
echo "BLABLA Si tu lis ça, c'est que y a une couille dans le paté !!! 9988"
exit 9988
}
##──── ────────────────────────────────────────────────────────────────────────────────────────
## Fin de la section concernant les fonctions ##
##──── ────────────────────────────────────────────────────────────────────────────────────────
##──── ────────────────────────────────────────────────────────────────────────────────────────
## Début du programme principal ##
##──── ────────────────────────────────────────────────────────────────────────────────────────
if [ $nb_arg -ne 2 ]; then
f_affiche_syntaxe "#2" "$tous_les_args" # On affiche la syntaxe car le nombre de paramètres n'est pas correct.
fi
mode_backup=""
case "$methode" in
--[hH][eE][lL][pP] | --[hH] | -[hH][eE][lL][pP] | -[hH] ) # Premier argument --help ou --h
f_affiche_syntaxe # On affiche la syntaxe
;;
--gitea_dump | --gdmp)
mode_backup="gitea_dump"
;; # On ne surcharge pas cette partie avec le code de restauration, ce sera fait plus bas.
--archive_dossier | --ad)
mode_backup="archive_dossier"
;; # On ne surcharge pas cette partie avec le code de restauration, ce sera fait plus bas.
*) # Aucune méthode sélectionnée valide ou bien trop d'arguments
mode_backup="non_choisi"
f_affiche_syntaxe "#1" "$methode" # On affiche la syntaxe car le paramètre de méthode est incorrect.
echo "BLABLA Si tu lis ça, c'est que y a une couille dans le paté !!! 9999"
exit 9999
;;
esac
echo "La méthode de restauration choisie est : $methode "
echo
# Test si le fichier en argument existe et est valide (archive zip pour ).
ext_fichier=""
ext_fichier="$(f_verif_fichier_existe $fichier)" # Vérification que le fichier à restaurer existe bien et est bien un .zip ou un .7z
retour_fct=$? # Le code d'exit de la fonction est stocké dans cette variable.
if [ $retour_fct -ne 0 ]; then
case "$retour_fct" in
1) # Le fichier n'existe pas.
echo "!! Le fichier $fichier n'existe pas. La restauration ne peut pas s'effectuer."
echo "!! Fin du script. Erreur 10"
echo
exit 10
;;
11) # Problème avec l'appelle de la fonction, revoir le code ci-dessus...
exit 11
;;
*) # Toutes autres valeurs ne devrait pas exister !
echo "!! Erreur fatale qui ne devrait pas exister !"
echo "!! Code d'erreur 1000"
exit 1000
;;
esac
else
echo "Le fichier existe et a une taille non nulle. Le script peut continuer."
echo
echo "Début de la restauration ---"
fi
cd $GITEA_DOCKER_DIR # On se place dans le dossier du conteneur gitea
retour_cmd=$? # Le code d'exit de la fonction est stocké dans cette variable.
if [ $retour_cmd -ne 0 ]; then
echo "!! Le dossier $GITEA_DOCKER_DIR semble ne pas exister. Vérifier la variable GITEA_DOCKER_DIR dans le script."
echo "!! Fin du script. Erreur 333"
echo
exit 333
fi
# Note : Si le dossier GITEA_DATA_DIR existe il sera renommé en GITEA_DATA_DIR--$(date +%Y-%m-%d--%Hh%M)
# avec la commande mv "$GITEA_DATA_DIR" "$GITEA_DATA_DIR--$(date +%Y-%m-%d--%Hh%M)"
# Ce test sera fait lors de l'appel de la fonction verif_dossier_existe().
# Aucun choix ne sera possible, le dossier existant sera forcément renommé.
#
# Note : Il faut que le dossier GITEA_BACKUP_DIR existe, ce qui semble acquis vu que le fichier backup
# à restaurer doit être dedans... Mais il est vital que ce dossier existe car un dossier 'TEMP'
# y sera créé pour extraire les données de l'archive (zip, 7z, ou tar.gz)...
#
# On teste maintenant l'existence des deux dossiers précédents.
# Si un des deux dossiers n'est pas présents, le script sera interrompu.
# 1er test : GITEA_DATA_DIR
retour_fct=11111 # Valeur reset.
f_verif_dossier_existe $GITEA_DATA_DIR
retour_fct=$? # Le code d'exit de la fonction est stocké dans cette variable.
if [ $retour_fct -eq 0 ]; then # Le dossier existe, on peut continuer
echo "-- Le dossier $dossier_a_tester existe et va être renommé en $dossier_a_tester--$(date +%Y-%m-%d--%Hh%M)"
else # Le dossier n'existe pas
echo "!! Le dossier $dossier_a_tester n'existe ! Veuillez créer le dossier $dossier_a_tester puis relancer le script."
echo "!! Interruption de l'exécution du script. Code 444"
exit 444 # C'est le code d'erreur pour indiquer que le dossier n'existe pas et que le script a été interrompu.
fi
# 2ème test : GITEA_BACKUP_DIR
retour_fct=11111 # Valeur reset.
f_verif_dossier_existe $GITEA_BACKUP_DIR
retour_fct=$? # Le code d'exit de la fonction est stocké dans cette variable.
if [ $retour_fct -eq 0 ]; then # Le dossier existe, on peut continuer
echo "-- Le dossier $dossier_a_tester existe bien. La restauration peut continuer."
else # Le dossier n'existe pas
echo "!! Le dossier $dossier_a_tester n'existe ! Vérifier que ce dossier est bien paramétré dans le script."
echo "!! Interruption de l'exécution du script. Code 555"
exit 555 # C'est le code d'erreur pour indiquer que le dossier n'existe pas et que le script a été interrompu.
fi
# Maintenant on sait que les deux dossiers GITEA_BACKUP_DIR et GITEA_DATA_DIR existent.
case "$mode_backup" in
gitea_dump)
if [ $ext_fichier != "zip" ]; then
echo "!! Le fichier archive $(basename "$fichier") n'est pas une archive ZIP."
echo "!! Fin du script."
f_affiche_syntaxe "#3"
fi
echo -e "\t-- Méthode de restauration à venir, un jour si j'ai le courage...\n"
echo -e "\t-- Donc, pour le moment il ne se passera rien avec cette méthode...\n"
exit 0
# Extraction de l'archive zip créé avec gitea dump avec 7z :
# 7z x -o/volume1/docker/gitea/backup-data -tzip /volume1/docker/gitea/backup-data/gitea-dump-1618217429.zip
echo
;;
archive_dossier)
if [ $ext_fichier != "7z" ] && [ $ext_fichier != "tar.gz" ]; then
echo "!! Le fichier archive $(basename "$fichier") n'est pas une archive 7z ou tar.gz."
echo "!! Fin du script."
f_affiche_syntaxe "#3" # Le script est interrompu.
fi
echo -e "\t-- Restauration de la sauvegarde $fichier \n\t par extraction de l'archive dans le dossier $GITEA_DATA_DIR\n"
# Comme on sait que le dossier existe, il est renommée après avoir éteint le conteneur.
retour_cmd=1111 # Valeur reset
echo -e "\t-- Extinction du conteneur $(docker stop $NOM_CONTENEUR)\n"
retour_cmd=$? # Le code d'exit de la fonction est stocké dans cette variable.
if [ $retour_cmd -ne 0 ]; then
if [ $retour_cmd -eq 1111 ]; then
echo "### DEBUG : soucis avec la récupération du retour de commande #1470000 "
exit 1470000
fi
echo "!! Le conteneur $NOM_CONTENEUR ne peut pas être arrêté..."
echo "!! Fin du script. Erreur 777"
echo
exit 777
fi
mv "$GITEA_DATA_DIR" "$GITEA_DATA_DIR--$(date +%Y-%m-%d--%Hh%M)"
# En fonction du type d'archive donnée en paramètre au script, ce n'est pas la même manière d'extraire les données.
# Mais quoiqu'il arrive on crée un dossier TEMP dans le dossier GITEA_BACKUP_DIR pour y placer les données extraites.
# Ce dossier TEMP sera supprimé à la fin de la restauration.
mkdir "$GITEA_BACKUP_DIR/TEMP"
case "$ext_fichier" in
7z)
echo -e "\t-- Extraction des données de l'archive 7z utilisée.\n"
# Restauration d'un fichier 7z :
7z x -so $fichier | tar xf - -C "$GITEA_BACKUP_DIR/TEMP"
;;
tar.gz)
echo -e "\t-- Extraction des données de l'archive tar.gz utilisée.\n"
# Restauration d'un fichier tar.gz :
tar -xzf $fichier -C "$GITEA_BACKUP_DIR/TEMP"
;;
*)
echo "Erreur d'extension non prévue ! Revoir le code. Erreur 88."
exit 88
esac
# On déplace le dossier extrait data dans GITEA_DOCKER_DIR (Rappel on est dans le dossier gitea qui contient le dossiers GITEA_BACKUP_DIR)
mv "$GITEA_BACKUP_DIR/TEMP/data" "$GITEA_DOCKER_DIR" # On pourrait utiliser "./" à la place de "$GITEA_DOCKER_DIR"
# Le dossier TEMP étant maintenant vide, on le supprime
rm -rf "$GITEA_BACKUP_DIR/TEMP"
retour_cmd=1111 # Valeur reset
echo -e "\t-- Redémarrage du conteneur $(docker start $NOM_CONTENEUR)\n"
retour_cmd=$? # Le code d'exit de la fonction est stocké dans cette variable.
if [ $retour_cmd -ne 0 ]; then
if [ $retour_cmd -eq 1111 ]; then
echo "### DEBUG : soucis avec la récupération du retour de commande #1470000 "
exit 1470000
fi
echo "!! Le conteneur $NOM_CONTENEUR ne peut pas être redémarré..."
echo "!! Fin du script. Erreur 777"
echo
exit 777
fi
;;
*)
echo "!! Un problème est survenu ! Revoir le script. Code XYZ = 199 !"
echo
return 199
;;
esac
echo
echo "Restauration terminée. Bonne journée :)"
echo

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB