2024-09-21 10:49:50 +03:00
|
|
|
FROM node:22.9-alpine as node
|
2019-03-03 12:12:59 +03:00
|
|
|
COPY . /shlink-web-client
|
2020-03-05 15:37:07 +03:00
|
|
|
ARG VERSION="latest"
|
|
|
|
ENV VERSION ${VERSION}
|
2023-08-12 11:26:42 +03:00
|
|
|
RUN cd /shlink-web-client && npm ci && npm run build
|
2019-03-03 12:12:59 +03:00
|
|
|
|
2024-06-07 09:57:01 +03:00
|
|
|
FROM nginxinc/nginx-unprivileged:1.27-alpine
|
2023-09-22 15:54:56 +03:00
|
|
|
ARG UID=101
|
2019-01-07 11:41:54 +03:00
|
|
|
LABEL maintainer="Alejandro Celaya <alejandro@alejandrocelaya.com>"
|
2024-01-30 20:07:44 +03:00
|
|
|
|
2023-09-22 15:54:56 +03:00
|
|
|
USER root
|
2019-09-22 12:55:21 +03:00
|
|
|
RUN rm -r /usr/share/nginx/html && rm /etc/nginx/conf.d/default.conf
|
|
|
|
COPY config/docker/nginx.conf /etc/nginx/conf.d/default.conf
|
2021-06-13 10:51:10 +03:00
|
|
|
COPY scripts/docker/servers_from_env.sh /docker-entrypoint.d/30-shlink-servers-json.sh
|
2019-03-03 12:12:59 +03:00
|
|
|
COPY --from=node /shlink-web-client/build /usr/share/nginx/html
|
2024-01-30 00:04:28 +03:00
|
|
|
|
2024-01-30 14:10:13 +03:00
|
|
|
# This is required by 30-shlink-servers-json.sh to be writable for UID
|
|
|
|
RUN echo '[]' > /usr/share/nginx/html/servers.json \
|
2024-01-30 20:07:44 +03:00
|
|
|
&& chown $UID:0 /usr/share/nginx/html/servers.json
|
2024-01-30 00:04:28 +03:00
|
|
|
|
|
|
|
# Switch to non-privileged UID as the last step
|
|
|
|
USER $UID
|