Skip to content

Custom Systemd Services

Non-Docker services running on the host system.

Active Services

jellyfin-wake.service

Pre-wakes NAS drives when users open Jellyfin.

Property Value
Status Enabled
Script /home/monxas/scripts/jellyfin-wake-drives.py
Documentation jellyfin-wake-drives.md
systemctl status jellyfin-wake.service
journalctl -u jellyfin-wake.service -f

periphery.service

Komodo Core agent for remote server management.

Property Value
Status Enabled
Binary /usr/local/bin/periphery
Config /etc/komodo/periphery.config.toml
systemctl status periphery.service

alert-coordinator.service

Intelligent Alert System coordinator — correlaciona y enruta alertas.

Property Value
Status Enabled
systemctl status alert-coordinator.service

html2bmp.service

HTML→BMP converter server para el subsistema TRMNL (pantallas e-ink).

Property Value
Status Enabled
systemctl status html2bmp.service

trmnl-watcher.service

TRMNL auto-rotation watcher.

Property Value
Status Enabled
systemctl status trmnl-watcher.service

Servicios encontrados sin documentar (auditoría 2026-08-01)

ls /etc/systemd/system/*.service en VM 208 mostró bastantes más unidades custom que las documentadas arriba. Estado real verificado con systemctl is-enabled / is-active:

Servicio Enabled Active Nota
asus-exporter.service enabled active Exporter Prometheus para el router ASUS (usa ~/.ssh/asus_exporter)
beszel-agent.service ~~enabled~~ deshabilitado 2026-08-01 ~~active~~ stopped ✅ Confirmado huérfano — reportaba al servidor Beszel (LXC 249), destruido desde julio. Parado y deshabilitado.
homelab-mqtt-bridge.service enabled active Puente Prometheus→MQTT discovery para el dashboard "mis-ordenadores" en HA
jobhunter.service enabled active Backend de job-hunter.monxas.casa (CF Access app)
pihole-exporter.service enabled active ⚠️ Nota: también existe un container Docker pihole-exporter (puerto 9617) — posible duplicado/legado; no investigado a fondo, dejar como TODO
unifi-clients-exporter.service enabled active Exporter Prometheus vía UniFi Integration API (rol Ansible añadido recientemente, ver git log feat(unifi))
wake-on-demand.service enabled active Waker genérico 208:8477 — ver [Wake-on-demand genérico]
bazzite-power.service enabled active Gestión WoL/apagado del PC gaming Bazzite (.141)
rol-waker.service disabled inactive Waker específico de rol.monxas.casa, aparentemente superseded por wake-on-demand.service
ai-tagger.service disabled inactive ⚠️ Nota: el AI Tagger "vive" en la sobremesa Windows/WSL .127, no en VM 208 — este parece un servicio huérfano/mal ubicado, no investigado
audiomuse-analysis.service static inactive Ligado a AudioMuse (migrado a VM 208 desde bazzite 2026-07-26)
nfs-health-monitor.service static inactive Relacionado con el playbook de cuelgues nfsd del NAS

No se ha tocado ninguno de estos servicios — solo se documenta su existencia y estado real.

Disabled/Legacy Services

These services exist but are currently disabled:

docker-media-stack.service

Alternative to Dockge for starting all stacks on boot.

Property Value
Status Disabled
Purpose Start all Docker stacks at boot

Not needed since Dockge handles stack management.

putio_move_sonarr.service / putio_move_radarr.service

Legacy Put.io file movers (replaced by Plundrio).

Property Value
Status Disabled
Scripts /home/monxas/putio/sonarr_rclone.py (missing)

These were replaced by the Plundrio ecosystem.

Managing Services

# Check all custom services
systemctl list-units --type=service | grep -E "jellyfin-wake|periphery|alert-coordinator|html2bmp|trmnl-watcher|putio|docker-media"

# Enable a service
sudo systemctl enable <service>
sudo systemctl start <service>

# Disable a service
sudo systemctl stop <service>
sudo systemctl disable <service>

# View logs
journalctl -u <service> -f
journalctl -u <service> --since "1 hour ago"

Creating New Services

Example systemd unit file:

# /etc/systemd/system/my-service.service
[Unit]
Description=My Custom Service
After=network.target

[Service]
Type=simple
User=monxas
WorkingDirectory=/home/monxas/scripts
ExecStart=/usr/bin/python3 /home/monxas/scripts/my-script.py
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

Then:

sudo systemctl daemon-reload
sudo systemctl enable my-service.service
sudo systemctl start my-service.service