diff --git a/service/radicale/Containerfile b/service/radicale/Containerfile index c8bb362..50526be 100644 --- a/service/radicale/Containerfile +++ b/service/radicale/Containerfile @@ -1,18 +1,17 @@ -FROM docker.io/debian:bullseye-slim -ARG VERSION=3.1.5 +FROM docker.io/debian:bookworm-slim +ARG VERSION=3.1.8 RUN apt-get update -y && apt-get install -y --no-install-recommends \ - python3 python3-pip python3-setuptools gettext + python3 python3-pip python3-venv gettext -RUN python3 -m pip install --upgrade pip && \ - python3 -m pip install radicale==$VERSION https://github.com/Unrud/RadicaleIMAP/archive/master.tar.gz +RUN python3 -m venv /venv && \ + /venv/bin/pip install radicale==$VERSION https://github.com/Unrud/RadicaleIMAP/archive/master.tar.gz RUN addgroup --system --gid 15232 radicale RUN adduser --system --uid 15232 --ingroup radicale --home /var/lib/radicale radicale -COPY container/config /etc/radicale +COPY --chown=radicale:radicale container/config /etc/radicale COPY container/run-radicale /run-radicale -RUN chown -R radicale:radicale /etc/radicale USER radicale EXPOSE 5232 diff --git a/service/radicale/container/run-radicale b/service/radicale/container/run-radicale index 4cd9096..9bc6072 100755 --- a/service/radicale/container/run-radicale +++ b/service/radicale/container/run-radicale @@ -6,4 +6,4 @@ for file in /etc/radicale/*.template; do envsubst "${ENV_NAMES}" < "$file" > "`echo $file | awk -F '.template$' '{print $1}'`" done -/usr/local/bin/radicale --config /etc/radicale/radicale.conf "$@" +/venv/bin/radicale --config /etc/radicale/radicale.conf "$@" diff --git a/service/radicale/quadlet/radicale.container b/service/radicale/quadlet/radicale.container new file mode 100644 index 0000000..c722ea9 --- /dev/null +++ b/service/radicale/quadlet/radicale.container @@ -0,0 +1,17 @@ +[Unit] +Description=Radicale CalDAV and CardDAV Server +Wants=container-build@%N.service container-volume@%N.service dovecot.service +After=container-build@%N.service container-volume@%N.service dovecot.service + +[Container] +ContainerName=%N +EnvironmentFile=%E/coreos-home-server/%N/%N.env +Image=localhost/%N:latest +Network=internal +Volume=%N:/var/lib/%N:z + +[Service] +Restart=on-failure + +[Install] +WantedBy=multi-user.target diff --git a/service/radicale/spec.bu b/service/radicale/spec.bu index 0fe3eda..22f1707 100644 --- a/service/radicale/spec.bu +++ b/service/radicale/spec.bu @@ -4,9 +4,5 @@ storage: trees: - path: /etc/coreos-home-server/radicale local: service/radicale/ - - path: /etc/systemd/system - local: service/radicale/systemd/ -systemd: - units: - - name: radicale.service - enabled: true + - path: /etc/containers/systemd + local: service/radicale/quadlet/ diff --git a/service/radicale/systemd/radicale.service b/service/radicale/systemd/radicale.service deleted file mode 100644 index ace8459..0000000 --- a/service/radicale/systemd/radicale.service +++ /dev/null @@ -1,20 +0,0 @@ -[Unit] -Description=Radicale CalDAV and CardDAV Server -Wants=container-build@%N.service container-volume@%N.service dovecot.service -After=container-build@%N.service container-volume@%N.service dovecot.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 \ - --volume %N:/var/lib/%N:z \ - localhost/%N:latest -ExecStop=/bin/podman stop --ignore --time 10 %N -ExecStopPost=/bin/podman rm --ignore --force %N - -[Install] -WantedBy=multi-user.target