services/registry/run

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.11.6 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.11.6 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