Files
mailcow-dockerized/data/Dockerfiles/restic/Dockerfile
T
FreddleSpl0it 6cf0390d58 [Web][Restic][Dovecot][Dockerapi] Add restic backups with restore in the UI
- Scheduled, encrypted backups to S3, SFTP, REST or a local folder (new restic-mailcow container)
- Restore of mailboxes and whole domains in the UI, also deleted ones, for admins and domain admins
- Scope set by RESTIC_BACKUP_MODE in mailcow.conf (all, data, config)
- Optional backup before updates (update.sh), helper-scripts/restic.sh for a full restore
2026-11-08 22:56:27 +01:00

29 lines
803 B
Docker

FROM alpine:3.24
LABEL maintainer="The Infrastructure Company GmbH <info@servercow.de>"
ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8
# MariaDB Connector/C >= 3.4 refuses DB servers without TLS, the runner connects through the socket
ENV MARIADB_TLS_DISABLE_PEER_VERIFICATION=1
RUN apk add --no-cache --update \
ca-certificates \
git \
mariadb-client \
openssh-client \
py3-mysqlclient \
py3-pynacl \
python3 \
restic \
tini \
tzdata \
# dump, export, manifest and the mailcow directory are below /mailcow (paths of the snapshot), only root may read them
&& mkdir -m 700 /mailcow
COPY restic_runner.py /usr/local/bin/restic_runner.py
COPY sogo_restore.py /usr/local/bin/sogo_restore.py
ENTRYPOINT ["/sbin/tini", "--"]
CMD ["/usr/bin/python3", "-u", "/usr/local/bin/restic_runner.py"]