Unofficial OfflineIMAP Dockerfile for backing up all folders of an imap server.
After installing docker, just run the following command:
docker pull maxkratz/offlineimap:latest
You can use the following environment variables for customization of this container:
MAILLOG # If set to true, container will create a log instead of using console output
One may mount a folder of the host to /mnt/mail within the container to enable persistent backups of imap servers.
- /mnt/mail may be used as backup target.
- /mnt/config will be used as config. Be sure to place a file named offlineimap.conf with a valid configuration in here.
- /mnt/secret may be used as folder to get secrets from. You can e.g. place password files in this folder and use them in your config file.
- /mnt/log will be used as log target (if environment variable is set).
docker run -it -v ~/email-backups/offlineimap-config:/mnt/config -v ~/email-backups/offlineimap-secret:/mnt/secret -v ~/email-backups/offlineimap-mail:/mnt/mail -v ~/email-backups/offlineimap-log:/mnt/log -e MAILLOG=TRUE maxkratz/offlineimap:latest
offlineimap.conf
[general]
accounts = personal-mail
[Account personal-mail]
localrepository = local-personal-mail
remoterepository = remote-personal-mail
[Repository local-personal-mail]
type = Maildir
localfolders = /mnt/mail
[Repository remote-personal-mail]
type = IMAP
remotehost = imap.example.com
remoteuser = user123
remotepassfile = /mnt/secret/password.conf
sslcacertfile = /etc/ssl/certs/ca-certificates.crt
password.conf
MyPassword123
Please notice that this container provides validated CAs in folder shown above.
The Dockerfile can be found at: https://github.com/maxkratz/docker_offlineimap/blob/main/Dockerfile
The following packages are installed within this docker container:
- Some utility packages like locales, bash-completion, ca-certificates etc.
- OfflineIMAP (thats the whole point ...)