Source files of the container image volkerraschek/postfixadmin-fetchmail https://hub.docker.com/repository/docker/volkerraschek/postfixadmin-fetchmail
Go to file
CSRBot 1567554ecf
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
chore(deps): update quay.io/skopeo/stable docker tag to v1.15.0
2024-03-31 16:17:47 +00:00
.dev_env Initial Commit 2021-08-31 19:19:08 +02:00
.drone.yml chore(deps): update quay.io/skopeo/stable docker tag to v1.15.0 2024-03-31 16:17:47 +00:00
.editorconfig Initial Commit 2021-08-31 19:19:08 +02:00
.gitattributes Initial Commit 2021-08-31 19:19:08 +02:00
.gitignore Initial Commit 2021-08-31 19:19:08 +02:00
.markdownlint.yaml Initial Commit 2021-08-31 19:19:08 +02:00
Dockerfile chore(deps): update docker.io/library/alpine docker tag to v3.19.1 2024-03-02 17:15:14 +00:00
LICENSE Initial Commit 2021-08-31 19:19:08 +02:00
Makefile fix(Makefile): logout correctly 2024-03-02 14:42:46 +01:00
README.md doc(README): image name 2021-09-26 21:00:12 +02:00
docker-compose.yml fix: move from docker.io to git.cryptic.systems 2024-03-02 14:36:26 +01:00
fetchmail.pl fix: log to stdout 2022-01-21 23:30:28 +01:00
manifest.tmpl fix: unsupport arm-v7 image 2023-10-25 14:27:32 +02:00
renovate.json fix(renovate): remove automerge options 2024-01-21 14:37:08 +01:00

README.md

PostfixAdmin's fetchmail

Build Status Docker Pulls

This project contains all sources to build the container image docker.io/volkerraschek/postfixadmin-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 supported database backend of postfixadmin. The information are stored in the table fetchmail of the database scheme of PostfixAdmin.

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

Environment variables

DATABASE_TYPE

Currently will be only postgres, mysql and mariadb supported. About the environment variable DATABASE_TYPE can the backend type defined. The value is required.

database type value
mysql/mariadb my
postgres Pg

DATABASE_USER

The environment variable DATABASE_USER is undefined and required. The value contains the database user which one fetchmail use to login.

DATABASE_PASSWORD

The environment variable DATABASE_PASSWORD is undefined and required. The value contains the password of the database user which one fetchmail use to login.

DATABASE_HOST

The environment variable DATABASE_HOST is undefined and required. The value contains the DNS name or IP address of the host, where the database is hosted.

DATABASE_PORT

The environment variable DATABASE_PORT is undefined and required. The value contains the port of the host, where the database is listen on.

DATABASE_NAME

The environment variable DATABASE_NAME is undefined and required. The value contains the name of the database against which should be logged in.