Markus Pesch
8d48d4d458
All checks were successful
continuous-integration/drone/push Build is passing
|
||
---|---|---|
.dev_env | ||
.drone.yml | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.markdownlint.yaml | ||
docker-compose.yml | ||
Dockerfile | ||
fetchmail.pl | ||
LICENSE | ||
Makefile | ||
manifest.tmpl | ||
README.md |
fetchmail-docker
This project contains all sources to build the container image
docker.io/volkerraschek/fetchmail
. The primary goal of the image is to fetch
mails from external servers and forward them to on local running mail server.
The configuration file will be automatically generated based on information from a database. As table the fetchmail table from the schema of postfixadmin is expected.
Usage
Possible database types are my
for MySQL and Pg
for postgres. Make sure that
the database and the SMTP server are accessible. Otherwise, adjust the enclosed
docker-compose or docker command accordingly. Alternatively you can use
docker-compose in addition to the docker commands.
PostgreSQL
$ docker run \
--rm \
--env DATABASE_TYPE: Pg \
--env DATABASE_HOST: postgres \
--env DATABASE_PORT: 5432 \
--env DATABASE_NAME: postgres \
--env DATABASE_USER: fetchmail \
--env DATABASE_PASSWORD: MySecretPassword \
--network host \
volkerraschek/fetchmail:latest
MySQL
$ docker run \
--rm \
--env DATABASE_TYPE: my \
--env DATABASE_HOST: root \
--env DATABASE_PORT: 3306 \
--env DATABASE_NAME: mysql \
--env DATABASE_USER: fetchmail \
--env DATABASE_PASSWORD: MySecretPassword \
--network host \
volkerraschek/fetchmail:latest
docker-compose
The repository contains a default docker-compose.yml
file, which can be used
to start the container. To set the environment variables you need a .env
file.
The .dev_env
from this repository can be used for this. This must be located
exclusively in the same directory as the docker-compose.yml
file and must be
renamed as .env
.
version: "3"
services:
fetchmail:
image: volkerraschek/fetchmail:latest
environment:
- DATABASE_TYPE=${DATABASE_TYPE}
- DATABASE_HOST=${DATABASE_HOST}
- DATABASE_HOST=${DATABASE_PORT}
- DATABASE_NAME=${DATABASE_NAME}
- DATABASE_USER=${DATABASE_USER}
- DATABASE_PASSWORD=${DATABASE_PASSWORD}
network_mode: host
Build container image manually
To build the images manually check out the repository on github with git and use the make command to build the container image.
make container-image/build