From cc66ee9eae735fcb8dce47536a7ba5778f5de6ea Mon Sep 17 00:00:00 2001 From: Udo Waechter Date: Fri, 19 Mar 2021 12:11:13 +0100 Subject: [PATCH] migrated to debian --- apps/web/rompr/Dockerfile | 59 +++++++++++++++++++++++++--------- apps/web/rompr/deployment.yaml | 14 -------- apps/web/rompr/nginx_default | 35 ++++++++++++++++++++ apps/web/rompr/run_httpd | 6 ++++ 4 files changed, 85 insertions(+), 29 deletions(-) create mode 100644 apps/web/rompr/nginx_default create mode 100644 apps/web/rompr/run_httpd diff --git a/apps/web/rompr/Dockerfile b/apps/web/rompr/Dockerfile index ba73896..0de4c51 100644 --- a/apps/web/rompr/Dockerfile +++ b/apps/web/rompr/Dockerfile @@ -1,20 +1,25 @@ -FROM php:7-fpm +FROM debian:buster-slim -ARG DEV_PKGS='zlib1g-dev libpng-dev libjpeg-dev libfreetype6-dev gcc g++ dpkg-dev \ - libcurl4-gnutls-dev default-libmysqlclient-dev libicu-dev' - +ARG ROMPR_VERSION=1.55 +# Install packages +ENV DEBIAN_FRONTEND noninteractive RUN sed -i 's@deb.debian.org@apt-cache.lan/deb.debian.org@g' /etc/apt/sources.list && \ - sed -i 's@security.debian.org@apt-cache.lan/security.debian.org@g' /etc/apt/sources.list && \ + sed -i 's@security.debian.org@apt-cache.lan/security.debian.org@g' /etc/apt/sources.list && \ apt-get update && \ - apt-get install -y imagemagick git bash ${DEV_PKGS} && \ - docker-php-ext-configure gd --with-freetype --with-jpeg && \ - docker-php-ext-install -j$(nproc) gd && \ - docker-php-ext-install -j$(nproc) json && \ - docker-php-ext-install -j$(nproc) curl && \ - docker-php-ext-install -j$(nproc) intl && \ - docker-php-ext-install -j$(nproc) mysqli && \ - docker-php-ext-install -j$(nproc) pdo pdo_mysql - + apt-get -y install \ + nginx \ + php-fpm \ + curl \ + php-mysql \ + php-curl \ + php-gd \ + unzip \ + imagemagick \ + php-json \ + php-xml \ + php-mbstring \ + php-sqlite3 \ + php-intl # CLeanup RUN apt-get remove -y --purge ${DEV_PKGS} && \ apt-get autoremove --purge -y && \ @@ -22,4 +27,28 @@ RUN apt-get remove -y --purge ${DEV_PKGS} && \ rm -rf /var/lib/apt/lists/* && \ rm -rf /var/cache/apt/* /tmp/* /var/tmp/* /var/log/* -VOLUME [ "/rompr" ] +RUN curl -k -L -o rompr.zip https://github.com/fatg3erman/RompR/releases/download/${ROMPR_VERSION}/rompr-${ROMPR_VERSION}.zip +RUN mkdir -p /app +RUN unzip -d /app rompr.zip && rm rompr.zip +RUN ln -sf /rompr/prefs /app/rompr/prefs +RUN ln -sf /rompr/albumart /app/rompr/albumart +RUN chown -R www-data:www-data /app/rompr +COPY nginx_default /etc/nginx/sites-available/default +RUN mkdir -p /run/php/ +#Environment variables to configure php +RUN sed -ri -e 's/^allow_url_fopen =.*/allow_url_fopen = On/g' /etc/php/7.3/fpm/php.ini +RUN sed -ri -e 's/^memory_limit =.*/memory_limit = 128M/g' /etc/php/7.3/fpm/php.ini +RUN sed -ri -e 's/^max_execution_time =.*/max_execution_time = 1800/g' /etc/php/7.3/fpm/php.ini +RUN sed -ri -e 's/^post_max_size =.*/post_max_size = 256M/g' /etc/php/7.3/fpm/php.ini +RUN sed -ri -e 's/^upload_max_filesize =.*/upload_max_filesize = 8M/g' /etc/php/7.3/fpm/php.ini +RUN sed -ri -e 's/^max_file_uploads =.*/max_file_uploads = 50/g' /etc/php/7.3/fpm/php.ini +RUN sed -ri -e 's/^display_errors =.*/display_errors = On/g' /etc/php/7.3/fpm/php.ini +RUN sed -ri -e 's/^display_startup_errors =.*/display_startup_errors = On/g' /etc/php/7.3/fpm/php.ini + +RUN echo "" > /app/rompr/phpinfo.php +RUN update-rc.d php7.3-fpm defaults +COPY run-httpd /usr/local/bin/ +RUN chmod 755 /usr/local/bin/run-httpd +EXPOSE 80 +VOLUME ["/rompr"] +CMD ["/usr/local/bin/run-httpd"] diff --git a/apps/web/rompr/deployment.yaml b/apps/web/rompr/deployment.yaml index 4154cfc..7f333c3 100644 --- a/apps/web/rompr/deployment.yaml +++ b/apps/web/rompr/deployment.yaml @@ -19,29 +19,15 @@ spec: name: rompr imagePullPolicy: Always ports: - - containerPort: 9000 - name: php-fpm - volumeMounts: - - name: rompr-data - mountPath: /rompr - - image: sebp/lighttpd:latest - name: lighttpd - imagePullPolicy: IfNotPresent - ports: - containerPort: 80 name: http volumeMounts: - name: rompr-data mountPath: /rompr - - name: rompr-lighttpd-config - mountPath: /etc/lighttpd volumes: - name: rompr-data persistentVolumeClaim: claimName: rompr-data - - name: rompr-lighttpd-config - configMap: - name: rompr-lighttpd-config --- apiVersion: v1 kind: Service diff --git a/apps/web/rompr/nginx_default b/apps/web/rompr/nginx_default new file mode 100644 index 0000000..da2c59f --- /dev/null +++ b/apps/web/rompr/nginx_default @@ -0,0 +1,35 @@ +# Default server configuration +# +server { + listen 80; + listen [::]:80; + + root /app/rompr; + + # Add index.php to the list if you are using PHP + index index.php index.html index.htm; + + server_name _; + + client_max_body_size 256M; + + # This section can be copied into an existing default setup + location / { + allow all; + index index.php; + location ~ \.php { + try_files $uri index.php =404; + fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $request_filename; + include /etc/nginx/fastcgi_params; + fastcgi_read_timeout 1800; + } + error_page 404 = /404.php; + try_files $uri $uri/ =404; + location ~ /albumart/* { + expires -1s; + } + } + +} diff --git a/apps/web/rompr/run_httpd b/apps/web/rompr/run_httpd new file mode 100644 index 0000000..7920bc3 --- /dev/null +++ b/apps/web/rompr/run_httpd @@ -0,0 +1,6 @@ +#!/bin/sh +rm /var/run/nginx.pid +set -e + +/etc/init.d/php7.3-fpm restart +exec /usr/sbin/nginx -g 'daemon off;'