coreos-home-server/service/prosody/systemd/prosody-component-register@.service

26 lines
1.2 KiB
SYSTEMD
Raw Normal View History

[Unit]
Description=Prosody XMPP Component for %I
Wants=prosody.service
After=prosody.service
[Service]
Type=oneshot
RemainAfterExit=true
SyslogIdentifier=%N
Environment=PROSODY_COMPONENT_NAME=%i
Environment=COMPONENT_CONF=%E/coreos-home-server/prosody/service/component.cfg.lua.template
EnvironmentFile=-%E/coreos-home-server/%i/%i.env
ExecStartPre=/bin/install --mode 0700 --directory /tmp/%N
ExecStartPre=/bin/sh -c "envsubst < ${COMPONENT_CONF} > /tmp/%N/component.cfg.lua"
ExecStartPre=/bin/podman cp --archive=false /tmp/%N/component.cfg.lua prosody:/etc/prosody/conf.d/10-%i.cfg.lua
ExecStartPre=/bin/sh -c 'podman exec prosody prosodyctl shell host deactivate "$PROSODY_COMPONENT_NAME" || true'
ExecStartPre=/bin/podman exec prosody prosodyctl shell config reload
ExecStart=/bin/podman exec prosody prosodyctl shell host activate "$PROSODY_COMPONENT_NAME"
ExecStartPost=/bin/rm -Rf /tmp/%N
ExecStop=/bin/podman exec prosody prosodyctl shell host deactivate "$PROSODY_COMPONENT_NAME"
ExecStopPost=/bin/podman exec --user=root prosody rm -f /etc/prosody/conf.d/10-%i.cfg.lua
ExecStopPost=/bin/podman exec prosody prosodyctl shell config reload
[Install]
WantedBy=multi-user.target