You've already forked postfixadmin-fetchmail-docker
Compare commits
30 Commits
Author | SHA1 | Date | |
---|---|---|---|
0f84feeb5f
|
|||
4ec1a2311b
|
|||
16f30737f2
|
|||
c33ffca552
|
|||
25b57f99be
|
|||
163eb5c4ea | |||
0cb5db3c50 | |||
c37d202e25 | |||
5acd0eb4df | |||
7f72f0349a | |||
f66d5d0327 | |||
4afa9a27ed | |||
906f520730
|
|||
c1736289c5 | |||
eea2724aea | |||
3fdf46a523 | |||
dd3c1184d6
|
|||
c0a6f5c8f5
|
|||
b5692c03d9
|
|||
fe8bf5d73c
|
|||
feee56b98c
|
|||
d6536071ef
|
|||
66a537767f
|
|||
0de75ab85d
|
|||
4b81be1cb6
|
|||
3e22105622
|
|||
f2e7f6e99c
|
|||
514f2d1b5e
|
|||
389bfb967c
|
|||
8d48d4d458
|
448
.drone.yml
448
.drone.yml
@ -5,17 +5,16 @@ name: linter
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
- name: markdown lint
|
||||
commands:
|
||||
- markdownlint *.md
|
||||
image: docker.io/volkerraschek/markdownlint:0.28.1
|
||||
image: docker.io/volkerraschek/markdownlint:0.31.1
|
||||
resources:
|
||||
limits:
|
||||
cpu: 50
|
||||
memory: 50M
|
||||
cpu: 150
|
||||
memory: 150M
|
||||
|
||||
- name: email-notification
|
||||
environment:
|
||||
@ -30,8 +29,8 @@ steps:
|
||||
image: docker.io/drillster/drone-email:latest
|
||||
resources:
|
||||
limits:
|
||||
cpu: 50
|
||||
memory: 25M
|
||||
cpu: 150
|
||||
memory: 150M
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
@ -41,6 +40,190 @@ trigger:
|
||||
event:
|
||||
exclude:
|
||||
- tag
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: dry-run-amd64
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: docker.io/plugins/docker:latest
|
||||
settings:
|
||||
dockerfile: Dockerfile
|
||||
auto_tag: false
|
||||
dry_run: true
|
||||
tags: latest-amd64
|
||||
repo: volkerraschek/postfixadmin-fetchmail
|
||||
username:
|
||||
from_secret: container_image_registry_user
|
||||
password:
|
||||
from_secret: container_image_registry_password
|
||||
no_cache: true
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
|
||||
- name: notify
|
||||
image: docker.io/drillster/drone-email:latest
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
PLUGIN_USERNAME:
|
||||
from_secret: smtp_username
|
||||
PLUGIN_PASSWORD:
|
||||
from_secret: smtp_password
|
||||
PLUGIN_FROM:
|
||||
from_secret: smtp_mail_address
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
depends_on:
|
||||
- linter
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
exclude:
|
||||
- master
|
||||
event:
|
||||
- pull_request
|
||||
- push
|
||||
repo:
|
||||
- volker.raschek/postfixadmin-fetchmail-docker
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: dry-run-arm-v7
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: arm
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: docker.io/plugins/docker:latest
|
||||
settings:
|
||||
dockerfile: Dockerfile
|
||||
auto_tag: false
|
||||
dry_run: true
|
||||
tags: latest-arm-v7
|
||||
repo: volkerraschek/postfixadmin-fetchmail
|
||||
username:
|
||||
from_secret: container_image_registry_user
|
||||
password:
|
||||
from_secret: container_image_registry_password
|
||||
no_cache: true
|
||||
|
||||
- name: notify
|
||||
image: docker.io/drillster/drone-email:latest
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
PLUGIN_USERNAME:
|
||||
from_secret: smtp_username
|
||||
PLUGIN_PASSWORD:
|
||||
from_secret: smtp_password
|
||||
PLUGIN_FROM:
|
||||
from_secret: smtp_mail_address
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
depends_on:
|
||||
- linter
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
exclude:
|
||||
- master
|
||||
event:
|
||||
- pull_request
|
||||
- push
|
||||
repo:
|
||||
- volker.raschek/postfixadmin-fetchmail-docker
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: dry-run-arm64-v8
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: arm64
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: docker.io/plugins/docker:latest
|
||||
settings:
|
||||
dockerfile: Dockerfile
|
||||
auto_tag: false
|
||||
dry_run: true
|
||||
tags: latest-arm64-v8
|
||||
repo: volkerraschek/postfixadmin-fetchmail
|
||||
username:
|
||||
from_secret: container_image_registry_user
|
||||
password:
|
||||
from_secret: container_image_registry_password
|
||||
no_cache: true
|
||||
|
||||
- name: notify
|
||||
image: docker.io/drillster/drone-email:latest
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
PLUGIN_USERNAME:
|
||||
from_secret: smtp_username
|
||||
PLUGIN_PASSWORD:
|
||||
from_secret: smtp_password
|
||||
PLUGIN_FROM:
|
||||
from_secret: smtp_mail_address
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
depends_on:
|
||||
- linter
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
exclude:
|
||||
- master
|
||||
event:
|
||||
- pull_request
|
||||
- push
|
||||
repo:
|
||||
- volker.raschek/postfixadmin-fetchmail-docker
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
@ -52,12 +235,12 @@ platform:
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: plugins/docker
|
||||
image: docker.io/plugins/docker:latest
|
||||
settings:
|
||||
dockerfile: Dockerfile
|
||||
auto_tag: false
|
||||
tags: latest-amd64
|
||||
repo: volkerraschek/fetchmail
|
||||
repo: volkerraschek/postfixadmin-fetchmail
|
||||
username:
|
||||
from_secret: container_image_registry_user
|
||||
password:
|
||||
@ -66,12 +249,9 @@ steps:
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
when:
|
||||
branch:
|
||||
- master
|
||||
|
||||
- name: notify
|
||||
image: drillster/drone-email
|
||||
image: docker.io/drillster/drone-email:latest
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
@ -91,15 +271,22 @@ volumes:
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
depends_on:
|
||||
- linter
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
exclude:
|
||||
- tag
|
||||
- cron
|
||||
- push
|
||||
repo:
|
||||
- volker.raschek/postfixadmin-fetchmail-docker
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: latest-armv7
|
||||
name: latest-arm-v7
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
@ -107,23 +294,20 @@ platform:
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: plugins/docker
|
||||
image: docker.io/plugins/docker:latest
|
||||
settings:
|
||||
dockerfile: Dockerfile
|
||||
auto_tag: false
|
||||
tags: latest-armv7
|
||||
repo: volkerraschek/fetchmail
|
||||
tags: latest-arm-v7
|
||||
repo: volkerraschek/postfixadmin-fetchmail
|
||||
username:
|
||||
from_secret: container_image_registry_user
|
||||
password:
|
||||
from_secret: container_image_registry_password
|
||||
no_cache: true
|
||||
when:
|
||||
branch:
|
||||
- master
|
||||
|
||||
- name: notify
|
||||
image: drillster/drone-email
|
||||
image: docker.io/drillster/drone-email:latest
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
@ -146,10 +330,76 @@ volumes:
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
depends_on:
|
||||
- linter
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
exclude:
|
||||
- tag
|
||||
- cron
|
||||
- push
|
||||
repo:
|
||||
- volker.raschek/postfixadmin-fetchmail-docker
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: latest-arm64-v8
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: arm64
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: docker.io/plugins/docker:latest
|
||||
settings:
|
||||
dockerfile: Dockerfile
|
||||
auto_tag: false
|
||||
tags: latest-arm64-v8
|
||||
repo: volkerraschek/postfixadmin-fetchmail
|
||||
username:
|
||||
from_secret: container_image_registry_user
|
||||
password:
|
||||
from_secret: container_image_registry_password
|
||||
no_cache: true
|
||||
|
||||
- name: notify
|
||||
image: docker.io/drillster/drone-email:latest
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
PLUGIN_USERNAME:
|
||||
from_secret: smtp_username
|
||||
PLUGIN_PASSWORD:
|
||||
from_secret: smtp_password
|
||||
PLUGIN_FROM:
|
||||
from_secret: smtp_mail_address
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
depends_on:
|
||||
- linter
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
- cron
|
||||
- push
|
||||
repo:
|
||||
- volker.raschek/postfixadmin-fetchmail-docker
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
@ -158,7 +408,7 @@ name: latest-manifest
|
||||
|
||||
steps:
|
||||
- name: build-manifest
|
||||
image: plugins/manifest
|
||||
image: docker.io/plugins/manifest:latest
|
||||
settings:
|
||||
auto_tag: false
|
||||
ignore_missing: true
|
||||
@ -181,8 +431,8 @@ steps:
|
||||
from_secret: smtp_mail_address
|
||||
resources:
|
||||
limits:
|
||||
cpu: 50
|
||||
memory: 25M
|
||||
cpu: 150
|
||||
memory: 150M
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
@ -190,12 +440,17 @@ steps:
|
||||
|
||||
depends_on:
|
||||
- latest-amd64
|
||||
- latest-armv7
|
||||
- latest-arm-v7
|
||||
- latest-arm64-v8
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
exclude:
|
||||
- tag
|
||||
- cron
|
||||
- push
|
||||
repo:
|
||||
- volker.raschek/postfixadmin-fetchmail-docker
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
@ -208,12 +463,12 @@ platform:
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: plugins/docker
|
||||
image: docker.io/plugins/docker:latest
|
||||
settings:
|
||||
dockerfile: Dockerfile
|
||||
auto_tag: true
|
||||
auto_tag_suffix: amd64
|
||||
repo: volkerraschek/fetchmail
|
||||
repo: volkerraschek/postfixadmin-fetchmail
|
||||
username:
|
||||
from_secret: container_image_registry_user
|
||||
password:
|
||||
@ -224,7 +479,7 @@ steps:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
- name: notify
|
||||
image: drillster/drone-email
|
||||
image: docker.io/drillster/drone-email:latest
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
@ -248,12 +503,12 @@ trigger:
|
||||
event:
|
||||
- tag
|
||||
repo:
|
||||
- volker.raschek/fetchmail-docker
|
||||
- volker.raschek/postfixadmin-fetchmail-docker
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: tagged-armv7
|
||||
name: tagged-arm-v7
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
@ -261,12 +516,12 @@ platform:
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: plugins/docker
|
||||
image: docker.io/plugins/docker:latest
|
||||
settings:
|
||||
dockerfile: Dockerfile
|
||||
auto_tag: true
|
||||
auto_tag_suffix: armv7
|
||||
repo: volkerraschek/fetchmail
|
||||
auto_tag_suffix: arm-v7
|
||||
repo: volkerraschek/postfixadmin-fetchmail
|
||||
username:
|
||||
from_secret: container_image_registry_user
|
||||
password:
|
||||
@ -277,7 +532,7 @@ steps:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
- name: notify
|
||||
image: drillster/drone-email
|
||||
image: docker.io/drillster/drone-email:latest
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
@ -301,7 +556,60 @@ trigger:
|
||||
event:
|
||||
- tag
|
||||
repo:
|
||||
- volker.raschek/fetchmail-docker
|
||||
- volker.raschek/postfixadmin-fetchmail-docker
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: tagged-arm64-v8
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: arm64
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: docker.io/plugins/docker:latest
|
||||
settings:
|
||||
dockerfile: Dockerfile
|
||||
auto_tag: true
|
||||
auto_tag_suffix: arm64-v8
|
||||
repo: volkerraschek/postfixadmin-fetchmail
|
||||
username:
|
||||
from_secret: container_image_registry_user
|
||||
password:
|
||||
from_secret: container_image_registry_password
|
||||
no_cache: true
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
|
||||
- name: notify
|
||||
image: docker.io/drillster/drone-email:latest
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
PLUGIN_USERNAME:
|
||||
from_secret: smtp_username
|
||||
PLUGIN_PASSWORD:
|
||||
from_secret: smtp_password
|
||||
PLUGIN_FROM:
|
||||
from_secret: smtp_mail_address
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- tag
|
||||
repo:
|
||||
- volker.raschek/postfixadmin-fetchmail-docker
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
@ -310,7 +618,7 @@ name: tagged-manifest
|
||||
|
||||
steps:
|
||||
- name: build-manifest
|
||||
image: plugins/manifest
|
||||
image: docker.io/plugins/manifest:latest
|
||||
settings:
|
||||
auto_tag: true
|
||||
ignore_missing: true
|
||||
@ -333,8 +641,8 @@ steps:
|
||||
from_secret: smtp_mail_address
|
||||
resources:
|
||||
limits:
|
||||
cpu: 50
|
||||
memory: 25M
|
||||
cpu: 150
|
||||
memory: 150M
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
@ -342,59 +650,11 @@ steps:
|
||||
|
||||
depends_on:
|
||||
- tagged-amd64
|
||||
- tagged-armv7
|
||||
- tagged-arm-v7
|
||||
- tagged-arm64-v8
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- tag
|
||||
repo:
|
||||
- volker.raschek/fetchmail-docker
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: kubernetes
|
||||
name: sync
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
- name: github
|
||||
image: docker.io/appleboy/drone-git-push:latest
|
||||
resources:
|
||||
limits:
|
||||
cpu: 50
|
||||
memory: 25M
|
||||
settings:
|
||||
branch: master
|
||||
remote: ssh://git@github.com/volker-raschek/fetchmail-docker.git
|
||||
force: true
|
||||
ssh_key:
|
||||
from_secret: ssh_key
|
||||
|
||||
- name: email-notification
|
||||
environment:
|
||||
PLUGIN_HOST:
|
||||
from_secret: smtp_host
|
||||
PLUGIN_USERNAME:
|
||||
from_secret: smtp_username
|
||||
PLUGIN_PASSWORD:
|
||||
from_secret: smtp_password
|
||||
PLUGIN_FROM:
|
||||
from_secret: smtp_mail_address
|
||||
image: docker.io/drillster/drone-email:latest
|
||||
resources:
|
||||
limits:
|
||||
cpu: 50
|
||||
memory: 25M
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- push
|
||||
repo:
|
||||
- volker.raschek/fetchmail-docker
|
||||
- volker.raschek/postfixadmin-fetchmail-docker
|
||||
|
@ -1,6 +1,7 @@
|
||||
FROM docker.io/library/alpine:3.11.2
|
||||
FROM docker.io/library/alpine:3.16.0
|
||||
|
||||
RUN echo "http://dl-3.alpinelinux.org/alpine/edge/testing/" >> /etc/apk/repositories
|
||||
RUN apk upgrade
|
||||
RUN apk add --update perl perl-lockfile-simple perl-dbi perl-dbd-pg perl-dbd-mysql fetchmail
|
||||
RUN mkdir --parents /run/fetchmail
|
||||
|
||||
|
2
Makefile
2
Makefile
@ -9,7 +9,7 @@ FETCHMAIL_IMAGE_REGISTRY_NAME:=docker.io
|
||||
FETCHMAIL_IMAGE_REGISTRY_USER:=volkerraschek
|
||||
|
||||
FETCHMAIL_IMAGE_NAMESPACE?=${FETCHMAIL_IMAGE_REGISTRY_USER}
|
||||
FETCHMAIL_IMAGE_NAME:=fetchmail
|
||||
FETCHMAIL_IMAGE_NAME:=postfixadmin-fetchmail
|
||||
FETCHMAIL_IMAGE_VERSION?=latest
|
||||
FETCHMAIL_IMAGE_FULLY_QUALIFIED=${FETCHMAIL_IMAGE_REGISTRY_NAME}/${FETCHMAIL_IMAGE_NAMESPACE}/${FETCHMAIL_IMAGE_NAME}:${FETCHMAIL_IMAGE_VERSION}
|
||||
FETCHMAIL_IMAGE_UNQUALIFIED=${FETCHMAIL_IMAGE_NAMESPACE}/${FETCHMAIL_IMAGE_NAME}:${FETCHMAIL_IMAGE_VERSION}
|
||||
|
61
README.md
61
README.md
@ -1,15 +1,17 @@
|
||||
# fetchmail-docker
|
||||
# PostfixAdmin's fetchmail
|
||||
|
||||
[](https://drone.cryptic.systems/volker.raschek/fetchmail-docker)
|
||||
[](https://hub.docker.com/r/volkerraschek/fetchmail)
|
||||
[](https://drone.cryptic.systems/volker.raschek/postfixadmin-fetchmail-docker)
|
||||
[](https://hub.docker.com/r/volkerraschek/postfixadmin-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.
|
||||
`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 database. As table the fetchmail table from the schema of
|
||||
[postfixadmin](https://github.com/postfixadmin/postfixadmin) is expected.
|
||||
a supported database backend of
|
||||
[postfixadmin](https://github.com/postfixadmin/postfixadmin). The information
|
||||
are stored in the table `fetchmail` of the database scheme of PostfixAdmin.
|
||||
|
||||
## Usage
|
||||
|
||||
@ -25,6 +27,7 @@ $ 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 \
|
||||
@ -39,6 +42,7 @@ $ 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 \
|
||||
@ -62,18 +66,47 @@ services:
|
||||
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
|
||||
## Environment variables
|
||||
|
||||
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.
|
||||
### DATABASE_TYPE
|
||||
|
||||
```bash
|
||||
make container-image/build
|
||||
```
|
||||
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.
|
||||
|
@ -1,12 +1,14 @@
|
||||
version: "3"
|
||||
services:
|
||||
fetchmail:
|
||||
container_name: fetchmail
|
||||
image: volkerraschek/fetchmail-docker:latest
|
||||
postfixadmin-fetchmail:
|
||||
container_name: postfixadmin-fetchmail
|
||||
image: docker.io/volkerraschek/postfixadmin-fetchmail:latest
|
||||
environment:
|
||||
- DATABASE_TYPE=${DATABASE_TYPE}
|
||||
- DATABASE_HOST=${DATABASE_HOST}
|
||||
- DATABASE_NAME=${DATABASE_NAME}
|
||||
- DATABASE_USER=${DATABASE_USER}
|
||||
- DATABASE_PASSWORD=${DATABASE_PASSWORD}
|
||||
- DATABASE_HOST=${DATABASE_HOST}
|
||||
- DATABASE_PORT=${DATABASE_PORT}
|
||||
- DATABASE_NAME=${DATABASE_NAME}
|
||||
network_mode: host
|
||||
privileged: true
|
||||
|
17
fetchmail.pl
17
fetchmail.pl
@ -15,10 +15,11 @@ use LockFile::Simple qw(lock trylock unlock);
|
||||
|
||||
# database backend - uncomment one of these
|
||||
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_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
|
||||
# just use perl syntax there to fill the variables listed above (without the "our" keyword). Example:
|
||||
@ -34,7 +35,7 @@ openlog("fetchmail-all", "pid", "mail");
|
||||
|
||||
sub log_and_die {
|
||||
my($message) = @_;
|
||||
syslog("err", $message);
|
||||
printf "err: %s\n", $message;
|
||||
die $message;
|
||||
}
|
||||
|
||||
@ -60,7 +61,7 @@ if (-e $configfile) {
|
||||
}
|
||||
|
||||
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 {
|
||||
log_and_die "unsupported db_type $db_type";
|
||||
}
|
||||
@ -89,7 +90,7 @@ my (%config);
|
||||
map{
|
||||
my ($id,$mailbox,$src_server,$src_auth,$src_user,$src_password,$src_folder,$fetchall,$keep,$protocol,$mda,$extra_options,$usessl,$sslcertck,$sslcertpath,$sslfingerprint)=@$_;
|
||||
|
||||
syslog("info","fetch ${src_user}@${src_server} for ${mailbox}");
|
||||
printf "info: fetch %s@%s for %s\n", ${src_user}, ${src_server}, ${mailbox};
|
||||
|
||||
$cmd="user '${src_user}' there with password '".decode_base64($src_password)."'";
|
||||
$cmd.=" folder '${src_folder}'" if ($src_folder);
|
||||
@ -111,7 +112,8 @@ set postmaster "postmaster"
|
||||
set nobouncemail
|
||||
set no spambounce
|
||||
set properties ""
|
||||
set syslog
|
||||
set no syslog
|
||||
set logfile /dev/stdout
|
||||
|
||||
poll ${src_server} with proto ${protocol}
|
||||
$cmd
|
||||
@ -128,6 +130,9 @@ TXT
|
||||
|
||||
$sql="UPDATE fetchmail SET returned_text=".$dbh->quote($ret).", date=now() WHERE id=".$id;
|
||||
$dbh->do($sql);
|
||||
|
||||
printf "info: fetched mails of %s@%s for %s\n", ${src_user}, ${src_server}, ${mailbox};
|
||||
|
||||
}@{$dbh->selectall_arrayref($sql)};
|
||||
|
||||
$lockmgr->unlock($lock_file);
|
||||
|
@ -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}}
|
||||
tags:
|
||||
{{#each build.tags}}
|
||||
@ -8,13 +8,19 @@ tags:
|
||||
{{/if}}
|
||||
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:
|
||||
architecture: amd64
|
||||
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}}-arm-v7
|
||||
platform:
|
||||
architecture: arm
|
||||
os: linux
|
||||
variant: v7
|
||||
-
|
||||
image: volkerraschek/postfixadmin-fetchmail:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-arm64-v8
|
||||
platform:
|
||||
architecture: arm64
|
||||
os: linux
|
||||
variant: v8
|
17
renovate.json
Normal file
17
renovate.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"assignees": [ "volker.raschek" ],
|
||||
"automergeStrategy": "merge-commit",
|
||||
"automergeType": "pr",
|
||||
"labels": [ "renovate" ],
|
||||
"packageRules": [
|
||||
{
|
||||
"addLabels": [ "renovate/droneci", "renovate/automerge" ],
|
||||
"automerge": true,
|
||||
"matchManagers": "droneci",
|
||||
"matchUpdateTypes": [ "minor", "patch"]
|
||||
}
|
||||
],
|
||||
"rebaseLabel": "renovate/rebase",
|
||||
"rebaseWhen": "behind-base-branch"
|
||||
}
|
Reference in New Issue
Block a user