Markus Pesch
4a4d350e20
All checks were successful
continuous-integration/drone/push Build is passing
80 lines
2.5 KiB
Markdown
80 lines
2.5 KiB
Markdown
# fetchmail-docker
|
|
|
|
[![Build Status](https://drone.cryptic.systems/api/badges/volker.raschek/fetchmail-docker/status.svg)](https://drone.cryptic.systems/volker.raschek/fetchmail-docker)
|
|
[![Docker Pulls](https://img.shields.io/docker/pulls/volkerraschek/fetchmail)](https://hub.docker.com/r/volkerraschek/fetchmail)
|
|
|
|
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](https://github.com/postfixadmin/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
|
|
|
|
```bash
|
|
$ 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
|
|
|
|
```bash
|
|
$ 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`.
|
|
|
|
```yml
|
|
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](https://github.com/volker-raschek/fetchmail-docker) with git and use
|
|
the make command to build the container image.
|
|
|
|
```bash
|
|
make container-image/build
|
|
```
|