Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ RUN npm run init:app && npm run build
FROM nginx:stable-alpine AS production-stage
LABEL maintainer="Just van den Broecke <https://github.com/justb4>"
COPY --from=build-stage /app/dist /usr/share/nginx/html
COPY nginx/default.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

Expand Down
75 changes: 75 additions & 0 deletions nginx/default.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
server {
listen 80;
listen [::]:80;
server_name localhost;

#access_log /var/log/nginx/host.access.log main;

# long cache for hashed build assets
location /assets/ {
root /usr/share/nginx/html;
expires 1y;
add_header Cache-Control "public, immutable";
}

# disable caching for frequently changing static config/resources
location /static/ {
root /usr/share/nginx/html;
expires -1;
add_header Cache-Control "no-store, no-cache, must-revalidate, proxy-revalidate";
}

# disable caching for SPA entry points
location = /index.html {
root /usr/share/nginx/html;
expires -1;
add_header Cache-Control "no-store, no-cache, must-revalidate, proxy-revalidate";
}

location = /embedded.html {
root /usr/share/nginx/html;
expires -1;
add_header Cache-Control "no-store, no-cache, must-revalidate, proxy-revalidate";
}

location / {
root /usr/share/nginx/html;
index index.html index.htm;

# SPA fallback
try_files $uri $uri/ /index.html;
}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}

Loading