diff --git a/service/prosody/Containerfile b/service/prosody/Containerfile index 0bd25de..abbc968 100644 --- a/service/prosody/Containerfile +++ b/service/prosody/Containerfile @@ -1,6 +1,6 @@ -FROM docker.io/debian:bullseye-slim +FROM docker.io/debian:bookworm-slim ARG VERSION=0.12.3 -ARG MODULES_VERSION=43b67142b37c +ARG MODULES_VERSION=f3b7e05c74a9 RUN apt-get update -y && apt-get install -y --no-install-recommends \ curl mercurial gnupg ca-certificates apt-transport-https @@ -9,8 +9,8 @@ RUN addgroup --system --gid 10000 prosody RUN adduser --system --uid 10000 --ingroup prosody --home /var/lib/prosody prosody RUN install --owner prosody --group prosody --directory /run/prosody -RUN echo "deb https://packages.prosody.im/debian bullseye main" > /etc/apt/sources.list.d/prosody.list && \ - echo "deb-src https://packages.prosody.im/debian bullseye main" >> /etc/apt/sources.list.d/prosody.list && \ +RUN echo "deb https://packages.prosody.im/debian bookworm main" > /etc/apt/sources.list.d/prosody.list && \ + echo "deb-src https://packages.prosody.im/debian bookworm main" >> /etc/apt/sources.list.d/prosody.list && \ curl -o - https://prosody.im/files/prosody-debian-packages.key | apt-key add - && \ apt-get update -y && apt-get install -y --no-install-recommends \ lua5.2 lua-dbi-sqlite3 lua-zlib lua-sec lua-luaossl lua-bitop lua-unbound lua-ldap prosody=${VERSION}* diff --git a/service/prosody/quadlet/prosody.container b/service/prosody/quadlet/prosody.container new file mode 100644 index 0000000..fcd8edd --- /dev/null +++ b/service/prosody/quadlet/prosody.container @@ -0,0 +1,24 @@ +[Unit] +Description=Prosody XMPP server +Wants=container-build@%N.service container-volume@%N.service lldap.service grafana-dashboard@prosody.service +After=container-build@%N.service container-volume@%N.service lldap.service grafana-dashboard@prosody.service + +[Container] +ContainerName=%N +EnvironmentFile=%E/coreos-home-server/%N/%N.env +Image=localhost/%N:latest +Network=internal +PublishPort=5222:5222 +PublishPort=5223:5223 +PublishPort=5269:5269 +PublishPort=5347:5347 +Volume=%N:/var/lib/%N:z +Volume=prosody-conf:/etc/%N/conf.d:z +Volume=letsencrypt:/etc/ssl/private:z + +[Service] +ExecReload=/bin/podman exec %N prosodyctl shell config reload +Restart=on-failure + +[Install] +WantedBy=multi-user.target diff --git a/service/prosody/spec.bu b/service/prosody/spec.bu index 3c984cd..ed2aee3 100644 --- a/service/prosody/spec.bu +++ b/service/prosody/spec.bu @@ -6,7 +6,5 @@ storage: local: service/prosody/ - path: /etc/systemd/system local: service/prosody/systemd/ -systemd: - units: - - name: prosody.service - enabled: true + - path: /etc/containers/systemd + local: service/prosody/quadlet/ diff --git a/service/prosody/systemd/prosody.service b/service/prosody/systemd/prosody.service deleted file mode 100644 index 5774ec4..0000000 --- a/service/prosody/systemd/prosody.service +++ /dev/null @@ -1,24 +0,0 @@ -[Unit] -Description=Prosody XMPP server -Wants=container-build@%N.service container-volume@%N.service lldap.service grafana-dashboard@prosody.service -After=container-build@%N.service container-volume@%N.service lldap.service grafana-dashboard@prosody.service - -[Service] -Type=notify -NotifyAccess=all -SyslogIdentifier=%N -Restart=on-failure -Environment=PODMAN_SYSTEMD_UNIT=%n -ExecStart=/bin/podman run --replace --name %N --net internal --sdnotify=conmon \ - --env-file %E/coreos-home-server/%N/%N.env \ - --publish 5222:5222 --publish 5223:5223 --publish 5269:5269 --publish 5347:5347 \ - --volume %N:/var/lib/%N:z \ - --volume prosody-conf:/etc/%N/conf.d:z \ - --volume letsencrypt:/etc/ssl/private:z \ - localhost/%N:latest -ExecStop=/bin/podman stop --ignore --time 10 %N -ExecStopPost=/bin/podman rm --ignore --force %N -ExecReload=/bin/podman exec %N prosodyctl shell config reload - -[Install] -WantedBy=multi-user.target