Portfolio/Dockerfile
Matthew L McPeak 1990111156
All checks were successful
ci / build-ui (push) Successful in 16s
ci / publish (push) Successful in 22s
Initial Commit
2026-10-08 08:50:57 -04:00

31 lines
No EOL
1.2 KiB
Docker

FROM nginx:1.27-alpine
RUN rm -rf /usr/share/nginx/html/* /etc/nginx/conf.d/default.conf && \
mkdir -p /var/cache/nginx/client_temp /var/cache/nginx/proxy_temp \
/var/cache/nginx/fastcgi_temp /var/cache/nginx/uwsgi_temp \
/var/cache/nginx/scgi_temp && \
chown -R 101:101 /var/cache/nginx /etc/nginx/conf.d && \
sed -i -e '/^user /d' -e 's|^pid .*|pid /tmp/nginx.pid;|' /etc/nginx/nginx.conf && \
printf '%s\n' \
'server {' \
' listen 8080;' \
' root /usr/share/nginx/html;' \
' index index.html;' \
' server_tokens off;' \
' gzip on;' \
' gzip_types text/css application/javascript application/json image/svg+xml;' \
' location = /healthz { access_log off; return 200 "ok\n"; }' \
' location /assets/ { expires 1y; add_header Cache-Control "public, immutable"; }' \
' location = /index.html { add_header Cache-Control "no-cache"; }' \
' location / { try_files $uri $uri/ /index.html; }' \
'}' > /etc/nginx/conf.d/site.conf
COPY dist/ /usr/share/nginx/html/
EXPOSE 8080
USER 101
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
CMD wget -qO- http://127.0.0.1:8080/healthz || exit 1
CMD ["nginx", "-g", "daemon off;"]