diff --git a/docker-registry/_volumes.sh b/docker-registry/_volumes.sh index e1fba6d..668cb1d 100755 --- a/docker-registry/_volumes.sh +++ b/docker-registry/_volumes.sh @@ -3,5 +3,5 @@ # These are used across backup, restore, create, and destroy operations get_registry_volumes() { - echo "volume:data:${DATA_VOLUME}" + echo "path:data:${DATA_PATH}" } diff --git a/docker-registry/config/service.env b/docker-registry/config/service.env index f88ccda..59f3c2e 100644 --- a/docker-registry/config/service.env +++ b/docker-registry/config/service.env @@ -9,4 +9,8 @@ SSH_USER="root" # Registry port (default: 5000) REGISTRY_PORT=5000 +# Data path - stores all registry data (images, blobs, etc.) +# Override this to store data in a custom location +DATA_PATH="${SERVICE_PATH}/data" + TEMPLATE=docker-registry diff --git a/docker-registry/start.sh b/docker-registry/start.sh index cefe8e4..9592163 100755 --- a/docker-registry/start.sh +++ b/docker-registry/start.sh @@ -1,6 +1,6 @@ #!/bin/bash source "${AGENT_PATH}/common.sh" -_check_required_env_vars "CONTAINER_NAME" "IMAGE_REGISTRY" "IMAGE_REPO" "IMAGE_TAG" "DATA_VOLUME" "CONFIG_PATH" "REGISTRY_PORT" +_check_required_env_vars "CONTAINER_NAME" "IMAGE_REGISTRY" "IMAGE_REPO" "IMAGE_TAG" "DATA_PATH" "CONFIG_PATH" "REGISTRY_PORT" # START SCRIPT # The start script is required for all templates. @@ -10,11 +10,14 @@ if [ ! -f "${CONFIG_PATH}/htpasswd" ]; then _die "htpasswd file not found in ${CONFIG_PATH}/htpasswd - see README.txt for instructions" fi +# Create data directory if it doesn't exist +_create_folder "${DATA_PATH}" + DOCKER_RUN_CMD="docker run -d \ --restart unless-stopped \ --name ${CONTAINER_NAME} \ -p ${REGISTRY_PORT}:5000 \ - -v ${DATA_VOLUME}:/var/lib/registry \ + -v ${DATA_PATH}:/var/lib/registry \ -v ${CONFIG_PATH}/htpasswd:/auth/htpasswd:ro \ -e REGISTRY_AUTH=htpasswd \ -e REGISTRY_AUTH_HTPASSWD_REALM=Registry \ diff --git a/docker-registry/template_info.env b/docker-registry/template_info.env index 1186cea..9a9a135 100644 --- a/docker-registry/template_info.env +++ b/docker-registry/template_info.env @@ -12,5 +12,5 @@ REQUIRES_DOCKER_ROOT=false IMAGE_REGISTRY="docker.io" IMAGE_REPO="library/registry" -# Volume settings - stores all registry data (images, blobs, etc.) -DATA_VOLUME="${CONTAINER_NAME}_data" +# Path settings - stores all registry data (images, blobs, etc.) +DATA_PATH="${SERVICE_PATH}/data"