From deae4614602fe5a81777a65e0eb5e43db6e9c69b Mon Sep 17 00:00:00 2001 From: holzi1005 Date: Thu, 19 Dec 2024 08:26:13 +0100 Subject: [PATCH 1/3] add lem image --- lem_application_dockerfile | 61 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 lem_application_dockerfile diff --git a/lem_application_dockerfile b/lem_application_dockerfile new file mode 100644 index 0000000..81d1445 --- /dev/null +++ b/lem_application_dockerfile @@ -0,0 +1,61 @@ +ARG PHP_IMAGE_VERSION=3.20.6 +FROM git.h2-invent.com/public-system-design/alpine-php8-webserver:${PHP_IMAGE_VERSION} + +ARG VERSION +ARG SUPERCRONIC_VERSION=0.2.33 + +LABEL version="${VERSION}" \ + Maintainer="H2 invent GmbH" \ + Description="Fördermap" \ + org.opencontainers.version="${VERSION}" \ + org.opencontainers.image.title="Fördermap" \ + org.opencontainers.image.license="INTERNAL" \ + org.opencontainers.image.vendor="H2 invent GmbH" \ + org.opencontainers.image.authors="Andreas Holzmann " \ + org.opencontainers.image.source="https://github.com/h2-invent/lem" \ + org.opencontainers.image.documentation="https://fierdermmap.de" \ + org.opencontainers.image.url="https://fierdermmap.de" + +USER root + +RUN apk --no-cache add \ + unzip \ + php83-xmlwriter \ + php83-xsl \ + php83-pcntl \ + php83-posix \ + php83-sockets \ + php83-bcmath \ + && rm -rf /var/cache/apk/* + +RUN echo "Europe/Berlin" > /etc/timezone + +RUN echo "#!/bin/sh" > /docker-entrypoint-init.d/02-symfony.sh \ + && echo "php bin/console cache:clear" >> /docker-entrypoint-init.d/02-symfony.sh \ + && echo "php bin/console doc:mig:mig --no-interaction" >> /docker-entrypoint-init.d/02-symfony.sh \ + && echo "php bin/console cache:clear" >> /docker-entrypoint-init.d/02-symfony.sh \ + && chmod +x /docker-entrypoint-init.d/02-symfony.sh + +RUN --mount=type=secret,id=ARTIFACT_USER \ + --mount=type=secret,id=ARTIFACT_SECRET \ + --mount=type=secret,id=ARTIFACT_URL \ + ARTIFACT_USER=$(cat /run/secrets/ARTIFACT_USER) \ + ARTIFACT_SECRET=$(cat /run/secrets/ARTIFACT_SECRET) \ + ARTIFACT_URL=$(cat /run/secrets/ARTIFACT_URL) \ + && wget https://${ARTIFACT_USER}:${ARTIFACT_SECRET}@${ARTIFACT_URL}-${VERSION}.zip -O artifact.zip \ + && unzip artifact.zip \ + && rm artifact.zip \ + && chown -R nobody public \ + && chown -R nobody var \ + && chmod -R 700 public \ + && chmod -R 700 var \ + && rm -r var/cache + +USER nobody + +ENV nginx_root_directory=/var/www/html/public \ + memory_limit=1024M \ + post_max_size=20M \ + upload_max_filesize=10M \ + date_timezone=Europe/Berlin \ + intl_default_locale=de_DE \ No newline at end of file From b1df652291f8c6e3c989935472b8b1542e38fb1e Mon Sep 17 00:00:00 2001 From: holzi1005 Date: Mon, 30 Dec 2024 16:49:22 +0100 Subject: [PATCH 2/3] update lem --- lem_application_dockerfile | 55 ++++++++++++++++---------- lem_application_dockerfile_original | 61 +++++++++++++++++++++++++++++ 2 files changed, 96 insertions(+), 20 deletions(-) create mode 100644 lem_application_dockerfile_original diff --git a/lem_application_dockerfile b/lem_application_dockerfile index 81d1445..11207f7 100644 --- a/lem_application_dockerfile +++ b/lem_application_dockerfile @@ -1,5 +1,35 @@ ARG PHP_IMAGE_VERSION=3.20.6 -FROM git.h2-invent.com/public-system-design/alpine-php8-webserver:${PHP_IMAGE_VERSION} +FROM git.h2-invent.com/public-system-design/alpine-php8-webserver:${PHP_IMAGE_VERSION} AS builder + +USER root + +RUN apk --no-cache add \ + node \ + npm \ + git \ + composer \ + && rm -rf /var/cache/apk/* + +RUN npm install \ + && npm run build + +RUN mv /etc/php8/conf.d/custom.ini /etc/php8/custom.ini \ + && php -d memory_limit=-1 \ + composer.phar install \ + --optimize-autoloader \ + --no-interaction \ + --no-progress \ + --no-dev \ + && mv /etc/php8/custom.ini /etc/php8/conf.d/custom.ini + +RUN rm -rf node_modules \ + && rm -r var/log \ + && rm -r var/cache + +RUN zip -r archive.zip . + +ARG PHP_IMAGE_VERSION=3.20.6 +FROM git.h2-invent.com/public-system-design/alpine-php8-webserver:${PHP_IMAGE_VERSION} AS builder ARG VERSION ARG SUPERCRONIC_VERSION=0.2.33 @@ -18,16 +48,6 @@ LABEL version="${VERSION}" \ USER root -RUN apk --no-cache add \ - unzip \ - php83-xmlwriter \ - php83-xsl \ - php83-pcntl \ - php83-posix \ - php83-sockets \ - php83-bcmath \ - && rm -rf /var/cache/apk/* - RUN echo "Europe/Berlin" > /etc/timezone RUN echo "#!/bin/sh" > /docker-entrypoint-init.d/02-symfony.sh \ @@ -36,15 +56,10 @@ RUN echo "#!/bin/sh" > /docker-entrypoint-init.d/02-symfony.sh \ && echo "php bin/console cache:clear" >> /docker-entrypoint-init.d/02-symfony.sh \ && chmod +x /docker-entrypoint-init.d/02-symfony.sh -RUN --mount=type=secret,id=ARTIFACT_USER \ - --mount=type=secret,id=ARTIFACT_SECRET \ - --mount=type=secret,id=ARTIFACT_URL \ - ARTIFACT_USER=$(cat /run/secrets/ARTIFACT_USER) \ - ARTIFACT_SECRET=$(cat /run/secrets/ARTIFACT_SECRET) \ - ARTIFACT_URL=$(cat /run/secrets/ARTIFACT_URL) \ - && wget https://${ARTIFACT_USER}:${ARTIFACT_SECRET}@${ARTIFACT_URL}-${VERSION}.zip -O artifact.zip \ - && unzip artifact.zip \ - && rm artifact.zip \ +COPY --from=builder archive.zip . + +RUN unzip archive.zip \ + && rm archive.zip \ && chown -R nobody public \ && chown -R nobody var \ && chmod -R 700 public \ diff --git a/lem_application_dockerfile_original b/lem_application_dockerfile_original new file mode 100644 index 0000000..81d1445 --- /dev/null +++ b/lem_application_dockerfile_original @@ -0,0 +1,61 @@ +ARG PHP_IMAGE_VERSION=3.20.6 +FROM git.h2-invent.com/public-system-design/alpine-php8-webserver:${PHP_IMAGE_VERSION} + +ARG VERSION +ARG SUPERCRONIC_VERSION=0.2.33 + +LABEL version="${VERSION}" \ + Maintainer="H2 invent GmbH" \ + Description="Fördermap" \ + org.opencontainers.version="${VERSION}" \ + org.opencontainers.image.title="Fördermap" \ + org.opencontainers.image.license="INTERNAL" \ + org.opencontainers.image.vendor="H2 invent GmbH" \ + org.opencontainers.image.authors="Andreas Holzmann " \ + org.opencontainers.image.source="https://github.com/h2-invent/lem" \ + org.opencontainers.image.documentation="https://fierdermmap.de" \ + org.opencontainers.image.url="https://fierdermmap.de" + +USER root + +RUN apk --no-cache add \ + unzip \ + php83-xmlwriter \ + php83-xsl \ + php83-pcntl \ + php83-posix \ + php83-sockets \ + php83-bcmath \ + && rm -rf /var/cache/apk/* + +RUN echo "Europe/Berlin" > /etc/timezone + +RUN echo "#!/bin/sh" > /docker-entrypoint-init.d/02-symfony.sh \ + && echo "php bin/console cache:clear" >> /docker-entrypoint-init.d/02-symfony.sh \ + && echo "php bin/console doc:mig:mig --no-interaction" >> /docker-entrypoint-init.d/02-symfony.sh \ + && echo "php bin/console cache:clear" >> /docker-entrypoint-init.d/02-symfony.sh \ + && chmod +x /docker-entrypoint-init.d/02-symfony.sh + +RUN --mount=type=secret,id=ARTIFACT_USER \ + --mount=type=secret,id=ARTIFACT_SECRET \ + --mount=type=secret,id=ARTIFACT_URL \ + ARTIFACT_USER=$(cat /run/secrets/ARTIFACT_USER) \ + ARTIFACT_SECRET=$(cat /run/secrets/ARTIFACT_SECRET) \ + ARTIFACT_URL=$(cat /run/secrets/ARTIFACT_URL) \ + && wget https://${ARTIFACT_USER}:${ARTIFACT_SECRET}@${ARTIFACT_URL}-${VERSION}.zip -O artifact.zip \ + && unzip artifact.zip \ + && rm artifact.zip \ + && chown -R nobody public \ + && chown -R nobody var \ + && chmod -R 700 public \ + && chmod -R 700 var \ + && rm -r var/cache + +USER nobody + +ENV nginx_root_directory=/var/www/html/public \ + memory_limit=1024M \ + post_max_size=20M \ + upload_max_filesize=10M \ + date_timezone=Europe/Berlin \ + intl_default_locale=de_DE \ No newline at end of file From 4d92901d04d51cc71d57516101e21243f918201f Mon Sep 17 00:00:00 2001 From: holzi1005 Date: Mon, 30 Dec 2024 16:52:12 +0100 Subject: [PATCH 3/3] use old pipeline --- lem_application_dockerfile | 55 ++++++++++---------------- lem_application_dockerfile_original | 61 ----------------------------- 2 files changed, 20 insertions(+), 96 deletions(-) delete mode 100644 lem_application_dockerfile_original diff --git a/lem_application_dockerfile b/lem_application_dockerfile index 11207f7..81d1445 100644 --- a/lem_application_dockerfile +++ b/lem_application_dockerfile @@ -1,35 +1,5 @@ ARG PHP_IMAGE_VERSION=3.20.6 -FROM git.h2-invent.com/public-system-design/alpine-php8-webserver:${PHP_IMAGE_VERSION} AS builder - -USER root - -RUN apk --no-cache add \ - node \ - npm \ - git \ - composer \ - && rm -rf /var/cache/apk/* - -RUN npm install \ - && npm run build - -RUN mv /etc/php8/conf.d/custom.ini /etc/php8/custom.ini \ - && php -d memory_limit=-1 \ - composer.phar install \ - --optimize-autoloader \ - --no-interaction \ - --no-progress \ - --no-dev \ - && mv /etc/php8/custom.ini /etc/php8/conf.d/custom.ini - -RUN rm -rf node_modules \ - && rm -r var/log \ - && rm -r var/cache - -RUN zip -r archive.zip . - -ARG PHP_IMAGE_VERSION=3.20.6 -FROM git.h2-invent.com/public-system-design/alpine-php8-webserver:${PHP_IMAGE_VERSION} AS builder +FROM git.h2-invent.com/public-system-design/alpine-php8-webserver:${PHP_IMAGE_VERSION} ARG VERSION ARG SUPERCRONIC_VERSION=0.2.33 @@ -48,6 +18,16 @@ LABEL version="${VERSION}" \ USER root +RUN apk --no-cache add \ + unzip \ + php83-xmlwriter \ + php83-xsl \ + php83-pcntl \ + php83-posix \ + php83-sockets \ + php83-bcmath \ + && rm -rf /var/cache/apk/* + RUN echo "Europe/Berlin" > /etc/timezone RUN echo "#!/bin/sh" > /docker-entrypoint-init.d/02-symfony.sh \ @@ -56,10 +36,15 @@ RUN echo "#!/bin/sh" > /docker-entrypoint-init.d/02-symfony.sh \ && echo "php bin/console cache:clear" >> /docker-entrypoint-init.d/02-symfony.sh \ && chmod +x /docker-entrypoint-init.d/02-symfony.sh -COPY --from=builder archive.zip . - -RUN unzip archive.zip \ - && rm archive.zip \ +RUN --mount=type=secret,id=ARTIFACT_USER \ + --mount=type=secret,id=ARTIFACT_SECRET \ + --mount=type=secret,id=ARTIFACT_URL \ + ARTIFACT_USER=$(cat /run/secrets/ARTIFACT_USER) \ + ARTIFACT_SECRET=$(cat /run/secrets/ARTIFACT_SECRET) \ + ARTIFACT_URL=$(cat /run/secrets/ARTIFACT_URL) \ + && wget https://${ARTIFACT_USER}:${ARTIFACT_SECRET}@${ARTIFACT_URL}-${VERSION}.zip -O artifact.zip \ + && unzip artifact.zip \ + && rm artifact.zip \ && chown -R nobody public \ && chown -R nobody var \ && chmod -R 700 public \ diff --git a/lem_application_dockerfile_original b/lem_application_dockerfile_original deleted file mode 100644 index 81d1445..0000000 --- a/lem_application_dockerfile_original +++ /dev/null @@ -1,61 +0,0 @@ -ARG PHP_IMAGE_VERSION=3.20.6 -FROM git.h2-invent.com/public-system-design/alpine-php8-webserver:${PHP_IMAGE_VERSION} - -ARG VERSION -ARG SUPERCRONIC_VERSION=0.2.33 - -LABEL version="${VERSION}" \ - Maintainer="H2 invent GmbH" \ - Description="Fördermap" \ - org.opencontainers.version="${VERSION}" \ - org.opencontainers.image.title="Fördermap" \ - org.opencontainers.image.license="INTERNAL" \ - org.opencontainers.image.vendor="H2 invent GmbH" \ - org.opencontainers.image.authors="Andreas Holzmann " \ - org.opencontainers.image.source="https://github.com/h2-invent/lem" \ - org.opencontainers.image.documentation="https://fierdermmap.de" \ - org.opencontainers.image.url="https://fierdermmap.de" - -USER root - -RUN apk --no-cache add \ - unzip \ - php83-xmlwriter \ - php83-xsl \ - php83-pcntl \ - php83-posix \ - php83-sockets \ - php83-bcmath \ - && rm -rf /var/cache/apk/* - -RUN echo "Europe/Berlin" > /etc/timezone - -RUN echo "#!/bin/sh" > /docker-entrypoint-init.d/02-symfony.sh \ - && echo "php bin/console cache:clear" >> /docker-entrypoint-init.d/02-symfony.sh \ - && echo "php bin/console doc:mig:mig --no-interaction" >> /docker-entrypoint-init.d/02-symfony.sh \ - && echo "php bin/console cache:clear" >> /docker-entrypoint-init.d/02-symfony.sh \ - && chmod +x /docker-entrypoint-init.d/02-symfony.sh - -RUN --mount=type=secret,id=ARTIFACT_USER \ - --mount=type=secret,id=ARTIFACT_SECRET \ - --mount=type=secret,id=ARTIFACT_URL \ - ARTIFACT_USER=$(cat /run/secrets/ARTIFACT_USER) \ - ARTIFACT_SECRET=$(cat /run/secrets/ARTIFACT_SECRET) \ - ARTIFACT_URL=$(cat /run/secrets/ARTIFACT_URL) \ - && wget https://${ARTIFACT_USER}:${ARTIFACT_SECRET}@${ARTIFACT_URL}-${VERSION}.zip -O artifact.zip \ - && unzip artifact.zip \ - && rm artifact.zip \ - && chown -R nobody public \ - && chown -R nobody var \ - && chmod -R 700 public \ - && chmod -R 700 var \ - && rm -r var/cache - -USER nobody - -ENV nginx_root_directory=/var/www/html/public \ - memory_limit=1024M \ - post_max_size=20M \ - upload_max_filesize=10M \ - date_timezone=Europe/Berlin \ - intl_default_locale=de_DE \ No newline at end of file