fix(systemd): drop MakeDirectory=yes from updater path unit

`MakeDirectory=yes` on a `PathChanged=` directive whose target is a
file (not a directory) causes systemd to create the watched path as
an empty directory on unit start. The container's self-updater then
crashes with EISDIR every time it tries to writeFile() the trigger,
and the host script never runs.

The parent `/opt/dashcaddy/updates/` is already created by the
installer/Docker volume, so the flag is redundant and only here as
a footgun. Drop it.

Reproducer: enable the unit on a fresh system, watch
`/opt/dashcaddy/updates/trigger.json` get materialized as a directory
within milliseconds of `systemctl start dashcaddy-updater.path`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-06 17:50:10 -07:00
parent fa40dcff7a
commit e994ad157e

View File

@@ -3,7 +3,6 @@ Description=Watch for DashCaddy update trigger
[Path] [Path]
PathChanged=/opt/dashcaddy/updates/trigger.json PathChanged=/opt/dashcaddy/updates/trigger.json
MakeDirectory=yes
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target