diff --git a/ansible/roles/podman/defaults/main.yml b/ansible/roles/podman/defaults/main.yml index 590f835..148f13d 100644 --- a/ansible/roles/podman/defaults/main.yml +++ b/ansible/roles/podman/defaults/main.yml @@ -15,6 +15,7 @@ partkeepr_path: "{{ podman_volumes }}/partkeepr" partsy_path: "{{ podman_volumes }}/partsy" photos_path: "{{ podman_volumes }}/photos" uptime_kuma_path: "{{ podman_volumes }}/uptime-kuma" +uptime_kuma_personal_path: "{{ podman_volumes }}/uptime-kuma-personal" zomboid_path: "{{ podman_volumes }}/zomboid" # Zomboid server mode: 'vanilla', 'modded', or 'b42revamp' @@ -78,6 +79,7 @@ cloud_skudak_server_name: cloud.skudakrennsport.com fulfillr_server_name: fulfillr.debyltech.com home_server_name: home.bdebyl.net uptime_kuma_server_name: uptime.debyltech.com +uptime_kuma_personal_server_name: uptime.debyl.io parts_server_name: parts.bdebyl.net photos_server_name: photos.bdebyl.net @@ -146,6 +148,7 @@ caddy_log_names: - assistant - parts - uptime-kuma + - uptime-kuma-personal - graylog - cloud - cloud-skudak diff --git a/ansible/roles/podman/tasks/containers/home/uptime-kuma.yml b/ansible/roles/podman/tasks/containers/home/uptime-kuma.yml new file mode 100644 index 0000000..c226437 --- /dev/null +++ b/ansible/roles/podman/tasks/containers/home/uptime-kuma.yml @@ -0,0 +1,38 @@ +--- +- name: create uptime-kuma-personal host directory volumes + become: true + ansible.builtin.file: + path: "{{ item }}" + state: directory + owner: "{{ podman_user }}" + group: "{{ podman_user }}" + mode: 0755 + notify: restorecon podman + loop: + - "{{ uptime_kuma_personal_path }}/data" + +- name: flush handlers + ansible.builtin.meta: flush_handlers + +- import_tasks: podman/podman-check.yml + vars: + container_name: uptime-kuma-personal + container_image: "{{ image }}" + +- name: create uptime-kuma-personal container + become: true + become_user: "{{ podman_user }}" + containers.podman.podman_container: + name: uptime-kuma-personal + image: "{{ image }}" + restart_policy: on-failure:3 + log_driver: journald + volumes: + - "{{ uptime_kuma_personal_path }}/data:/app/data" + ports: + - "3002:3001/tcp" + +- name: create systemd startup job for uptime-kuma-personal + include_tasks: podman/systemd-generate.yml + vars: + container_name: uptime-kuma-personal diff --git a/ansible/roles/podman/tasks/main.yml b/ansible/roles/podman/tasks/main.yml index b029215..c2351a3 100644 --- a/ansible/roles/podman/tasks/main.yml +++ b/ansible/roles/podman/tasks/main.yml @@ -78,8 +78,13 @@ - import_tasks: containers/debyltech/uptime-kuma.yml vars: - image: docker.io/louislam/uptime-kuma:1 - tags: debyltech, uptime-kuma + image: docker.io/louislam/uptime-kuma:2.0.2 + tags: debyltech, uptime-debyltech + +- import_tasks: containers/home/uptime-kuma.yml + vars: + image: docker.io/louislam/uptime-kuma:2.0.2 + tags: home, uptime - import_tasks: containers/debyltech/geoip.yml tags: debyltech, graylog, geoip @@ -92,7 +97,7 @@ - import_tasks: containers/home/gregtime.yml vars: - image: localhost/greg-time-bot:3.0.1 + image: localhost/greg-time-bot:3.0.2 tags: gregtime - import_tasks: containers/home/zomboid.yml diff --git a/ansible/roles/podman/templates/caddy/Caddyfile.j2 b/ansible/roles/podman/templates/caddy/Caddyfile.j2 index 3625cb5..706221b 100644 --- a/ansible/roles/podman/templates/caddy/Caddyfile.j2 +++ b/ansible/roles/podman/templates/caddy/Caddyfile.j2 @@ -164,7 +164,7 @@ } } -# Uptime Kuma - {{ uptime_kuma_server_name }} +# Uptime Kuma (Debyltech) - {{ uptime_kuma_server_name }} {{ uptime_kuma_server_name }} { {{ ip_restricted_site() }} @@ -182,6 +182,24 @@ } } +# Uptime Kuma (Personal) - {{ uptime_kuma_personal_server_name }} +{{ uptime_kuma_personal_server_name }} { +{{ ip_restricted_site() }} + + handle @local { + import common_headers + reverse_proxy localhost:3002 { + # WebSocket support for live updates + flush_interval -1 + } + } + + log { + output file /var/log/caddy/uptime-kuma-personal.log + format json + } +} + # Graylog Logs - {{ logs_server_name }} {{ logs_server_name }} { # GELF HTTP endpoint - open for Lambda (auth via header)