diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0de74cd..10c5e1c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,6 +6,18 @@ variables: DOCKER_CLI_EXPERIMENTAL: enabled DOCKER_BUILDKIT: 1 +dovecot: + stage: build + tags: + - docker + script: + - cd dovecot + - make push + only: + variables: + - $CI_COMMIT_REF_PROTECTED == "true" + changes: + - dovecot/* element: stage: build diff --git a/dovecot/Dockerfile b/dovecot/Dockerfile new file mode 100644 index 0000000..e0f0bf4 --- /dev/null +++ b/dovecot/Dockerfile @@ -0,0 +1,29 @@ +ARG DEBIAN_VERSION=20210408 +FROM docker.io/debian:bullseye-${DEBIAN_VERSION}-slim + +ENV container=docker +ENV LC_ALL=C +ENV DEBIAN_FRONTEND=noninteractive +RUN apt-get -y update && apt-get -y install \ + tini \ + dovecot-core \ + dovecot-imapd \ + dovecot-lmtpd \ + dovecot-ldap \ + dovecot-managesieved \ + dovecot-mysql \ + dovecot-pgsql \ + dovecot-sqlite \ + dovecot-pop3d \ + dovecot-sieve \ + dovecot-solr \ + dovecot-submissiond \ + ca-certificates \ + ssl-cert \ + && rm -rf /etc/dovecot \ + && mkdir /srv/mail && chown dovecot:dovecot /srv/mail \ + && rm -rf /var/lib/apt/lists/* + +VOLUME [/etc/dovecot /srv/mail /var/mail] +ENTRYPOINT ["/sbin/tini" "--"] +CMD ["/usr/sbin/dovecot" "-F"] diff --git a/dovecot/Makefile b/dovecot/Makefile new file mode 100644 index 0000000..0e11809 --- /dev/null +++ b/dovecot/Makefile @@ -0,0 +1,17 @@ +NAMESPACE=alemairebe +VERSION=2.3.13 +IMAGE=dovecot + +push: + docker buildx build --platform linux/amd64,linux/arm64,linux/arm --push \ + --cache-from=type=registry,ref=${NAMESPACE}/buildx:${IMAGE} \ + --cache-to=type=registry,ref=${NAMESPACE}/buildx:${IMAGE} \ + --tag ${CI_REGISTRY_IMAGE}/${IMAGE}:$(VERSION) \ + --tag ${NAMESPACE}/${IMAGE}:$(VERSION) \ + -f Dockerfile . + +dev: + docker buildx build --platform linux/amd64,linux/arm64,linux/arm \ + --output type=tar,dest=synapse.tar \ + --tag ${NAMESPACE}/${IMAGE}:$(VERSION) \ + -f Dockerfile ${IMAGE}-${VERSION} \ No newline at end of file