fix: user systemd

This commit is contained in:
Clément Désiles
2025-12-23 09:08:43 +01:00
parent 1cdad04a93
commit 229f9f6b5d
21 changed files with 299 additions and 162 deletions
+2
View File
@@ -49,6 +49,7 @@ uptime_kuma_nginx_hostname: uptime.nas.local
### Adding Monitors
Web UI → Add New Monitor:
- **Monitor Type:** HTTP(s), TCP Port, Ping, DNS, etc.
- **Friendly Name:** Display name
- **URL/Host:** Target to monitor
@@ -59,6 +60,7 @@ Web UI → Add New Monitor:
### Notification Endpoints
Web UI → Settings → Notifications:
- Email (SMTP)
- Discord, Slack, Telegram
- ntfy (recommended for local notifications)
+8 -4
View File
@@ -3,11 +3,15 @@
ansible.builtin.systemd:
daemon_reload: true
- name: Reload systemd user
ansible.builtin.command: "systemctl --user daemon-reload"
become: true
become_user: "{{ ansible_user }}"
- name: Restart uptime-kuma
ansible.builtin.systemd:
name: uptime-kuma
state: restarted
daemon_reload: true
ansible.builtin.command: "systemctl --user restart uptime-kuma.service"
become: true
become_user: "{{ ansible_user }}"
- name: Reload nginx
ansible.builtin.systemd:
+29 -11
View File
@@ -24,21 +24,39 @@
mode: "0644"
notify: Restart uptime-kuma
- name: Create systemd service for uptime-kuma
- name: Get home directory for {{ ansible_user }}
ansible.builtin.getent:
database: passwd
key: "{{ ansible_user }}"
- name: Set user home directory fact
ansible.builtin.set_fact:
user_home_dir: "{{ getent_passwd[ansible_user][4] }}"
- name: Create systemd user directory for uptime-kuma
ansible.builtin.file:
path: "{{ user_home_dir }}/.config/systemd/user"
state: directory
owner: "{{ ansible_user }}"
group: "{{ ansible_user }}"
mode: "0755"
- name: Create systemd service for uptime-kuma (user scope)
ansible.builtin.template:
src: uptime-kuma.service.j2
dest: /etc/systemd/system/uptime-kuma.service
owner: root
group: root
dest: "{{ user_home_dir }}/.config/systemd/user/uptime-kuma.service"
owner: "{{ ansible_user }}"
group: "{{ ansible_user }}"
mode: "0644"
notify: Reload systemd
notify: Reload systemd user
- name: Enable and start uptime-kuma service
ansible.builtin.systemd:
name: uptime-kuma
enabled: true
state: started
daemon_reload: true
- name: Enable lingering for user {{ ansible_user }}
ansible.builtin.command: "loginctl enable-linger {{ ansible_user }}"
when: ansible_user != 'root'
- name: Enable and start uptime-kuma service (user scope)
ansible.builtin.command: "systemctl --user enable --now uptime-kuma.service"
become_user: "{{ ansible_user }}"
- name: Deploy nginx vhost configuration for uptime-kuma
ansible.builtin.template:
@@ -1,13 +1,9 @@
[Unit]
Description=Uptime Kuma Monitoring Service
Requires=network-online.target
After=network-online.target
[Service]
Type=oneshot
RemainAfterExit=true
User={{ ansible_user }}
Group={{ ansible_user }}
WorkingDirectory={{ podman_projects_dir | default('/opt/podman') }}/uptime-kuma
ExecStart=/usr/bin/podman play kube --replace uptime-kuma.yaml
ExecStop=/usr/bin/podman play kube --down uptime-kuma.yaml
@@ -15,4 +11,4 @@ Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
WantedBy=default.target