From 6677a0890a3fb5ad2b5376c8e0ec251ece770fe0 Mon Sep 17 00:00:00 2001 From: MrAnyx Date: Sat, 4 Jan 2025 12:20:10 +0000 Subject: [PATCH] fix: Migrate from S6-Overlay to Supervisor for process management and update entrypoint scripts --- .docker/entrypoint.dev.sh | 14 ++++++++++++-- .docker/entrypoint.prod.sh | 14 ++++++++++++-- .docker/s6/apache/run | 6 ------ .docker/s6/messenger/run | 6 ------ .docker/supervisord.conf | 1 - Dockerfile | 9 ++------- 6 files changed, 26 insertions(+), 24 deletions(-) delete mode 100644 .docker/s6/apache/run delete mode 100644 .docker/s6/messenger/run diff --git a/.docker/entrypoint.dev.sh b/.docker/entrypoint.dev.sh index bbd4f37..c18324e 100644 --- a/.docker/entrypoint.dev.sh +++ b/.docker/entrypoint.dev.sh @@ -1,6 +1,16 @@ #!/bin/bash set -e +cat /etc/environment \ + | sed -e 's/"//g' \ + | awk -F= '{key=$1}{value=$2} BEGIN {printf "environment="} NR>1 {printf ","} {printf key"=\42"value"\42"} END {printf "\n"}' \ + >> /etc/supervisor/conf.d/supervisord.conf + # Update and start supervisor service -echo "Starting S6-Overlay..." -exec /init +echo "Starting supervisor..." +service supervisor start +supervisorctl reread +supervisorctl update +supervisorctl restart all + +exec docker-php-entrypoint "$@" diff --git a/.docker/entrypoint.prod.sh b/.docker/entrypoint.prod.sh index cb7c55f..c8b3aab 100644 --- a/.docker/entrypoint.prod.sh +++ b/.docker/entrypoint.prod.sh @@ -5,6 +5,16 @@ set -e echo "Running database migrations..." php bin/console doctrine:migrations:migrate --no-interaction --allow-no-migration +cat /etc/environment \ + | sed -e 's/"//g' \ + | awk -F= '{key=$1}{value=$2} BEGIN {printf "environment="} NR>1 {printf ","} {printf key"=\42"value"\42"} END {printf "\n"}' \ + >> /etc/supervisor/conf.d/supervisord.conf + # Update and start supervisor service -echo "Starting S6-Overlay..." -exec /init +echo "Starting supervisor..." +service supervisor start +supervisorctl reread +supervisorctl update +supervisorctl restart all + +exec docker-php-entrypoint "$@" diff --git a/.docker/s6/apache/run b/.docker/s6/apache/run deleted file mode 100644 index 4462607..0000000 --- a/.docker/s6/apache/run +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/with-contenv sh -set -e - -echo "Starting apache2" -exec apache2-foreground -echo "apache2 has been started" diff --git a/.docker/s6/messenger/run b/.docker/s6/messenger/run deleted file mode 100644 index 134b04c..0000000 --- a/.docker/s6/messenger/run +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/with-contenv sh -set -e - -echo "Starting messenger:consume async" -php /var/www/html/bin/console messenger:consume async --time-limit=3600 -echo "messenger:consume async has started" diff --git a/.docker/supervisord.conf b/.docker/supervisord.conf index 600c230..8a46b42 100644 --- a/.docker/supervisord.conf +++ b/.docker/supervisord.conf @@ -35,4 +35,3 @@ stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 -EnvironmentFile=/etc/environment diff --git a/Dockerfile b/Dockerfile index 12b80e0..00d283b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,6 @@ FROM php:8.3.15-apache AS base +RUN apt-get update && apt-get install -y supervisor WORKDIR /var/www/html -RUN apt-get update -ARG S6_OVERLAY_VERSION=3.2.0.2 -ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz /tmp -RUN tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz -ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-x86_64.tar.xz /tmp -RUN tar -C / -Jxpf /tmp/s6-overlay-x86_64.tar.xz -COPY --chmod=755 ./.docker/s6 /etc/services.d ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/ RUN install-php-extensions intl RUN install-php-extensions opcache @@ -16,6 +10,7 @@ RUN install-php-extensions @composer ENV COMPOSER_ALLOW_SUPERUSER=1 COPY ./.docker/apache/apache.conf /etc/apache2/sites-available/000-default.conf RUN a2enmod rewrite +COPY ./.docker/supervisord.conf /etc/supervisor/conf.d/supervisord.conf ENTRYPOINT [ "/usr/local/bin/entrypoint.sh" ] FROM base AS dev