feat: Run piped frontend with unprivileged user

This commit is contained in:
Bernd Schorgers 2024-10-02 11:22:59 +02:00
parent afe3008ac7
commit 5a48946182
No known key found for this signature in database
GPG Key ID: BC5E2BD907F9A8EC
3 changed files with 17 additions and 8 deletions

View File

@ -15,11 +15,11 @@ RUN --mount=type=cache,target=/root/.local/share/pnpm \
pnpm install --prefer-offline && \ pnpm install --prefer-offline && \
pnpm build && ./localizefonts.sh pnpm build && ./localizefonts.sh
FROM nginx:alpine FROM nginxinc/nginx-unprivileged:alpine
COPY --from=build /app/dist/ /usr/share/nginx/html/ COPY --chown=101:101 --from=build /app/dist/ /usr/share/nginx/html/
COPY docker/nginx.conf /etc/nginx/conf.d/default.conf COPY --chown=101:101 docker/nginx.conf /etc/nginx/conf.d/default.conf
COPY docker/entrypoint.sh /entrypoint.sh COPY docker/entrypoint.sh /entrypoint.sh

View File

@ -1,7 +1,7 @@
FROM nginx:alpine FROM nginxinc/nginx-unprivileged:alpine
COPY ./dist-ci/ /usr/share/nginx/html/ COPY --chown=101:101 ./dist-ci/ /usr/share/nginx/html/
COPY docker/nginx.conf /etc/nginx/conf.d/default.conf COPY --chown=101:101 docker/nginx.conf /etc/nginx/conf.d/default.conf
COPY docker/entrypoint.sh /entrypoint.sh COPY docker/entrypoint.sh /entrypoint.sh
EXPOSE 80 EXPOSE 80

View File

@ -1,9 +1,18 @@
#!/bin/sh #!/bin/sh
if [ -z "$BACKEND_HOSTNAME" ]; then if [ -z "${BACKEND_HOSTNAME}" ]; then
echo "BACKEND_HOSTNAME not set" echo "BACKEND_HOSTNAME not set"
exit 1 exit 1
fi fi
sed -i s/pipedapi.kavin.rocks/"$BACKEND_HOSTNAME"/g /usr/share/nginx/html/assets/* sed -i "s/pipedapi.kavin.rocks/${BACKEND_HOSTNAME}/g" /usr/share/nginx/html/assets/*
if [ -n "${HTTP_WORKERS}" ]; then
sed -i "s/worker_processes auto;/worker_processes ${HTTP_WORKERS};/g" /etc/nginx/nginx.conf
fi
if [ -n "${HTTP_PORT}" ]; then
sed -i "s/80;/${HTTP_PORT};/g" /etc/nginx/conf.d/default.conf
fi
nginx -g "daemon off;" nginx -g "daemon off;"