From 2e2c253f6551883f8138cdf8703454ffcb19d096 Mon Sep 17 00:00:00 2001 From: Mindfang Date: Mon, 15 Jan 2024 19:22:15 -0600 Subject: [PATCH] Update and repair image --- Dockerfile | 10 ++++++---- .../cont-init.d/{10-initializer => initializer} | 15 ++++++++------- root/etc/services.d/crond/run | 2 +- root/etc/services.d/nginx/run | 2 +- root/etc/services.d/php-fpm/run | 2 +- root/etc/services.d/pteroq/run | 2 +- 6 files changed, 18 insertions(+), 15 deletions(-) rename root/etc/cont-init.d/{10-initializer => initializer} (85%) diff --git a/Dockerfile b/Dockerfile index a1b998b..49ad808 100644 --- a/Dockerfile +++ b/Dockerfile @@ -69,8 +69,9 @@ ENV S6_BEHAVIOUR_IF_STAGE2_FAILS="2" COPY --from=build --chown=nginx:nginx /var/www /var/www COPY root/ / -# Download latest S6-Overlay build from project repository: https://github.com/just-containers/s6-overlay -ADD https://github.com/just-containers/s6-overlay/releases/download/v2.2.0.3/s6-overlay-amd64-installer /tmp/s6-overlay +# Download latest S6-Overlay components from project repository: https://github.com/just-containers/s6-overlay +ADD https://github.com/just-containers/s6-overlay/releases/latest/download/s6-overlay-noarch.tar.xz /tmp +ADD https://github.com/just-containers/s6-overlay/releases/latest/download/s6-overlay-x86_64.tar.xz /tmp # Download latest Wait-For-It script from project repository: https://github.com/vishnubob/wait-for-it ADD https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh /usr/local/bin/wait-for-it @@ -79,8 +80,9 @@ ADD https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.s ADD https://bitbucket.org/Gethec/projecttools/raw/master/DockerUtilities/ContainerTools /usr/bin/ContainerTools # Install S6-Overlay and Wait-For-It -RUN chmod u+x /tmp/s6-overlay /usr/local/bin/wait-for-it && \ - /tmp/s6-overlay / && \ +RUN chmod u+x /usr/local/bin/wait-for-it && \ + tar -C / -Jxpf /tmp/s6-overlay-x86_64.tar.xz && \ + tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz && \ # Remove preinstalled conf files rm -rf \ /tmp/* \ diff --git a/root/etc/cont-init.d/10-initializer b/root/etc/cont-init.d/initializer similarity index 85% rename from root/etc/cont-init.d/10-initializer rename to root/etc/cont-init.d/initializer index da51fe3..a898f81 100644 --- a/root/etc/cont-init.d/10-initializer +++ b/root/etc/cont-init.d/initializer @@ -1,6 +1,7 @@ -#!/usr/bin/with-contenv bash +#!/command/with-contenv bash source ContainerTools SNAME=${BASH_SOURCE##*/} +WORKDIR="/var/www/pterodactyl" # If DBHOST value is present, pause boot until target container is up. if [ -n "$DBHOST" ]; then @@ -27,7 +28,7 @@ fi # Check for persistent storage directory, create file structure if not present. if [ ! -d "/config/storage" ]; then log "Creating storage directory" - cat .storage.tmpl | while read line; do + cat $WORKDIR/.storage.tmpl | while read line; do mkdir -p "/config/${line}" done fi @@ -42,17 +43,17 @@ fi if [ ! -e /config/pterodactyl.conf ]; then log "Config file does not exist, creating template" log "[WARN] Connect to container and finish setup process" - cp .env.example /config/pterodactyl.conf + cp $WORKDIR/.env.example /config/pterodactyl.conf log "Generating unique Pterodactyl key" - log "$(php artisan key:generate --force --no-interaction)" + log "$(php $WORKDIR/artisan key:generate --force --no-interaction)" fi # Clear views and autogenerated configs on launch. This is necessary for updates, and doesn't affect non-update launches. -log "$(php artisan view:clear)" -log "$(php artisan config:clear)" +log "$(php $WORKDIR/artisan view:clear)" +log "$(php $WORKDIR/artisan config:clear)" log "Checking for database updates, preparing cache" log "[NOTE] This will fail if the database connection has not yet been configured" -log "$(php artisan migrate --seed --force)" +log "$(php $WORKDIR/artisan migrate --seed --force)" chown -R nginx:nginx /config/ # Load selected Nginx conf. diff --git a/root/etc/services.d/crond/run b/root/etc/services.d/crond/run index b2ef9e6..500460b 100644 --- a/root/etc/services.d/crond/run +++ b/root/etc/services.d/crond/run @@ -1,2 +1,2 @@ -#!/usr/bin/execlineb -P +#!/command/execlineb -P /usr/sbin/crond -fL /dev/null \ No newline at end of file diff --git a/root/etc/services.d/nginx/run b/root/etc/services.d/nginx/run index 59eb260..c77b8b2 100644 --- a/root/etc/services.d/nginx/run +++ b/root/etc/services.d/nginx/run @@ -1,2 +1,2 @@ -#!/usr/bin/execlineb -P +#!/command/execlineb -P /usr/sbin/nginx -g "daemon off;" \ No newline at end of file diff --git a/root/etc/services.d/php-fpm/run b/root/etc/services.d/php-fpm/run index 1c021f8..e6e7f62 100644 --- a/root/etc/services.d/php-fpm/run +++ b/root/etc/services.d/php-fpm/run @@ -1,2 +1,2 @@ -#!/usr/bin/execlineb -P +#!/command/execlineb -P /usr/sbin/php-fpm -Fc /etc/php \ No newline at end of file diff --git a/root/etc/services.d/pteroq/run b/root/etc/services.d/pteroq/run index 9fe98bc..55193fb 100644 --- a/root/etc/services.d/pteroq/run +++ b/root/etc/services.d/pteroq/run @@ -1,3 +1,3 @@ -#!/usr/bin/execlineb -P +#!/command/execlineb -P s6-setuidgid nginx /usr/bin/php /var/www/pterodactyl/artisan queue:work --queue=high,standard,low --sleep=3 --tries=3 \ No newline at end of file