65 lines
1.7 KiB
Bash
Executable File
65 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -eu
|
|
|
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
. $DIR/../help.sh
|
|
. $DIR/../postgres/run --only-source
|
|
|
|
registry_help() {
|
|
echo "./run htpasswd : 🔑 Génération du fichier htpasswd"
|
|
echo "./run build : 🏗 Construction de l'image custom"
|
|
echo "./run backup : 💾 Sauvegarde des images du registry"
|
|
}
|
|
|
|
registry_htpasswd() {
|
|
script_env
|
|
mkdir -p auth
|
|
echo "🔑 Génération du fichier htpasswd"
|
|
docker run --entrypoint htpasswd $REGISTRY_IMAGE -Bbn $REGISTRY_USER $REGISTRY_PASSWORD > auth/htpasswd
|
|
}
|
|
|
|
registry_build() {
|
|
script_env
|
|
echo "🏗 Construction de l'image custom"
|
|
DOCKER_FILE_DEFAULT=.
|
|
DOCKER_FILE=${DOCKER_FILE:-$DOCKER_FILE_DEFAULT}
|
|
docker build $DOCKER_FILE -t $REGISTRY_CUSTOM_IMAGE
|
|
}
|
|
|
|
registry_backup() {
|
|
script_env
|
|
echo "💾 Sauvegarde des images du registry"
|
|
|
|
REGISTRY_BACKUP_FILE_DEFAULT=`date +%Y%m%d_%H%M%S`_${REGISTRY_DOMAIN}.tar
|
|
REGISTRY_BACKUP_FILE=${REGISTRY_BACKUP_FILE:-$REGISTRY_BACKUP_FILE_DEFAULT}
|
|
|
|
docker run --rm --volumes-from registry -v /home/pi/backups/registry:/backup alpine:3.12.2 ash -c "cd /var/lib/registry && tar cvf /backup/$REGISTRY_BACKUP_FILE ."
|
|
}
|
|
|
|
registry_restore() {
|
|
script_env
|
|
|
|
docker run -it --rm -v $HOME/backups/${REGISTRY_DOMAIN}:/backup --volumes-from registry alpine:3.12.2 ash -c "cd /var/lib/registry && tar xvf /backup/${BACKUP_DATE}_${REGISTRY_DOMAIN}.tar --strip 1"
|
|
}
|
|
|
|
if [ $# -ge 1 ]; then
|
|
if [ "${1}" == "htpasswd" ]; then
|
|
script_start
|
|
registry_htpasswd
|
|
script_end
|
|
elif [ "${1}" == "build" ]; then
|
|
script_start
|
|
registry_build
|
|
script_end
|
|
elif [ "${1}" == "backup" ]; then
|
|
script_start
|
|
registry_backup
|
|
script_end
|
|
elif [ "${1}" != "--only-source" ]; then
|
|
registry_help
|
|
fi
|
|
else
|
|
registry_help
|
|
fi
|