From 4117d93467c4025a9262d33e0f60f87fa8e05aab Mon Sep 17 00:00:00 2001 From: peaklabs-dev <122374094+peaklabs-dev@users.noreply.github.com> Date: Wed, 13 Nov 2024 14:51:39 +0100 Subject: [PATCH 1/7] new dockerfile --- docker/prod/Dockerfile | 115 ++++++++++++++++++++++++----------------- 1 file changed, 69 insertions(+), 46 deletions(-) diff --git a/docker/prod/Dockerfile b/docker/prod/Dockerfile index 37e0481bb..b6d03d56f 100644 --- a/docker/prod/Dockerfile +++ b/docker/prod/Dockerfile @@ -1,75 +1,98 @@ -FROM serversideup/php:8.2-fpm-nginx-v2.2.1 AS base +# Versions +# https://hub.docker.com/r/serversideup/php/tags?name=8.3-fpm-nginx-alpine +ARG SERVERSIDEUP_PHP_VERSION=8.3-fpm-nginx-alpine +# https://github.com/minio/mc/releases +ARG MINIO_VERSION=RELEASE.2024-11-05T11-29-45Z +# https://github.com/cloudflare/cloudflared/releases +ARG CLOUDFLARED_VERSION=2024.11.0 +# https://www.postgresql.org/support/versioning/ - Can not be updated automatically so keep it at 15 +ARG POSTGRES_VERSION=15 + + +FROM serversideup/php:${SERVERSIDEUP_PHP_VERSION} AS base + WORKDIR /var/www/html -COPY composer.json composer.lock ./ +COPY --chown=www-data:www-data composer.json composer.lock ./ RUN composer install --no-dev --no-interaction --no-plugins --no-scripts --prefer-dist -FROM node:20 AS static-assets + +FROM node:20-alpine AS static-assets WORKDIR /app COPY . . -COPY --from=base --chown=9999:9999 /var/www/html . -RUN npm install -RUN npm run build +COPY --from=base --chown=www-data:www-data /var/www/html . +RUN npm ci && \ + npm run build -FROM serversideup/php:8.2-fpm-nginx-v2.2.1 + +FROM minio/mc:${MINIO_VERSION} AS minio-client + +FROM serversideup/php:${SERVERSIDEUP_PHP_VERSION} ARG TARGETPLATFORM -# https://github.com/cloudflare/cloudflared/releases -ARG CLOUDFLARED_VERSION=2024.4.1 -ARG POSTGRES_VERSION=15 +ARG POSTGRES_VERSION +ARG CLOUDFLARED_VERSION ARG CI=true WORKDIR /var/www/html -RUN apt-get update -# Postgres version requirements -RUN apt install dirmngr ca-certificates software-properties-common gnupg gnupg2 apt-transport-https curl -y -RUN curl -fSsL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | tee /usr/share/keyrings/postgresql.gpg > /dev/null +USER root -RUN echo deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt/ jammy-pgdg main | tee -a /etc/apt/sources.list.d/postgresql.list +# Install PostgreSQL repository and key +RUN apk add --no-cache gnupg && \ + mkdir -p /usr/share/keyrings && \ + curl -fSsL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor > /usr/share/keyrings/postgresql.gpg -RUN apt-get update -RUN apt-get install postgresql-client-$POSTGRES_VERSION -y +# Install only required packages that aren't already in the base image +RUN apk add --no-cache \ + postgresql${POSTGRES_VERSION}-client \ + openssh-client \ + git \ + git-lfs \ + jq \ + lsof -# Coolify requirements -RUN apt-get install -y php8.2-pgsql openssh-client git git-lfs jq lsof vim -RUN apt-get -y autoremove && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/* +# Configure shell aliases +RUN echo "alias ll='ls -al'" >> /etc/profile && \ + echo "alias a='php artisan'" >> /etc/profile && \ + echo "alias logs='tail -f storage/logs/laravel.log'" >> /etc/profile -COPY docker/prod/nginx.conf /etc/nginx/conf.d/custom.conf +# Setup Cloudflared based on architecture +RUN mkdir -p /usr/local/bin && \ + if [ "${TARGETPLATFORM}" = "linux/amd64" ]; then \ + curl -sSL "https://github.com/cloudflare/cloudflared/releases/download/${CLOUDFLARED_VERSION}/cloudflared-linux-amd64" -o /usr/local/bin/cloudflared; \ + elif [ "${TARGETPLATFORM}" = "linux/arm64" ]; then \ + curl -sSL "https://github.com/cloudflare/cloudflared/releases/download/${CLOUDFLARED_VERSION}/cloudflared-linux-arm64" -o /usr/local/bin/cloudflared; \ + fi && \ + chmod +x /usr/local/bin/cloudflared -COPY --from=base --chown=9999:9999 /var/www/html . +# Configure PHP upload limits +RUN echo 'upload_max_filesize=256M' > /usr/local/etc/php/conf.d/upload-limits.ini && \ + echo 'post_max_size=256M' >> /usr/local/etc/php/conf.d/upload-limits.ini -COPY --chown=9999:9999 . . +# Copy application files +COPY --chown=www-data:www-data . . +COPY --from=base --chown=www-data:www-data /var/www/html . +COPY --from=static-assets --chown=www-data:www-data /app/public/build ./public/build + +# Add composer dump-autoload before artisan commands RUN composer dump-autoload -COPY --from=static-assets --chown=9999:9999 /app/public/build ./public/build +# Copy configuration files +COPY docker/prod/nginx.conf /etc/nginx/conf.d/custom.conf COPY --chmod=755 docker/prod/etc/s6-overlay/ /etc/s6-overlay/ +# Install Minio client +COPY --from=minio-client /usr/bin/mc /usr/bin/mc +RUN chmod +x /usr/bin/mc + +# Optimize Laravel +USER www-data RUN php artisan route:clear RUN php artisan view:clear RUN php artisan route:cache RUN php artisan view:cache -RUN echo "alias ll='ls -al'" >>/etc/bash.bashrc -RUN echo "alias a='php artisan'" >>/etc/bash.bashrc -RUN echo "alias logs='tail -f storage/logs/laravel.log'" >>/etc/bash.bashrc -RUN mkdir -p /usr/local/bin - -RUN /bin/bash -c "if [[ ${TARGETPLATFORM} == 'linux/amd64' ]]; then \ - echo 'amd64' && \ - curl -sSL https://github.com/cloudflare/cloudflared/releases/download/${CLOUDFLARED_VERSION}/cloudflared-linux-amd64 -o /usr/local/bin/cloudflared && chmod +x /usr/local/bin/cloudflared \ - ;fi" - -RUN /bin/bash -c "if [[ ${TARGETPLATFORM} == 'linux/arm64' ]]; then \ - echo 'arm64' && \ - curl -L https://github.com/cloudflare/cloudflared/releases/download/${CLOUDFLARED_VERSION}/cloudflared-linux-arm64 -o /usr/local/bin/cloudflared && chmod +x /usr/local/bin/cloudflared \ - ;fi" - -RUN { \ - echo 'upload_max_filesize=256M'; \ - echo 'post_max_size=256M'; \ - } > /etc/php/current_version/cli/conf.d/upload-limits.ini - -COPY --from=minio/mc:RELEASE.2024-09-09T07-53-10Z /usr/bin/mc /usr/bin/mc -RUN chmod +x /usr/bin/mc +# Switch back to unprivileged user +USER www-data From 5b5f5832b8edf91c881dc41ff7cbc4d9c8dffaed Mon Sep 17 00:00:00 2001 From: peaklabs-dev <122374094+peaklabs-dev@users.noreply.github.com> Date: Wed, 13 Nov 2024 15:17:50 +0100 Subject: [PATCH 2/7] enable opcache and combine run commands --- docker/prod/Dockerfile | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/docker/prod/Dockerfile b/docker/prod/Dockerfile index b6d03d56f..c0bc2621f 100644 --- a/docker/prod/Dockerfile +++ b/docker/prod/Dockerfile @@ -70,6 +70,9 @@ RUN mkdir -p /usr/local/bin && \ RUN echo 'upload_max_filesize=256M' > /usr/local/etc/php/conf.d/upload-limits.ini && \ echo 'post_max_size=256M' >> /usr/local/etc/php/conf.d/upload-limits.ini +# Enable PHP OPcache +ENV PHP_OPCACHE_ENABLE=1 + # Copy application files COPY --chown=www-data:www-data . . COPY --from=base --chown=www-data:www-data /var/www/html . @@ -88,11 +91,7 @@ RUN chmod +x /usr/bin/mc # Optimize Laravel USER www-data -RUN php artisan route:clear -RUN php artisan view:clear -RUN php artisan route:cache -RUN php artisan view:cache - - -# Switch back to unprivileged user -USER www-data +RUN php artisan route:clear && \ + php artisan view:clear && \ + php artisan route:cache && \ + php artisan view:cache From bb6315d759ab29762ad7d1f00d9c5c1901d8b985 Mon Sep 17 00:00:00 2001 From: peaklabs-dev <122374094+peaklabs-dev@users.noreply.github.com> Date: Wed, 13 Nov 2024 17:19:06 +0100 Subject: [PATCH 3/7] add config cache --- docker/prod/Dockerfile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docker/prod/Dockerfile b/docker/prod/Dockerfile index c0bc2621f..00c798e1b 100644 --- a/docker/prod/Dockerfile +++ b/docker/prod/Dockerfile @@ -5,7 +5,7 @@ ARG SERVERSIDEUP_PHP_VERSION=8.3-fpm-nginx-alpine ARG MINIO_VERSION=RELEASE.2024-11-05T11-29-45Z # https://github.com/cloudflare/cloudflared/releases ARG CLOUDFLARED_VERSION=2024.11.0 -# https://www.postgresql.org/support/versioning/ - Can not be updated automatically so keep it at 15 +# https://www.postgresql.org/support/versioning/ - Can not updated automatically so keep it at 15 ARG POSTGRES_VERSION=15 @@ -93,5 +93,7 @@ RUN chmod +x /usr/bin/mc USER www-data RUN php artisan route:clear && \ php artisan view:clear && \ + php artisan config:clear && \ php artisan route:cache && \ - php artisan view:cache + php artisan view:cache && \ + php artisan config:cache From 36e4979dc30653ad7286888a9fb1dfe4a0aaf392 Mon Sep 17 00:00:00 2001 From: peaklabs-dev <122374094+peaklabs-dev@users.noreply.github.com> Date: Wed, 13 Nov 2024 17:31:44 +0100 Subject: [PATCH 4/7] only copy needed files into prod image --- docker/prod/Dockerfile | 47 +++++++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/docker/prod/Dockerfile b/docker/prod/Dockerfile index 00c798e1b..b1643ed01 100644 --- a/docker/prod/Dockerfile +++ b/docker/prod/Dockerfile @@ -12,30 +12,27 @@ ARG POSTGRES_VERSION=15 FROM serversideup/php:${SERVERSIDEUP_PHP_VERSION} AS base WORKDIR /var/www/html - COPY --chown=www-data:www-data composer.json composer.lock ./ RUN composer install --no-dev --no-interaction --no-plugins --no-scripts --prefer-dist - +# Build stage for frontend assets FROM node:20-alpine AS static-assets -WORKDIR /app -COPY . . -COPY --from=base --chown=www-data:www-data /var/www/html . -RUN npm ci && \ - npm run build +WORKDIR /app +COPY package*.json vite.config.js tailwind.config.js postcss.config.cjs ./ +COPY public ./public +COPY resources ./resources +RUN npm ci && npm run build FROM minio/mc:${MINIO_VERSION} AS minio-client +# Final stage FROM serversideup/php:${SERVERSIDEUP_PHP_VERSION} - ARG TARGETPLATFORM ARG POSTGRES_VERSION ARG CLOUDFLARED_VERSION ARG CI=true - WORKDIR /var/www/html - USER root # Install PostgreSQL repository and key @@ -43,7 +40,7 @@ RUN apk add --no-cache gnupg && \ mkdir -p /usr/share/keyrings && \ curl -fSsL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor > /usr/share/keyrings/postgresql.gpg -# Install only required packages that aren't already in the base image +# Install required packages RUN apk add --no-cache \ postgresql${POSTGRES_VERSION}-client \ openssh-client \ @@ -57,7 +54,7 @@ RUN echo "alias ll='ls -al'" >> /etc/profile && \ echo "alias a='php artisan'" >> /etc/profile && \ echo "alias logs='tail -f storage/logs/laravel.log'" >> /etc/profile -# Setup Cloudflared based on architecture +# Setup Cloudflared RUN mkdir -p /usr/local/bin && \ if [ "${TARGETPLATFORM}" = "linux/amd64" ]; then \ curl -sSL "https://github.com/cloudflare/cloudflared/releases/download/${CLOUDFLARED_VERSION}/cloudflared-linux-amd64" -o /usr/local/bin/cloudflared; \ @@ -66,20 +63,27 @@ RUN mkdir -p /usr/local/bin && \ fi && \ chmod +x /usr/local/bin/cloudflared -# Configure PHP upload limits +# Configure PHP RUN echo 'upload_max_filesize=256M' > /usr/local/etc/php/conf.d/upload-limits.ini && \ echo 'post_max_size=256M' >> /usr/local/etc/php/conf.d/upload-limits.ini - -# Enable PHP OPcache ENV PHP_OPCACHE_ENABLE=1 -# Copy application files -COPY --chown=www-data:www-data . . -COPY --from=base --chown=www-data:www-data /var/www/html . +# Copy dependencies and built assets +COPY --from=base --chown=www-data:www-data /var/www/html/vendor ./vendor COPY --from=static-assets --chown=www-data:www-data /app/public/build ./public/build -# Add composer dump-autoload before artisan commands -RUN composer dump-autoload +# Copy all neededapplication files +COPY --chown=www-data:www-data composer.json composer.lock ./ +COPY --chown=www-data:www-data app ./app +COPY --chown=www-data:www-data bootstrap ./bootstrap +COPY --chown=www-data:www-data config ./config +COPY --chown=www-data:www-data database ./database +COPY --chown=www-data:www-data lang ./lang +COPY --chown=www-data:www-data public ./public +COPY --chown=www-data:www-data routes ./routes +COPY --chown=www-data:www-data storage ./storage +COPY --chown=www-data:www-data templates ./templates +COPY --chown=www-data:www-data artisan artisan # Copy configuration files COPY docker/prod/nginx.conf /etc/nginx/conf.d/custom.conf @@ -91,7 +95,8 @@ RUN chmod +x /usr/bin/mc # Optimize Laravel USER www-data -RUN php artisan route:clear && \ +RUN composer dump-autoload && \ + php artisan route:clear && \ php artisan view:clear && \ php artisan config:clear && \ php artisan route:cache && \ From 5972ba7ab69ddfc13f285b02d3c5cf6129d89ede Mon Sep 17 00:00:00 2001 From: peaklabs-dev <122374094+peaklabs-dev@users.noreply.github.com> Date: Wed, 13 Nov 2024 17:34:33 +0100 Subject: [PATCH 5/7] Update Dockerfile --- docker/prod/Dockerfile | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/docker/prod/Dockerfile b/docker/prod/Dockerfile index b1643ed01..e39b5606a 100644 --- a/docker/prod/Dockerfile +++ b/docker/prod/Dockerfile @@ -15,7 +15,7 @@ WORKDIR /var/www/html COPY --chown=www-data:www-data composer.json composer.lock ./ RUN composer install --no-dev --no-interaction --no-plugins --no-scripts --prefer-dist -# Build stage for frontend assets + FROM node:20-alpine AS static-assets WORKDIR /app @@ -26,21 +26,21 @@ RUN npm ci && npm run build FROM minio/mc:${MINIO_VERSION} AS minio-client -# Final stage FROM serversideup/php:${SERVERSIDEUP_PHP_VERSION} + ARG TARGETPLATFORM ARG POSTGRES_VERSION ARG CLOUDFLARED_VERSION ARG CI=true + WORKDIR /var/www/html + USER root -# Install PostgreSQL repository and key RUN apk add --no-cache gnupg && \ mkdir -p /usr/share/keyrings && \ curl -fSsL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor > /usr/share/keyrings/postgresql.gpg -# Install required packages RUN apk add --no-cache \ postgresql${POSTGRES_VERSION}-client \ openssh-client \ @@ -49,12 +49,10 @@ RUN apk add --no-cache \ jq \ lsof -# Configure shell aliases RUN echo "alias ll='ls -al'" >> /etc/profile && \ echo "alias a='php artisan'" >> /etc/profile && \ echo "alias logs='tail -f storage/logs/laravel.log'" >> /etc/profile -# Setup Cloudflared RUN mkdir -p /usr/local/bin && \ if [ "${TARGETPLATFORM}" = "linux/amd64" ]; then \ curl -sSL "https://github.com/cloudflare/cloudflared/releases/download/${CLOUDFLARED_VERSION}/cloudflared-linux-amd64" -o /usr/local/bin/cloudflared; \ @@ -63,16 +61,15 @@ RUN mkdir -p /usr/local/bin && \ fi && \ chmod +x /usr/local/bin/cloudflared -# Configure PHP + RUN echo 'upload_max_filesize=256M' > /usr/local/etc/php/conf.d/upload-limits.ini && \ echo 'post_max_size=256M' >> /usr/local/etc/php/conf.d/upload-limits.ini ENV PHP_OPCACHE_ENABLE=1 -# Copy dependencies and built assets + COPY --from=base --chown=www-data:www-data /var/www/html/vendor ./vendor COPY --from=static-assets --chown=www-data:www-data /app/public/build ./public/build -# Copy all neededapplication files COPY --chown=www-data:www-data composer.json composer.lock ./ COPY --chown=www-data:www-data app ./app COPY --chown=www-data:www-data bootstrap ./bootstrap @@ -85,16 +82,18 @@ COPY --chown=www-data:www-data storage ./storage COPY --chown=www-data:www-data templates ./templates COPY --chown=www-data:www-data artisan artisan -# Copy configuration files COPY docker/prod/nginx.conf /etc/nginx/conf.d/custom.conf COPY --chmod=755 docker/prod/etc/s6-overlay/ /etc/s6-overlay/ -# Install Minio client +RUN mkdir -p /etc/nginx/conf.d && \ + chown -R www-data:www-data /etc/nginx && \ + chmod -R 755 /etc/nginx + COPY --from=minio-client /usr/bin/mc /usr/bin/mc RUN chmod +x /usr/bin/mc -# Optimize Laravel USER www-data + RUN composer dump-autoload && \ php artisan route:clear && \ php artisan view:clear && \ From 72f344ee73b0e9c57c96ee522a130763389febae Mon Sep 17 00:00:00 2001 From: peaklabs-dev <122374094+peaklabs-dev@users.noreply.github.com> Date: Wed, 13 Nov 2024 17:36:44 +0100 Subject: [PATCH 6/7] added comments --- docker/prod/Dockerfile | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/docker/prod/Dockerfile b/docker/prod/Dockerfile index e39b5606a..74c1e196b 100644 --- a/docker/prod/Dockerfile +++ b/docker/prod/Dockerfile @@ -8,14 +8,18 @@ ARG CLOUDFLARED_VERSION=2024.11.0 # https://www.postgresql.org/support/versioning/ - Can not updated automatically so keep it at 15 ARG POSTGRES_VERSION=15 - +# ================================================================= +# Stage 1: Composer dependencies +# ================================================================= FROM serversideup/php:${SERVERSIDEUP_PHP_VERSION} AS base WORKDIR /var/www/html COPY --chown=www-data:www-data composer.json composer.lock ./ RUN composer install --no-dev --no-interaction --no-plugins --no-scripts --prefer-dist - +# ================================================================= +# Stage 2: Frontend assets compilation +# ================================================================= FROM node:20-alpine AS static-assets WORKDIR /app @@ -24,8 +28,14 @@ COPY public ./public COPY resources ./resources RUN npm ci && npm run build +# ================================================================= +# Stage 3: Get MinIO client +# ================================================================= FROM minio/mc:${MINIO_VERSION} AS minio-client +# ================================================================= +# Final Stage: Production image +# ================================================================= FROM serversideup/php:${SERVERSIDEUP_PHP_VERSION} ARG TARGETPLATFORM @@ -37,10 +47,12 @@ WORKDIR /var/www/html USER root +# Install PostgreSQL repository and keys RUN apk add --no-cache gnupg && \ mkdir -p /usr/share/keyrings && \ curl -fSsL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor > /usr/share/keyrings/postgresql.gpg +# Install system dependencies RUN apk add --no-cache \ postgresql${POSTGRES_VERSION}-client \ openssh-client \ @@ -49,10 +61,12 @@ RUN apk add --no-cache \ jq \ lsof +# Configure shell aliases RUN echo "alias ll='ls -al'" >> /etc/profile && \ echo "alias a='php artisan'" >> /etc/profile && \ echo "alias logs='tail -f storage/logs/laravel.log'" >> /etc/profile +# Install Cloudflared based on architecture RUN mkdir -p /usr/local/bin && \ if [ "${TARGETPLATFORM}" = "linux/amd64" ]; then \ curl -sSL "https://github.com/cloudflare/cloudflared/releases/download/${CLOUDFLARED_VERSION}/cloudflared-linux-amd64" -o /usr/local/bin/cloudflared; \ @@ -61,15 +75,16 @@ RUN mkdir -p /usr/local/bin && \ fi && \ chmod +x /usr/local/bin/cloudflared - +# Configure PHP RUN echo 'upload_max_filesize=256M' > /usr/local/etc/php/conf.d/upload-limits.ini && \ echo 'post_max_size=256M' >> /usr/local/etc/php/conf.d/upload-limits.ini ENV PHP_OPCACHE_ENABLE=1 - +# Copy application files from previous stages COPY --from=base --chown=www-data:www-data /var/www/html/vendor ./vendor COPY --from=static-assets --chown=www-data:www-data /app/public/build ./public/build +# Copy application source code COPY --chown=www-data:www-data composer.json composer.lock ./ COPY --chown=www-data:www-data app ./app COPY --chown=www-data:www-data bootstrap ./bootstrap @@ -82,6 +97,7 @@ COPY --chown=www-data:www-data storage ./storage COPY --chown=www-data:www-data templates ./templates COPY --chown=www-data:www-data artisan artisan +# Configure Nginx and S6 overlay COPY docker/prod/nginx.conf /etc/nginx/conf.d/custom.conf COPY --chmod=755 docker/prod/etc/s6-overlay/ /etc/s6-overlay/ @@ -89,11 +105,14 @@ RUN mkdir -p /etc/nginx/conf.d && \ chown -R www-data:www-data /etc/nginx && \ chmod -R 755 /etc/nginx +# Install MinIO client COPY --from=minio-client /usr/bin/mc /usr/bin/mc RUN chmod +x /usr/bin/mc +# Switch to non-root user USER www-data +# Optimize Laravel application RUN composer dump-autoload && \ php artisan route:clear && \ php artisan view:clear && \ From a399f41f81fe5f22132d3f41436f119e1b1a25e3 Mon Sep 17 00:00:00 2001 From: peaklabs-dev <122374094+peaklabs-dev@users.noreply.github.com> Date: Wed, 13 Nov 2024 17:54:00 +0100 Subject: [PATCH 7/7] switch user --- docker/dev/etc/s6-overlay/s6-rc.d/horizon/run | 2 +- docker/dev/etc/s6-overlay/s6-rc.d/scheduler-worker/run | 2 +- docker/prod/etc/s6-overlay/s6-rc.d/horizon/run | 2 +- docker/prod/etc/s6-overlay/s6-rc.d/init-script/up | 2 +- docker/prod/etc/s6-overlay/s6-rc.d/scheduler-worker/run | 2 +- scripts/run | 8 ++++---- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docker/dev/etc/s6-overlay/s6-rc.d/horizon/run b/docker/dev/etc/s6-overlay/s6-rc.d/horizon/run index 87471097e..a67e6bbd1 100644 --- a/docker/dev/etc/s6-overlay/s6-rc.d/horizon/run +++ b/docker/dev/etc/s6-overlay/s6-rc.d/horizon/run @@ -1,5 +1,5 @@ #!/command/execlineb -P foreground { s6-sleep 5 - su - webuser -c "php /var/www/html/artisan start:horizon" + su - www-data -c "php /var/www/html/artisan start:horizon" } diff --git a/docker/dev/etc/s6-overlay/s6-rc.d/scheduler-worker/run b/docker/dev/etc/s6-overlay/s6-rc.d/scheduler-worker/run index 87ca0cae1..bd371a5a5 100644 --- a/docker/dev/etc/s6-overlay/s6-rc.d/scheduler-worker/run +++ b/docker/dev/etc/s6-overlay/s6-rc.d/scheduler-worker/run @@ -1,5 +1,5 @@ #!/command/execlineb -P foreground { s6-sleep 5 - su - webuser -c "php /var/www/html/artisan start:scheduler" + su - www-data -c "php /var/www/html/artisan start:scheduler" } diff --git a/docker/prod/etc/s6-overlay/s6-rc.d/horizon/run b/docker/prod/etc/s6-overlay/s6-rc.d/horizon/run index 87471097e..a67e6bbd1 100644 --- a/docker/prod/etc/s6-overlay/s6-rc.d/horizon/run +++ b/docker/prod/etc/s6-overlay/s6-rc.d/horizon/run @@ -1,5 +1,5 @@ #!/command/execlineb -P foreground { s6-sleep 5 - su - webuser -c "php /var/www/html/artisan start:horizon" + su - www-data -c "php /var/www/html/artisan start:horizon" } diff --git a/docker/prod/etc/s6-overlay/s6-rc.d/init-script/up b/docker/prod/etc/s6-overlay/s6-rc.d/init-script/up index 3b252b782..3d8c4cfa8 100644 --- a/docker/prod/etc/s6-overlay/s6-rc.d/init-script/up +++ b/docker/prod/etc/s6-overlay/s6-rc.d/init-script/up @@ -1,3 +1,3 @@ #!/command/execlineb -P -s6-setuidgid webuser +s6-setuidgid www-data php /var/www/html/artisan app:init diff --git a/docker/prod/etc/s6-overlay/s6-rc.d/scheduler-worker/run b/docker/prod/etc/s6-overlay/s6-rc.d/scheduler-worker/run index 87ca0cae1..bd371a5a5 100644 --- a/docker/prod/etc/s6-overlay/s6-rc.d/scheduler-worker/run +++ b/docker/prod/etc/s6-overlay/s6-rc.d/scheduler-worker/run @@ -1,5 +1,5 @@ #!/command/execlineb -P foreground { s6-sleep 5 - su - webuser -c "php /var/www/html/artisan start:scheduler" + su - www-data -c "php /var/www/html/artisan start:scheduler" } diff --git a/scripts/run b/scripts/run index 9d3c4f1f4..ceab9f4d7 100755 --- a/scripts/run +++ b/scripts/run @@ -32,14 +32,14 @@ function sync:bunny { } function db:reset { - bash spin exec -u webuser coolify php artisan migrate:fresh --seed + bash spin exec -u www-data coolify php artisan migrate:fresh --seed } function db:reset-prod { - bash spin exec -u webuser coolify php artisan migrate:fresh --force --seed --seeder=ProductionSeeder || + bash spin exec -u www-data coolify php artisan migrate:fresh --force --seed --seeder=ProductionSeeder || php artisan migrate:fresh --force --seed --seeder=ProductionSeeder } function coolify { - bash spin exec -u webuser coolify bash + bash spin exec -u www-data coolify bash } function coolify:root { @@ -58,7 +58,7 @@ function vite { } function tinker { - bash spin exec -u webuser coolify php artisan tinker + bash spin exec -u www-data coolify php artisan tinker } function default {