feat: point every server block in deploy/nginx/warmbly.conf at one Let's Encrypt certificate under live/app.example.com and explain that it must be issued standalone before the site is enabled

This commit is contained in:
Matthew Meszaros
2026-08-30 00:21:16 -07:00
parent 2e376bcd4a
commit 623862b9f8
+13 -10
View File
@@ -1,7 +1,10 @@
# nginx site for a Docker-free Warmbly install: the two static frontends plus
# reverse proxies for the API, the websocket, and the tracking service.
# Replace example.com, then obtain certificates (certbot --nginx works as-is).
# The proxied services bind localhost, so nothing but nginx is reachable.
# Replace example.com. Every server block reads one certificate covering all
# five names from /etc/letsencrypt/live/app.example.com/, so issue it first
# (certbot certonly --standalone ... --cert-name app.example.com) or nginx
# refuses the site. The proxied services bind localhost, so nothing but nginx
# is reachable.
map $http_upgrade $connection_upgrade {
default upgrade;
@@ -28,8 +31,8 @@ server {
server {
listen 443 ssl http2;
server_name admin.example.com;
ssl_certificate /etc/letsencrypt/live/admin.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/admin.example.com/privkey.pem;
ssl_certificate /etc/letsencrypt/live/app.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/app.example.com/privkey.pem;
root /opt/warmbly/admin;
index index.html;
@@ -44,8 +47,8 @@ server {
server {
listen 443 ssl http2;
server_name api.example.com;
ssl_certificate /etc/letsencrypt/live/api.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/api.example.com/privkey.pem;
ssl_certificate /etc/letsencrypt/live/app.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/app.example.com/privkey.pem;
client_max_body_size 50m;
location / {
@@ -63,8 +66,8 @@ server {
server {
listen 443 ssl http2;
server_name ws.example.com;
ssl_certificate /etc/letsencrypt/live/ws.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ws.example.com/privkey.pem;
ssl_certificate /etc/letsencrypt/live/app.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/app.example.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:4000;
@@ -83,8 +86,8 @@ server {
server {
listen 443 ssl http2;
server_name t.example.com;
ssl_certificate /etc/letsencrypt/live/t.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/t.example.com/privkey.pem;
ssl_certificate /etc/letsencrypt/live/app.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/app.example.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:3000;