mirror of
https://github.com/netbirdio/dashboard.git
synced 2026-09-23 00:30:43 -07:00
Alpine 3.14 reached end of life in May 2023 and has received no security fixes for roughly three years. nginx is installed from the Alpine repos rather than pinned, so the base bump also moves nginx 1.20.2 -> 1.30.4, certbot 1.16.0 -> 5.6.0 and supervisor 4.2.2 -> 4.3.0. Alpine 3.24 carries security support until June 2028. Verified by building and running this Dockerfile on 3.14, 3.23 and 3.24 and comparing: the served index.html is byte-identical across all three, the CSP response header hashes identically, `nginx -t` passes on the existing config, and supervisord reaches the same state. /etc/crontabs/root and /etc/nginx/http.d/ still exist on 3.24, so the `rm /etc/crontabs/root` step and the config COPY paths are unaffected. Every certbot flag used by init_cert.sh is still accepted by certbot 5.x. Certificate issuance itself could not be exercised without a real domain, so the certbot 1.x -> 5.x jump should get one staging issuance before rollout. Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
24 lines
798 B
Docker
24 lines
798 B
Docker
FROM alpine:3.24
|
|
|
|
RUN apk add --no-cache bash curl less ca-certificates git tzdata zip gettext \
|
|
nginx curl supervisor certbot-nginx && \
|
|
rm -rf /var/cache/apk/* && mkdir -p /run/nginx
|
|
|
|
STOPSIGNAL SIGINT
|
|
EXPOSE 80
|
|
EXPOSE 443
|
|
ENTRYPOINT ["/usr/bin/supervisord","-c","/etc/supervisord.conf"]
|
|
|
|
WORKDIR /usr/share/nginx/html
|
|
# copy configuration files
|
|
COPY docker/default.conf /etc/nginx/http.d/default.conf
|
|
COPY docker/nginx.conf /etc/nginx/nginx.conf
|
|
COPY docker/init_cert.sh /usr/local/init_cert.sh
|
|
COPY docker/init_react_envs.sh /usr/local/init_react_envs.sh
|
|
RUN chmod +x /usr/local/init_cert.sh && rm /etc/crontabs/root
|
|
RUN chmod +x /usr/local/init_react_envs.sh
|
|
|
|
# configure supervisor
|
|
COPY docker/supervisord.conf /etc/supervisord.conf
|
|
# copy build files
|
|
COPY out/ /usr/share/nginx/html/ |