From c28582839515c017618afce0dbafa3be157f760a Mon Sep 17 00:00:00 2001 From: Alex Palaistras Date: Sun, 13 Aug 2023 16:30:09 +0100 Subject: [PATCH] postfix: Update to version 3.7.6, move to Quadlet --- service/postfix/Containerfile | 4 ++-- .../postfix/container/config/main.cf.template | 4 ++-- service/postfix/quadlet/postfix.container | 22 ++++++++++++++++++ service/postfix/spec.bu | 8 ++----- service/postfix/systemd/postfix.service | 23 ------------------- 5 files changed, 28 insertions(+), 33 deletions(-) create mode 100644 service/postfix/quadlet/postfix.container delete mode 100644 service/postfix/systemd/postfix.service diff --git a/service/postfix/Containerfile b/service/postfix/Containerfile index 07524c9..0adfda7 100644 --- a/service/postfix/Containerfile +++ b/service/postfix/Containerfile @@ -1,5 +1,5 @@ -FROM docker.io/debian:bullseye-slim -ARG VERSION=3.5.13 +FROM docker.io/debian:bookworm-slim +ARG VERSION=3.7.6 RUN apt-get update -y && apt-get install -y --no-install-recommends \ postfix=${VERSION}* postfix-mysql=${VERSION}* syslog-ng-core gettext ca-certificates diff --git a/service/postfix/container/config/main.cf.template b/service/postfix/container/config/main.cf.template index 5a5aa5d..a39446f 100644 --- a/service/postfix/container/config/main.cf.template +++ b/service/postfix/container/config/main.cf.template @@ -2,8 +2,8 @@ # Main configuration file for Postfix. # -# Version 2 is current for Postfix > 3.2 configuration. -compatibility_level = 2 +# Version 6 is current for Postfix > 3.6 configuration. +compatibility_level = 3.6 # Log to standard output. maillog_file = /dev/stdout diff --git a/service/postfix/quadlet/postfix.container b/service/postfix/quadlet/postfix.container new file mode 100644 index 0000000..a622ec6 --- /dev/null +++ b/service/postfix/quadlet/postfix.container @@ -0,0 +1,22 @@ +[Unit] +Description=Postfix SMTP server +Wants=container-build@%N.service dovecot.service +After=container-build@%N.service dovecot.service + +[Container] +ContainerName=%N +EnvironmentFile=%E/coreos-home-server/%N/%N.env +Image=localhost/%N:latest +PublishPort=25:25 +PublishPort=465:465 +PublishPort=587:587 +Network=internal +Volume=dovecot:/var/mail:z +Volume=letsencrypt:/etc/ssl/private:z,ro + +[Service] +ExecReload=/bin/podman exec %N postfix reload +Restart=on-failure + +[Install] +WantedBy=multi-user.target diff --git a/service/postfix/spec.bu b/service/postfix/spec.bu index af254a2..10f9917 100644 --- a/service/postfix/spec.bu +++ b/service/postfix/spec.bu @@ -4,9 +4,5 @@ storage: trees: - path: /etc/coreos-home-server/postfix local: service/postfix/ - - path: /etc/systemd/system - local: service/postfix/systemd/ -systemd: - units: - - name: postfix.service - enabled: true + - path: /etc/containers/systemd + local: service/postfix/quadlet/ diff --git a/service/postfix/systemd/postfix.service b/service/postfix/systemd/postfix.service deleted file mode 100644 index 79a8bb1..0000000 --- a/service/postfix/systemd/postfix.service +++ /dev/null @@ -1,23 +0,0 @@ -[Unit] -Description=Postfix SMTP server -Wants=container-build@%N.service dovecot.service -After=container-build@%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 \ - --publish 25:25 --publish 465:465 --publish 587:587 \ - --volume dovecot:/var/mail: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 %N reload - -[Install] -WantedBy=multi-user.target