All Projects → JakeWharton → docker-mbsync

JakeWharton / docker-mbsync

Licence: MIT License
A Docker container which runs the mbsync tool automatically to synchronize your email

Programming Languages

shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to docker-mbsync

ioBroker.backitup
Backitup enables the cyclical creation of backups of an IoBroker / Homematic installation
Stars: ✭ 43 (-28.33%)
Mutual labels:  backup, email
simple-backup
A simple mysql database backup library for php.
Stars: ✭ 38 (-36.67%)
Mutual labels:  backup
abgleich
zfs sync tool
Stars: ✭ 22 (-63.33%)
Mutual labels:  backup
Copper
Copper mail : comprehensive email solution which can be readily deployed without complex configurations.
Stars: ✭ 12 (-80%)
Mutual labels:  email
gnome-email-notifications
Gnome Email Notifications
Stars: ✭ 65 (+8.33%)
Mutual labels:  email
smf-spf
It's a lightweight, fast and reliable Sendmail milter that implements the Sender Policy Framework
Stars: ✭ 12 (-80%)
Mutual labels:  email
docker-backup-to-s3
Docker container that periodically backups files to Amazon S3 using s3cmd and cron
Stars: ✭ 124 (+106.67%)
Mutual labels:  backup
postgresql-backup
Docker image that periodically dumps a Postgres database, and uploads it to an Amazon S3 bucket.
Stars: ✭ 30 (-50%)
Mutual labels:  backup
email-concealer-cli
CLI tool for concealing e-mails in a file by replacing their domain
Stars: ✭ 30 (-50%)
Mutual labels:  email
laravel-mjml
Laravel MJML offers support for rendering MJML syntax into in-line HTML that can be sent within mails.
Stars: ✭ 26 (-56.67%)
Mutual labels:  email
github-backup-docker
Docker wrapper for github-backup
Stars: ✭ 38 (-36.67%)
Mutual labels:  backup
ESP-Mail-Client
⚡️Arduino Mail Client Library to send, read and get incoming mail notification for ESP32, ESP8266 and SAMD21 devices. The library also supported other Arduino devices using Clients interfaces e.g. WiFiClient, EthernetClient, and GSMClient.
Stars: ✭ 78 (+30%)
Mutual labels:  email
zzmysqldump
mysqldump every DB of your MySQL Server to its own, 7z-compressed file.
Stars: ✭ 47 (-21.67%)
Mutual labels:  backup
dijnet-bot
Az összes számlád még egy helyen :)
Stars: ✭ 17 (-71.67%)
Mutual labels:  backup
aws-backup-automation
AWS CloudFormation templates and Python code for AWS blog post on how to automate centralized backup at scale across AWS services using AWS Backup.
Stars: ✭ 12 (-80%)
Mutual labels:  backup
github-email-extractor
😎 Chrome extension to fetch the email ID of a user even if they haven't made it public on their GitHub profile
Stars: ✭ 58 (-3.33%)
Mutual labels:  email
fx-private-relay-add-on
Companion add-on for Firefox Relay. Keep your email safe from hackers and trackers. Make an email alias with one click, and keep your address to yourself.
Stars: ✭ 24 (-60%)
Mutual labels:  email
BM
The Utility to Install Songs, Install Mods, Install/Update BMBF, Install HitSounds, download automatically made Playlists, get better support, switch between the modded and unmodded Version of Beat Saber, do full Backups and way more
Stars: ✭ 33 (-45%)
Mutual labels:  backup
amazon-workmail-lambda-templates
Serverless applications for Amazon WorkMail.
Stars: ✭ 17 (-71.67%)
Mutual labels:  email
ioBroker.email
Send emails from ioBroker
Stars: ✭ 15 (-75%)
Mutual labels:  email

Docker Mailbox Sync

A Docker container which runs the mbsync tool automatically to synchronize your email.

Docker Image Version Docker Image Size

Setup

Select and create two directories:

  • The "mail" directory where email will be stored. (From now on referred to as /path/to/mail)
  • The "config" directory where your configuration file will be stored. (From now on referred to as /path/to/config)

Config

In /path/to/config, create a file mbsync.rc for configuration. See the mbsync documentation for the syntax of this file.

The examples in this README mount the destination /path/to/mail directory as /mail inside of the container. If you are going to follow that, you should use /mail as the path in your configuration.

Here is an example, minimal configuration for synchronizing everything in a mailbox:

IMAPAccount example
Host imap.example.com
User [email protected]
Pass abc123
AuthMechs LOGIN
SSLType IMAPS
PipelineDepth 50

IMAPStore example-remote
Account example

MaildirStore example-local
Path /mail/
Inbox /mail/Inbox
SubFolders Verbatim

Channel example
Master :example-remote:
Slave :example-local:
Patterns *
Create Slave
Expunge Slave
SyncState *
Sync Pull

Initial Sync

The first time this container runs, it will download all of your historical emails.

It is not required, but if you'd like to run this sync manually you can choose to do so. This allows you to temporarily interrupt it at any point and also restart if it gets stuck.

$ docker run -it --rm
    -v /path/to/config:/config \
    -v /path/to/mail:/mail \
    jakewharton/mbsync:1 \
    /app/sync.sh

This will run until all emails have been downloaded. At this point, you should set it up to run automatically on a schedule.

Running Automatically

To run the sync automatically on a schedule, pass a valid cron specifier as the CRON environment variable.

$ docker run -it --rm
    -v /path/to/config:/config \
    -v /path/to/mail:/mail \
    -e "CRON=0 * * * *" \
    jakewharton/mbsync:1

The above version will run every hour and download any new emails. For help creating a valid cron specifier, visit cron.help.

More

To be notified when sync is failing visit https://healthchecks.io, create a check, and specify the ID to the container using the HEALTHCHECK_ID environment variable.

Because the sync can occasionally fail, it's best to set a grace period on the check which is a multiple of your cron period. For example, if you run sync hourly give a grace period of two hours.

To write data as a particular user, the PUID and PGID environment variables can be set to your user ID and group ID, respectively.

Docker Compose

version: '2'
services:
  mbsync:
    image: jakewharton/mbsync:1
    restart: unless-stopped
    volumes:
      - /path/to/config:/config
      - /path/to/mail:/mail
    environment:
      - "CRON=0 * * * *"
      #Optional:
      - "HEALTHCHECK_ID=..."
      - "PUID=..."
      - "PGID=..."

See https://hub.docker.com/r/jakewharton/mbsync/tags for other tags.

LICENSE

MIT. See LICENSE.txt.

Copyright 2020 Jake Wharton
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].