Google-SSO PWA for bistro employee clock-in/out, admin employee management, and stats with CSV export. Express + SQLite backend, React + Zustand frontend in the light-mono-tui design language. Multi-stage Dockerfile, compose.yaml for image-based deploys, nginx reverse-proxy template, and an OKF documentation bundle in docs/. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
31 lines
955 B
Plaintext
31 lines
955 B
Plaintext
server {
|
|
listen 80;
|
|
server_name eatme.mipem.co;
|
|
return 301 https://$host$request_uri;
|
|
}
|
|
|
|
server {
|
|
client_max_body_size 0;
|
|
listen 443 ssl;
|
|
server_name eatme.mipem.co;
|
|
ssl on;
|
|
ssl_certificate /etc/letsencrypt/live/eatme.mipem.co/fullchain.pem;
|
|
ssl_certificate_key /etc/letsencrypt/live/eatme.mipem.co/privkey.pem;
|
|
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
|
|
|
|
# HSTS (ngx_http_headers_module is required) (63072000 seconds)
|
|
add_header Strict-Transport-Security "max-age=63072000" always;
|
|
|
|
location / {
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
proxy_set_header Connection 'upgrade';
|
|
proxy_set_header X-Forwarded-Proto https;
|
|
proxy_set_header X-Forwarded-Host $host;
|
|
proxy_set_header X-Forwarded-Port 443;
|
|
proxy_set_header Host $http_host;
|
|
proxy_http_version 1.1;
|
|
proxy_pass http://<deploy-host>:8092;
|
|
proxy_redirect off;
|
|
}
|
|
}
|