You've already forked postfixadmin-fetchmail-docker
Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
3e22105622
|
|||
f2e7f6e99c
|
|||
514f2d1b5e
|
|||
389bfb967c
|
|||
8d48d4d458
|
16
.drone.yml
16
.drone.yml
@ -57,7 +57,7 @@ steps:
|
|||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
auto_tag: false
|
auto_tag: false
|
||||||
tags: latest-amd64
|
tags: latest-amd64
|
||||||
repo: volkerraschek/fetchmail
|
repo: volkerraschek/postfixadmin-fetchmail
|
||||||
username:
|
username:
|
||||||
from_secret: container_image_registry_user
|
from_secret: container_image_registry_user
|
||||||
password:
|
password:
|
||||||
@ -112,7 +112,7 @@ steps:
|
|||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
auto_tag: false
|
auto_tag: false
|
||||||
tags: latest-armv7
|
tags: latest-armv7
|
||||||
repo: volkerraschek/fetchmail
|
repo: volkerraschek/postfixadmin-fetchmail
|
||||||
username:
|
username:
|
||||||
from_secret: container_image_registry_user
|
from_secret: container_image_registry_user
|
||||||
password:
|
password:
|
||||||
@ -213,7 +213,7 @@ steps:
|
|||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
auto_tag_suffix: amd64
|
auto_tag_suffix: amd64
|
||||||
repo: volkerraschek/fetchmail
|
repo: volkerraschek/postfixadmin-fetchmail
|
||||||
username:
|
username:
|
||||||
from_secret: container_image_registry_user
|
from_secret: container_image_registry_user
|
||||||
password:
|
password:
|
||||||
@ -248,7 +248,7 @@ trigger:
|
|||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
repo:
|
repo:
|
||||||
- volker.raschek/fetchmail-docker
|
- volker.raschek/postfixadmin-fetchmail-docker
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
@ -266,7 +266,7 @@ steps:
|
|||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
auto_tag_suffix: armv7
|
auto_tag_suffix: armv7
|
||||||
repo: volkerraschek/fetchmail
|
repo: volkerraschek/postfixadmin-fetchmail
|
||||||
username:
|
username:
|
||||||
from_secret: container_image_registry_user
|
from_secret: container_image_registry_user
|
||||||
password:
|
password:
|
||||||
@ -301,7 +301,7 @@ trigger:
|
|||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
repo:
|
repo:
|
||||||
- volker.raschek/fetchmail-docker
|
- volker.raschek/postfixadmin-fetchmail-docker
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
@ -348,7 +348,7 @@ trigger:
|
|||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
repo:
|
repo:
|
||||||
- volker.raschek/fetchmail-docker
|
- volker.raschek/postfixadmin-fetchmail-docker
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
@ -397,4 +397,4 @@ trigger:
|
|||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
repo:
|
repo:
|
||||||
- volker.raschek/fetchmail-docker
|
- volker.raschek/postfixadmin-fetchmail-docker
|
||||||
|
52
README.md
52
README.md
@ -1,4 +1,4 @@
|
|||||||
# fetchmail-docker
|
# PostfixAdmin's fetchmail
|
||||||
|
|
||||||
[](https://drone.cryptic.systems/volker.raschek/fetchmail-docker)
|
[](https://drone.cryptic.systems/volker.raschek/fetchmail-docker)
|
||||||
[](https://hub.docker.com/r/volkerraschek/fetchmail)
|
[](https://hub.docker.com/r/volkerraschek/fetchmail)
|
||||||
@ -8,8 +8,9 @@ This project contains all sources to build the container image
|
|||||||
mails from external servers and forward them to on local running mail server.
|
mails from external servers and forward them to on local running mail server.
|
||||||
|
|
||||||
The configuration file will be automatically generated based on information from
|
The configuration file will be automatically generated based on information from
|
||||||
a database. As table the fetchmail table from the schema of
|
a supported database backend of
|
||||||
[postfixadmin](https://github.com/postfixadmin/postfixadmin) is expected.
|
[postfixadmin](https://github.com/postfixadmin/postfixadmin). The information
|
||||||
|
are stored in the table `fetchmail` of the database scheme of PostfixAdmin.
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
@ -25,6 +26,7 @@ $ docker run \
|
|||||||
--rm \
|
--rm \
|
||||||
--env DATABASE_TYPE: Pg \
|
--env DATABASE_TYPE: Pg \
|
||||||
--env DATABASE_HOST: postgres \
|
--env DATABASE_HOST: postgres \
|
||||||
|
--env DATABASE_PORT: 5432 \
|
||||||
--env DATABASE_NAME: postgres \
|
--env DATABASE_NAME: postgres \
|
||||||
--env DATABASE_USER: fetchmail \
|
--env DATABASE_USER: fetchmail \
|
||||||
--env DATABASE_PASSWORD: MySecretPassword \
|
--env DATABASE_PASSWORD: MySecretPassword \
|
||||||
@ -39,6 +41,7 @@ $ docker run \
|
|||||||
--rm \
|
--rm \
|
||||||
--env DATABASE_TYPE: my \
|
--env DATABASE_TYPE: my \
|
||||||
--env DATABASE_HOST: root \
|
--env DATABASE_HOST: root \
|
||||||
|
--env DATABASE_PORT: 3306 \
|
||||||
--env DATABASE_NAME: mysql \
|
--env DATABASE_NAME: mysql \
|
||||||
--env DATABASE_USER: fetchmail \
|
--env DATABASE_USER: fetchmail \
|
||||||
--env DATABASE_PASSWORD: MySecretPassword \
|
--env DATABASE_PASSWORD: MySecretPassword \
|
||||||
@ -62,18 +65,47 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- DATABASE_TYPE=${DATABASE_TYPE}
|
- DATABASE_TYPE=${DATABASE_TYPE}
|
||||||
- DATABASE_HOST=${DATABASE_HOST}
|
- DATABASE_HOST=${DATABASE_HOST}
|
||||||
|
- DATABASE_HOST=${DATABASE_PORT}
|
||||||
- DATABASE_NAME=${DATABASE_NAME}
|
- DATABASE_NAME=${DATABASE_NAME}
|
||||||
- DATABASE_USER=${DATABASE_USER}
|
- DATABASE_USER=${DATABASE_USER}
|
||||||
- DATABASE_PASSWORD=${DATABASE_PASSWORD}
|
- DATABASE_PASSWORD=${DATABASE_PASSWORD}
|
||||||
network_mode: host
|
network_mode: host
|
||||||
```
|
```
|
||||||
|
|
||||||
## Build container image manually
|
## Environment variables
|
||||||
|
|
||||||
To build the images manually check out the repository on
|
### DATABASE_TYPE
|
||||||
[github](https://github.com/volker-raschek/fetchmail-docker) with git and use
|
|
||||||
the make command to build the container image.
|
|
||||||
|
|
||||||
```bash
|
Currently will be only postgres, mysql and mariadb supported. About the
|
||||||
make container-image/build
|
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.
|
||||||
|
@ -15,10 +15,11 @@ use LockFile::Simple qw(lock trylock unlock);
|
|||||||
|
|
||||||
# database backend - uncomment one of these
|
# database backend - uncomment one of these
|
||||||
our $db_type=$ENV{'DATABASE_TYPE'};
|
our $db_type=$ENV{'DATABASE_TYPE'};
|
||||||
our $db_host=$ENV{'DATABASE_HOST'};
|
|
||||||
our $db_name=$ENV{'DATABASE_NAME'};
|
|
||||||
our $db_username=$ENV{'DATABASE_USER'};
|
our $db_username=$ENV{'DATABASE_USER'};
|
||||||
our $db_password=$ENV{'DATABASE_PASSWORD'};
|
our $db_password=$ENV{'DATABASE_PASSWORD'};
|
||||||
|
our $db_host=$ENV{'DATABASE_HOST'};
|
||||||
|
our $db_port=$ENV{'DATABASE_PORT'};
|
||||||
|
our $db_name=$ENV{'DATABASE_NAME'};
|
||||||
|
|
||||||
# instead of changing this script, you can put your settings to /etc/mail/postfixadmin/fetchmail.conf
|
# instead of changing this script, you can put your settings to /etc/mail/postfixadmin/fetchmail.conf
|
||||||
# just use perl syntax there to fill the variables listed above (without the "our" keyword). Example:
|
# just use perl syntax there to fill the variables listed above (without the "our" keyword). Example:
|
||||||
@ -60,7 +61,7 @@ if (-e $configfile) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if($db_type eq "Pg" || $db_type eq "mysql") {
|
if($db_type eq "Pg" || $db_type eq "mysql") {
|
||||||
$dsn = "DBI:$db_type:database=$db_name;host=$db_host";
|
$dsn = "DBI:$db_type:database=$db_name;host=$db_host;port=$db_port";
|
||||||
} else {
|
} else {
|
||||||
log_and_die "unsupported db_type $db_type";
|
log_and_die "unsupported db_type $db_type";
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
image: volkerraschek/fetchmail:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}
|
image: volkerraschek/postfixadmin-fetchmail:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}
|
||||||
{{#if build.tags}}
|
{{#if build.tags}}
|
||||||
tags:
|
tags:
|
||||||
{{#each build.tags}}
|
{{#each build.tags}}
|
||||||
@ -8,12 +8,12 @@ tags:
|
|||||||
{{/if}}
|
{{/if}}
|
||||||
manifests:
|
manifests:
|
||||||
-
|
-
|
||||||
image: volkerraschek/fetchmail:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-amd64
|
image: volkerraschek/postfixadmin-fetchmail:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-amd64
|
||||||
platform:
|
platform:
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
os: linux
|
os: linux
|
||||||
-
|
-
|
||||||
image: volkerraschek/fetchmail:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-armv7
|
image: volkerraschek/postfixadmin-fetchmail:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-armv7
|
||||||
platform:
|
platform:
|
||||||
architecture: arm
|
architecture: arm
|
||||||
os: linux
|
os: linux
|
||||||
|
Reference in New Issue
Block a user