diff --git a/dockerfile b/dockerfile index 0e7e734..fe6a04f 100644 --- a/dockerfile +++ b/dockerfile @@ -3,14 +3,15 @@ RUN pip install mkdocs WORKDIR /app COPY . /app ENV SITE_DIR=/app/site -RUN mkdocs build --clean -d $SITE_DIR +RUN mkdocs build -d $SITE_DIR -FROM git.fjla.uk/fred.boniface/web-deploy:latest as compressor +FROM git.fjla.uk/fred.boniface/web-deploy:0.0.2 as compressor COPY --from=builder /app/site/ /deploy/in/ RUN node /app/process.js -FROM nginx:alpine -RUN rm -rf /usr/share/nginx/html/* +FROM georgjung/nginx-brotli:mainline-alpine +RUN rm -rf /usr/share/nginx/html/* && rm -f /etc/nginx/nginx.conf +COPY ./nginx.conf /etc/nginx/nginx.conf COPY --from=compressor /deploy/out/ /usr/share/nginx/html/ -EXPOSE 80 \ No newline at end of file +EXPOSE 80 diff --git a/mkdocs.yml b/mkdocs.yml index 76d7dd4..41fa414 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,5 +1,6 @@ site_name: OwlBoard Documentation theme: readthedocs +site_url: https://docs.owlboard.info nav: - 'Go to OwlBoard': https://owlboard.info diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..0f3dd08 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,45 @@ +load_module modules/ngx_http_brotli_static_module.so; + +user nginx; +worker_processes auto; + +error_log /var/log/nginx/error.log notice; +pid /var/run/nginx.pid; + + +events { + worker_connections 1024; +} + + +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + access_log /dev/stdout main; + + sendfile on; + + keepalive_timeout 65; + + server { + listen 80; + listen [::]:80; + server_name localhost; + + add_header Content-Security-Policy "default-src 'self'"; + + location / { + root /usr/share/nginx/html; + index index.html; + gzip_static on; + brotli_static on; + error_page 404 /404.html; + add_header Cache-Control "public, max-age=604800"; + } + } +} \ No newline at end of file