postfixadmin-fetchmail-docker/README.md
Markus Pesch 4a4d350e20
All checks were successful
continuous-integration/drone/push Build is passing
Initial Commit
2021-08-31 19:19:08 +02:00

2.5 KiB

fetchmail-docker

Build Status Docker Pulls

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_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_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_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