diff --git a/Dockerfile b/Dockerfile index 30ca29e3..5f9bac01 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,23 +11,14 @@ WORKDIR /etc/shlink # Install required PHP extensions RUN \ - # Install extensions with no extra dependencies - docker-php-ext-install -j"$(nproc)" pdo_mysql calendar sockets bcmath && \ - # Install sqlite - apk add --no-cache sqlite-libs sqlite-dev && \ + # Temp install dev dependencies needed to compile the extensions + apk add --no-cache --virtual .dev-deps sqlite-dev postgresql-dev icu-dev libzip-dev zlib-dev libpng-dev gmp-dev && \ + docker-php-ext-install -j"$(nproc)" pdo_mysql pdo_pgsql intl calendar sockets bcmath zip gd gmp && \ + apk add --no-cache sqlite-libs && \ docker-php-ext-install -j"$(nproc)" pdo_sqlite && \ - # Install postgres - apk add --no-cache postgresql-dev && \ - docker-php-ext-install -j"$(nproc)" pdo_pgsql && \ - # Install intl - apk add --no-cache icu-dev && \ - docker-php-ext-install -j"$(nproc)" intl && \ - # Install zip and gd - apk add --no-cache libzip-dev zlib-dev libpng-dev && \ - docker-php-ext-install -j"$(nproc)" zip gd && \ - # Install gmp - apk add --no-cache gmp-dev && \ - docker-php-ext-install -j"$(nproc)" gmp + # Remove temp dev extensions, and install prod equivalents that are required at runtime + apk del .dev-deps && \ + apk add --no-cache postgresql icu libzip libpng gmp # Install sqlsrv driver RUN if [ $(uname -m) == "x86_64" ]; then \ diff --git a/docker/docker-entrypoint.sh b/docker/docker-entrypoint.sh index 8f48e20a..f1c4c495 100644 --- a/docker/docker-entrypoint.sh +++ b/docker/docker-entrypoint.sh @@ -24,11 +24,9 @@ if [ ! -z "${GEOLITE_LICENSE_KEY}" ]; then php bin/cli visit:download-db -n ${flags} fi -# Periodicaly run visit:locate every hour -# https://shlink.io/documentation/long-running-tasks/#locate-visits -# set env var "ENABLE_PERIODIC_VISIT_LOCATE=true" to enable +# Periodically run visit:locate every hour, if ENABLE_PERIODIC_VISIT_LOCATE=true was provided if [ $ENABLE_PERIODIC_VISIT_LOCATE ]; then - echo "Configuring periodic visit locate..." + echo "Configuring periodic visit location..." echo "0 * * * * php /etc/shlink/bin/cli visit:locate -q" > /etc/crontabs/root /usr/sbin/crond & fi