Changes to use secrets and git repos.

This commit is contained in:
yohan 2019-07-15 22:15:27 +02:00
parent 6de449ff28
commit 3ef4856abb
2 changed files with 31 additions and 4 deletions

View File

@ -3,7 +3,9 @@ version: "2.1"
services: services:
dovecot: dovecot:
image: dovecot image: dovecot:$VERSION_DOVECOT
build: "https://git.scimetis.net/yohan/docker-dovecot.git"
container_name: dovecot
restart: always restart: always
ports: ports:
- 993:993/tcp - 993:993/tcp
@ -13,21 +15,32 @@ services:
volumes: volumes:
- mail_data:/home/yohan - mail_data:/home/yohan
- ./dovecot_expire.sh:/root/dovecot_expire.sh - ./dovecot_expire.sh:/root/dovecot_expire.sh
- ./users:/etc/dovecot/users
- ./15-lda.conf:/etc/dovecot/conf.d/15-lda.conf
fetchmail: fetchmail:
image: fetchmail image: fetchmail:$VERSION_FETCHMAIL
build: "https://git.scimetis.net/yohan/docker-fetchmail.git"
container_name: fetchmail
restart: always restart: always
networks: networks:
- mailnet - mailnet
volumes:
- ./fetchmailrc:/etc/fetchmailrc
feed2imap: feed2imap:
image: feed2imap image: feed2imap:$VERSION_FEED2IMAP
build: "https://git.scimetis.net/yohan/docker-feed2imap.git"
container_name: feed2imap
restart: always restart: always
networks: networks:
- mailnet - mailnet
volumes:
- ./feed2imaprc:/root/feed2imaprc
cron-purge-dovecot: cron-purge-dovecot:
image: cron image: cron:$VERSION_CRON
build: "https://git.scimetis.net/yohan/docker-cron.git"
restart: always restart: always
network_mode: "host" network_mode: "host"
volumes: volumes:

14
start_or_update.sh Executable file
View File

@ -0,0 +1,14 @@
#!/bin/bash
test -f ~/secrets.tar.gz.enc || curl -o ~/secrets.tar.gz.enc https://cloud.scimetis.net/s/$KEY/download
openssl enc -aes-256-cbc -d -in ~/secrets.tar.gz.enc | tar -zxv --strip 2 secrets/docker-mail-stack/fetchmailrc \
secrets/docker-mail-stack/users secrets/docker-mail-stack/15-lda.conf secrets/docker-mail-stack/feed2imaprc
sudo chown root. fetchmailrc users 15-lda.conf feed2imaprc
sudo chmod a-r feed2imaprc
# --force-recreate is used to recreate container when crontab file has changed
unset VERSION_DOVECOT VERSION_FETCHMAIL VERSION_FEED2IMAP VERSION_CRON
VERSION_DOVECOT=$(git ls-remote ssh://git@git.scimetis.net:2222/yohan/docker-dovecot.git| head -1 | cut -f 1|cut -c -10) \
VERSION_FETCHMAIL=$(git ls-remote ssh://git@git.scimetis.net:2222/yohan/docker-fetchmail.git| head -1 | cut -f 1|cut -c -10) \
VERSION_FEED2IMAP=$(git ls-remote ssh://git@git.scimetis.net:2222/yohan/docker-feed2imap.git| head -1 | cut -f 1|cut -c -10) \
VERSION_CRON=$(git ls-remote ssh://git@git.scimetis.net:2222/yohan/docker-cron.git| head -1 | cut -f 1|cut -c -10) \
sudo -E bash -c 'docker-compose up -d --force-recreate'
# /!\ We cannot remove the secrets files or restarting the container would become impossible.