feat: added rompr
parent
46967b5087
commit
ee027268e6
|
@ -0,0 +1,95 @@
|
||||||
|
FROM php:7.2-fpm-alpine
|
||||||
|
|
||||||
|
ARG ROMPR_VERSION=2.06
|
||||||
|
|
||||||
|
ARG S6_OVERLAY_VERSION=3.1.5.0
|
||||||
|
ARG ARCH=aarch64
|
||||||
|
|
||||||
|
|
||||||
|
# init ########################################################################
|
||||||
|
|
||||||
|
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz /tmp
|
||||||
|
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${ARCH}.tar.xz /tmp
|
||||||
|
RUN tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz && \
|
||||||
|
tar -C / -Jxpf /tmp/s6-overlay-${ARCH}.tar.xz && \
|
||||||
|
rm /tmp/s6-overlay-noarch.tar.xz \
|
||||||
|
/tmp/s6-overlay-${ARCH}.tar.xz
|
||||||
|
|
||||||
|
COPY services.d /etc/services.d
|
||||||
|
|
||||||
|
ENTRYPOINT ["/init"]
|
||||||
|
|
||||||
|
|
||||||
|
# php #########################################################################
|
||||||
|
|
||||||
|
RUN apk add curl-dev libpng-dev icu-dev sqlite-dev && \
|
||||||
|
docker-php-ext-install curl gd intl pdo_sqlite && \
|
||||||
|
apk del curl-dev libpng-dev icu-dev sqlite-dev && \
|
||||||
|
apk add curl libpng icu sqlite
|
||||||
|
|
||||||
|
# according to https://fatg3erman.github.io/RompR/Recommended-Installation-on-Linux
|
||||||
|
# we want:
|
||||||
|
#
|
||||||
|
# allow_url_fopen = On
|
||||||
|
# memory_limit = 128M
|
||||||
|
# max_execution_time = 1800
|
||||||
|
# post_max_size = 256M
|
||||||
|
# upload_max_filesize = 10M
|
||||||
|
# max_file_uploads = 200
|
||||||
|
#
|
||||||
|
# as well as
|
||||||
|
#
|
||||||
|
# extension=curl
|
||||||
|
# extension=pdo_sqlite
|
||||||
|
# extension=gd
|
||||||
|
# extension=intl
|
||||||
|
|
||||||
|
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" && \
|
||||||
|
sed -i 's/^\(allow_url_fopen =\).*$/\1 On/' "$PHP_INI_DIR/php.ini" && \
|
||||||
|
sed -i 's/^\(memory_limit =\).*$/\1 128M/' "$PHP_INI_DIR/php.ini" && \
|
||||||
|
sed -i 's/^\(max_execution_time =\).*$/\1 1800/' "$PHP_INI_DIR/php.ini" && \
|
||||||
|
sed -i 's/^\(post_max_size =\).*$/\1 256M/' "$PHP_INI_DIR/php.ini" && \
|
||||||
|
sed -i 's/^\(upload_max_filesize =\).*$/\1 10M/' "$PHP_INI_DIR/php.ini" && \
|
||||||
|
sed -i 's/^\(max_file_uploads =\).*$/\1 200/' "$PHP_INI_DIR/php.ini" && \
|
||||||
|
sed -i 's/;\(extension=curl\)/\1/' "$PHP_INI_DIR/php.ini" && \
|
||||||
|
sed -i 's/;\(extension=pdo_sqlite\)/\1/' "$PHP_INI_DIR/php.ini" && \
|
||||||
|
sed -i 's/;\(extension=gd\).*$/\1/' "$PHP_INI_DIR/php.ini" && \
|
||||||
|
sed -i 's/;\(extension=intl\)/\1/' "$PHP_INI_DIR/php.ini" && \
|
||||||
|
echo "user=rompr" >> /usr/local/etc/php-fpm.conf
|
||||||
|
|
||||||
|
CMD php-fpm
|
||||||
|
|
||||||
|
|
||||||
|
# nginx #######################################################################
|
||||||
|
|
||||||
|
RUN apk add --no-cache nginx
|
||||||
|
COPY nginx.conf /etc/nginx/nginx.conf
|
||||||
|
|
||||||
|
|
||||||
|
# rompr #######################################################################
|
||||||
|
|
||||||
|
RUN addgroup \
|
||||||
|
--gid 10001 \
|
||||||
|
rompr && \
|
||||||
|
adduser \
|
||||||
|
--uid 10000 \
|
||||||
|
--home /var/www/rompr \
|
||||||
|
--ingroup rompr \
|
||||||
|
--disabled-password \
|
||||||
|
--shell /sbin/nologin \
|
||||||
|
rompr
|
||||||
|
|
||||||
|
RUN mkdir -p /var/www
|
||||||
|
ADD https://github.com/fatg3erman/RompR/releases/download/${ROMPR_VERSION}/rompr-${ROMPR_VERSION}.zip /var/www
|
||||||
|
RUN unzip "/var/www/rompr-$ROMPR_VERSION.zip" -d /var/www && \
|
||||||
|
rm "/var/www/rompr-$ROMPR_VERSION.zip" && \
|
||||||
|
mkdir -p /var/www/rompr/albumart /var/www/rompr/prefs && \
|
||||||
|
mkdir -p /run/nginx /var/run && \
|
||||||
|
touch /var/run/nginx.pid && \
|
||||||
|
chown -R rompr:rompr /var/www/rompr
|
||||||
|
|
||||||
|
WORKDIR /var/www/rompr
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
IMG_NAME=rompr
|
||||||
|
REGISTRY=registry.monotremata.xyz
|
||||||
|
IMG=$(REGISTRY)/$(IMG_NAME)
|
||||||
|
PLATFORMS=linux/arm64
|
||||||
|
|
||||||
|
.PHONY: build push buildx
|
||||||
|
|
||||||
|
build: Dockerfile nginx.conf services.d/nginx/run
|
||||||
|
docker build -t $(IMG) .
|
||||||
|
|
||||||
|
push: build
|
||||||
|
docker image push $(IMG)
|
||||||
|
|
||||||
|
buildx: Dockerfile nginx.conf services.d/nginx/run
|
||||||
|
docker buildx build \
|
||||||
|
--platform $(PLATFORMS) \
|
||||||
|
--tag $(IMG) \
|
||||||
|
--push \
|
||||||
|
.
|
|
@ -0,0 +1,51 @@
|
||||||
|
worker_processes auto;
|
||||||
|
pid /var/run/nginx.pid;
|
||||||
|
|
||||||
|
events {
|
||||||
|
worker_connections 1024;
|
||||||
|
}
|
||||||
|
|
||||||
|
http {
|
||||||
|
include /etc/nginx/mime.types;
|
||||||
|
default_type application/octet-stream;
|
||||||
|
|
||||||
|
error_log /dev/stdout info;
|
||||||
|
error_log /dev/stderr warn;
|
||||||
|
|
||||||
|
sendfile on;
|
||||||
|
|
||||||
|
index index.php;
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80;
|
||||||
|
|
||||||
|
root /var/www/rompr;
|
||||||
|
index index.php index.html index.htm;
|
||||||
|
|
||||||
|
client_max_body_size 256M;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
allow all;
|
||||||
|
index index.php;
|
||||||
|
|
||||||
|
location ~ \.php {
|
||||||
|
try_files $uri index.php =404;
|
||||||
|
|
||||||
|
fastcgi_pass 127.0.0.1:9000;
|
||||||
|
|
||||||
|
fastcgi_index index.php;
|
||||||
|
fastcgi_param SCRIPT_FILENAME $request_filename;
|
||||||
|
include /etc/nginx/fastcgi_params;
|
||||||
|
fastcgi_read_timeout 1800;
|
||||||
|
}
|
||||||
|
error_page 404 = /rompr/404.php;
|
||||||
|
try_files $uri $uri/ =404;
|
||||||
|
location ~ /albumart/* {
|
||||||
|
expires -1s;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# vi: ft=nginx.conf
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/command/execlineb -P
|
||||||
|
|
||||||
|
nginx -g "daemon off";
|
Loading…
Reference in New Issue