# Rx3-Docker/Registry-UI Dockerfile
#-------------------------------------------------------------------------------

ARG IMG_FROM_URL="rx3-docker/php-apache:latest"

FROM ${IMG_FROM_URL}

ARG IMG_NAME
ARG IMG_NAME_FULL
ARG IMG_VERSION
ARG IMG_MAINTAINER
ARG IMG_URL

LABEL org.rx3.${IMG_NAME}.name=${IMG_NAME_FULL}
LABEL org.rx3.${IMG_NAME}.version=${IMG_VERSION}
LABEL org.rx3.${IMG_NAME}.maintainer=${IMG_MAINTAINER}
LABEL maintainer=${IMG_MAINTAINER}

ARG MODULE_NAME
ARG MODULE_PATH
ARG MODULE_VERSION
ARG REGUI_CONF_NAME

ARG HTTPD_VHOST_CONFIG_DIR=/etc/httpd/conf/sites.d/default_vhost.d
ARG REGUI_HTTPD_CONFIG_FILE=${HTTPD_VHOST_CONFIG_DIR}/60-regui.conf

ARG REGUI_DOWNLOAD_URL="https://mirror.rx3.net/external/docker-registry-ui/docker-registry-ui-2.6.0.tar.gz"


#-----------------------------------------------------------------------------------------------------------------------
ARG REGUID='#!/bin/bash                                                                                              \n\
                                                                                                                     \n\
cp -f  /var/www/html/index.html.ref                                                     /var/www/html/index.html     \n\
                                                                                                                     \n\
sed -i "s~\${DOCKER_REGISTRY_UI_TITLE}~${DOCKER_REGISTRY_UI_TITLE}~"                    /var/www/html/index.html     \n\
sed -i "s~\${REGISTRY_URL}~${REGISTRY_URL}~"                                            /var/www/html/index.html     \n\
sed -i "s~\${REGISTRY_TITLE}~${REGISTRY_TITLE}~"                                        /var/www/html/index.html     \n\
sed -i "s~\${PULL_URL}~${PULL_URL}~"                                                    /var/www/html/index.html     \n\
sed -i "s~\${SINGLE_REGISTRY}~${SINGLE_REGISTRY}~"                                      /var/www/html/index.html     \n\
sed -i "s~\${CATALOG_ELEMENTS_LIMIT}~${CATALOG_ELEMENTS_LIMIT}~"                        /var/www/html/index.html     \n\
sed -i "s~\${SHOW_CONTENT_DIGEST}~${SHOW_CONTENT_DIGEST}~"                              /var/www/html/index.html     \n\
sed -i "s~\${SHOW_TAG_HISTORY}~${SHOW_TAG_HISTORY}~"                                    /var/www/html/index.html     \n\
sed -i "s~\${DEFAULT_REGISTRIES}~${DEFAULT_REGISTRIES}~"                                /var/www/html/index.html     \n\
sed -i "s~\${READ_ONLY_REGISTRIES}~${READ_ONLY_REGISTRIES}~"                            /var/www/html/index.html     \n\
sed -i "s~\${SHOW_CATALOG_NB_TAGS}~${SHOW_CATALOG_NB_TAGS}~"                            /var/www/html/index.html     \n\
sed -i "s~\${HISTORY_CUSTOM_LABELS}~${HISTORY_CUSTOM_LABELS}~"                          /var/www/html/index.html     \n\
sed -i "s~\${USE_CONTROL_CACHE_HEADER}~${USE_CONTROL_CACHE_HEADER}~"                    /var/www/html/index.html     \n\
sed -i "s~\${TAGLIST_ORDER}~${TAGLIST_ORDER}~"                                          /var/www/html/index.html     \n\
sed -i "s~\${CATALOG_DEFAULT_EXPANDED}~${CATALOG_DEFAULT_EXPANDED}~"                    /var/www/html/index.html     \n\
sed -i "s~\${CATALOG_MIN_BRANCHES}~${CATALOG_MIN_BRANCHES}~"                            /var/www/html/index.html     \n\
sed -i "s~\${CATALOG_MAX_BRANCHES}~${CATALOG_MAX_BRANCHES}~"                            /var/www/html/index.html     \n\
sed -i "s~\${TAGLIST_PAGE_SIZE}~${TAGLIST_PAGE_SIZE}~"                                  /var/www/html/index.html     \n\
sed -i "s~\${REGISTRY_SECURED}~${REGISTRY_SECURED}~"                                    /var/www/html/index.html     \n\
sed -i "s~\${ENABLE_VERSION_NOTIFICATION}~${ENABLE_VERSION_NOTIFICATION}~"              /var/www/html/index.html     \n\
                                                                                                                     \n\
grep -o `THEME[A-Z_]*` /var/www/html/index.html | while read e; do                                                   \n\
  sed -i "s~\${$e}~$(printenv $e)~"                                                     /var/www/html/index.html     \n\
done                                                                                                                 \n\
                                                                                                                     \n\
if [ -z "${DELETE_IMAGES}" ] || [ "${DELETE_IMAGES}" = false ] ; then                                                \n\
  sed -i "s/\${DELETE_IMAGES}/false/"                                                   /var/www/html/index.html     \n\
else                                                                                                                 \n\
  sed -i "s/\${DELETE_IMAGES}/true/"                                                    /var/www/html/index.html     \n\
fi                                                                                                                   \n\
                                                                                                                     \n\
cp        '${REGUI_HTTPD_CONFIG_FILE}.ref'                                              '${REGUI_HTTPD_CONFIG_FILE}' \n\
sed -i -e "s/\\${REGUI_REGISTRY_PROTO}/${REGUI_REGISTRY_PROTO}/"                        '${REGUI_HTTPD_CONFIG_FILE}' \n\
sed -i -e "s/\\${REGUI_REGISTRY_HOST_NAME}/${REGUI_REGISTRY_HOST_NAME}/"                '${REGUI_HTTPD_CONFIG_FILE}' \n\
sed -i -e "s/\\${REGUI_REGISTRY_PORT}/${REGUI_REGISTRY_PORT}/"                          '${REGUI_HTTPD_CONFIG_FILE}
#-----------------------------------------------------------------------------------------------------------------------



