[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