Get simpleid going with https (self signed)
diff --git a/nginx/Dockerfile b/nginx/Dockerfile
new file mode 100644
index 0000000..18cbc8e
--- /dev/null
+++ b/nginx/Dockerfile
@@ -0,0 +1,25 @@
+ARG SSL_VARIANT=selfsigned
+ARG NGINX_TAG=1.25-alpine
+
+
+FROM nginx:${NGINX_TAG} as nginx_letsencrypt
+
+ONBUILD RUN echo "Let's encrypt support not implemented yet."; exit 1
+
+
+FROM nginx:${NGINX_TAG} as nginx_selfsigned
+
+ARG SELFSIGNED_REQ_HOST
+ARG SELFSIGNED_REQ_ALT_NAMES
+ONBUILD RUN test "${SELFSIGNED_REQ_HOST}" || { echo "Require SELFSIGNED_REQ_HOST argument."; exit 1; }
+ONBUILD RUN \
+	apk add openssl && \
+	printf "DE\nHassia\nEschborn\nSource Arcade\nWeb\n${SELFSIGNED_REQ_HOST}\n\n" | \
+		openssl req -x509 -nodes -days 14 -newkey rsa:2048 \
+			-addext "subjectAltName = ${SELFSIGNED_REQ_ALT_NAMES}" \
+			-keyout /etc/ssl/private/sa-selfsigned.key \
+			-out /etc/ssl/certs/sa-selfsigned.crt && \
+	apk del openssl
+
+
+FROM nginx_${SSL_VARIANT}
diff --git a/nginx/sa.conf b/nginx/sa.conf
index addc763..de91126 100644
--- a/nginx/sa.conf
+++ b/nginx/sa.conf
@@ -1,5 +1,33 @@
 server {
-    listen 0.0.0.0:80;
+    listen 80;
+    listen [::]:80;
+
+    return 301 https://$host$request_uri;
+}
+
+server {
+    listen 443 ssl;
+    listen [::]:443 ssl;
+    ssl_certificate /etc/ssl/certs/sa-selfsigned.crt;
+    ssl_certificate_key /etc/ssl/private/sa-selfsigned.key;
+    ssl_protocols TLSv1.3;
+    ssl_prefer_server_ciphers on;
+    #ssl_dhparam /etc/nginx/dhparam.pem;
+    ssl_ciphers EECDH+AESGCM:EDH+AESGCM;
+    ssl_ecdh_curve secp384r1;
+    ssl_session_timeout  10m;
+    ssl_session_cache shared:SSL:10m;
+    ssl_session_tickets off;
+    ssl_stapling on;
+    ssl_stapling_verify on;
+    resolver 8.8.8.8 8.8.4.4 valid=300s;
+    resolver_timeout 5s;
+    # Disable strict transport security for now. You can uncomment the following
+    # line if you understand the implications.
+    #add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
+    add_header X-Frame-Options DENY;
+    add_header X-Content-Type-Options nosniff;
+    add_header X-XSS-Protection "1; mode=block";
 
     server_name id.miau.local;