#-----------------------------------------------------------------------------------------------------------------------
ARG REGUI_HTTPD_CONFIG='# Registry-UI Configuration                                                                  \n\
                                                                                                                     \n\
Use Proxy_Ext_Int   v2   v2   ${REGUI_REGISTRY_PROTO} ${REGUI_REGISTRY_HOST_NAME} ${REGUI_REGISTRY_PORT}             \n\
'
#-----------------------------------------------------------------------------------------------------------------------



RUN    . /etc/profile.d/rx3.sh && isl --add ${IMG_URL}                                                                 \
    && urpmi.update -a                                                                                                 \
    && urpmi --force wget                                                                                              \
    && wget  -q -O- ${REGUI_DOWNLOAD_URL} | tar xzf -                                -C /tmp                           \
    && mv           /tmp/docker-registry-ui-*/dist/*                                    /var/www/html                  \
    && mv           /tmp/docker-registry-ui-*/favicon.ico                               /var/www/html                  \
    && mv           /var/www/html/index.html                                            /var/www/html/index.html.ref   \
    && echo  -e     "${REGUI_HTTPD_CONFIG}" | sed -e "s/\`/'/g" -e 's/ *$//'          > ${REGUI_HTTPD_CONFIG_FILE}.ref \
    && echo  -e     "${REGUID}"             | sed -e "s/\`/'/g" -e 's/ *$//'          > /etc/init.d/reguid             \
    && chmod a+x    /etc/init.d/reguid                                                                                 \
    && ln    -s     /etc/init.d/reguid                                                  /etc/rcD.d/S30reguid
