summaryrefslogtreecommitdiff
path: root/roles
diff options
context:
space:
mode:
Diffstat (limited to 'roles')
-rw-r--r--roles/private/files/raspberrypi/http.uptime.internal.simponic.xyz.conf (renamed from roles/private/files/johan/http.uptime.internal.simponic.xyz.conf)0
-rw-r--r--roles/private/files/raspberrypi/http.uptimeplugins.internal.simponic.xyz13
-rw-r--r--roles/private/files/raspberrypi/https.uptime.internal.simponic.xyz.conf (renamed from roles/private/files/johan/https.uptime.internal.simponic.xyz.conf)0
-rw-r--r--roles/private/files/raspberrypi/https.uptimeplugins.internal.simponic.xyz32
-rw-r--r--roles/uptime/tasks/main.yml7
-rw-r--r--roles/uptime/templates/docker-compose.yml.j216
6 files changed, 68 insertions, 0 deletions
diff --git a/roles/private/files/johan/http.uptime.internal.simponic.xyz.conf b/roles/private/files/raspberrypi/http.uptime.internal.simponic.xyz.conf
index 4fe861c..4fe861c 100644
--- a/roles/private/files/johan/http.uptime.internal.simponic.xyz.conf
+++ b/roles/private/files/raspberrypi/http.uptime.internal.simponic.xyz.conf
diff --git a/roles/private/files/raspberrypi/http.uptimeplugins.internal.simponic.xyz b/roles/private/files/raspberrypi/http.uptimeplugins.internal.simponic.xyz
new file mode 100644
index 0000000..b901c7c
--- /dev/null
+++ b/roles/private/files/raspberrypi/http.uptimeplugins.internal.simponic.xyz
@@ -0,0 +1,13 @@
+server {
+ listen 80;
+ server_name uptimeplugins.internal.simponic.xyz;
+
+ location /.well-known/acme-challenge {
+ root /var/www/letsencrypt;
+ try_files $uri $uri/ =404;
+ }
+
+ location / {
+ rewrite ^ https://uptimeplugins.internal.simponic.xyz$request_uri? permanent;
+ }
+}
diff --git a/roles/private/files/johan/https.uptime.internal.simponic.xyz.conf b/roles/private/files/raspberrypi/https.uptime.internal.simponic.xyz.conf
index f002af8..f002af8 100644
--- a/roles/private/files/johan/https.uptime.internal.simponic.xyz.conf
+++ b/roles/private/files/raspberrypi/https.uptime.internal.simponic.xyz.conf
diff --git a/roles/private/files/raspberrypi/https.uptimeplugins.internal.simponic.xyz b/roles/private/files/raspberrypi/https.uptimeplugins.internal.simponic.xyz
new file mode 100644
index 0000000..9e13968
--- /dev/null
+++ b/roles/private/files/raspberrypi/https.uptimeplugins.internal.simponic.xyz
@@ -0,0 +1,32 @@
+server {
+ listen 443 ssl;
+ server_name uptimeplugins.internal.simponic.xyz;
+
+ ssl_certificate /etc/letsencrypt/live/uptimeplugins.internal.simponic.xyz/fullchain.pem;
+ ssl_certificate_key /etc/letsencrypt/live/uptimeplugins.internal.simponic.xyz/privkey.pem;
+ ssl_trusted_certificate /etc/letsencrypt/live/uptimeplugins.internal.simponic.xyz/fullchain.pem;
+
+ ssl_session_cache shared:SSL:50m;
+ ssl_session_timeout 5m;
+ ssl_stapling on;
+ ssl_stapling_verify on;
+
+ ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
+ ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
+
+ ssl_dhparam /etc/nginx/dhparams.pem;
+ ssl_prefer_server_ciphers on;
+
+ location / {
+ proxy_pass http://127.0.0.1:9923;
+ proxy_http_version 1.1;
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection "upgrade";
+ proxy_set_header Host $server_name;
+ proxy_buffering off;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;
+ add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;
+ }
+}
diff --git a/roles/uptime/tasks/main.yml b/roles/uptime/tasks/main.yml
index 8104bea..b656040 100644
--- a/roles/uptime/tasks/main.yml
+++ b/roles/uptime/tasks/main.yml
@@ -1,4 +1,11 @@
---
+- name: Download internal cert
+ ansible.builtin.get_url:
+ url: https://ca.internal.simponic.xyz/roots.pem
+ validate_certs: false
+ dest: /etc/roots.pem
+ checksum: sha256:12a1d52af6f4073c339946e8c67bdd48fa85590480385fcce7f16b6b60d40831
+
- name: ensure uptimekuma docker/compose exist
file:
path: /etc/docker/compose/uptimekuma
diff --git a/roles/uptime/templates/docker-compose.yml.j2 b/roles/uptime/templates/docker-compose.yml.j2
index 64f980e..0f1cd8e 100644
--- a/roles/uptime/templates/docker-compose.yml.j2
+++ b/roles/uptime/templates/docker-compose.yml.j2
@@ -2,11 +2,27 @@ version: '3'
services:
uptime-kuma:
+ container_name: uptime-kuma
+ networks:
+ - uptime
image: louislam/uptime-kuma:1
volumes:
- ./data:/app/data
+ - /etc/roots.pem:/roots.pem
ports:
- 127.0.0.1:9922:3001
dns:
- {{ nameserver_ip }}
restart: unless-stopped
+ environment:
+ - NODE_EXTRA_CA_CERTS=/roots.pem
+ uptime-plugins:
+ container_name: uptime-plugins
+ networks:
+ - uptime
+ image: git.simponic.xyz/simponic/uptime:arm
+ restart: unless-stopped
+ ports:
+ - 127.0.0.1:9923:3000
+networks:
+ uptime: