#!/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.3 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.3 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