Compare commits
127 Commits
Author | SHA1 | Date | |
---|---|---|---|
48ce847f5d | |||
1d644eb04e | |||
72c3ce23a9 | |||
73d410c297 | |||
c1298a4318 | |||
93ebf3b0bc | |||
9d72017cea | |||
461c55068e | |||
7c0379ec6c | |||
5929a14316 | |||
4b7f92ecd9 | |||
71e995d550 | |||
da8b8847f8 | |||
9ced798278 | |||
014f281acb | |||
73709298dd | |||
6862261060 | |||
211d40ea91 | |||
49160e50fd | |||
36f03b80c7 | |||
15f00a19a6 | |||
afcffc3da9 | |||
85add0fdcb | |||
6eab47d426 | |||
ae1fc7a20b | |||
c84f8f0714 | |||
228aee5b8e | |||
4ac9144623 | |||
59948526ea | |||
aefb7c2fce | |||
eafd9feb77 | |||
2e72f7e5e4 | |||
f234e72b59 | |||
261ed66cfd | |||
b35714c60c | |||
e292ed0951 | |||
1567554ecf | |||
f19e86a088 | |||
244a389bcd | |||
737ef07605 | |||
82cb191271 | |||
b71799d60e | |||
054f89955a | |||
df6d528640 | |||
95374d36bd | |||
71d28ec0ab | |||
04df683517 | |||
7974b3fb4b | |||
444d4a63f4 | |||
3e9ddc466e | |||
5a7921e2ab | |||
cef394400e | |||
b557cc77f9 | |||
4de892e6c3 | |||
314a181537 | |||
d99bdabaca | |||
58bb2827fe | |||
9a7db82272 | |||
468349f121 | |||
9ddc331d51 | |||
0f77db675a | |||
1534b29728 | |||
6ed8695600 | |||
3b4f12f596 | |||
c23251eedb | |||
65aaf19b6c | |||
ca1cce0a36 | |||
8c8fbdbd93 | |||
703a6ac3a9 | |||
e1f0493129 | |||
0265f7b392 | |||
b4d95c7549 | |||
ba8ccb0a9f | |||
93e783ce1b | |||
efb73b731a | |||
d8572c7316 | |||
6e275a82e1 | |||
75958cc30c | |||
29ca174296 | |||
1eb6d5e397 | |||
4dee9e7174 | |||
6674230f94 | |||
afe01bfa9a | |||
e59bae8972 | |||
17e293a19e | |||
15434e11a5 | |||
3ea7a0830f | |||
2bbe333e33 | |||
89d8e88450 | |||
8542126e77 | |||
76f05709ea | |||
4b125b40b5 | |||
a0b9f6202c | |||
922bd139d9 | |||
8ff66b34fd | |||
6094939993 | |||
895bca842b | |||
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 |
646
.drone.yml
646
.drone.yml
@ -3,35 +3,42 @@ kind: pipeline
|
|||||||
type: kubernetes
|
type: kubernetes
|
||||||
name: linter
|
name: linter
|
||||||
|
|
||||||
|
clone:
|
||||||
|
disable: true
|
||||||
|
|
||||||
platform:
|
platform:
|
||||||
os: linux
|
os: linux
|
||||||
arch: amd64
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- name: clone
|
||||||
|
image: git.cryptic.systems/volker.raschek/git:1.4.0
|
||||||
|
|
||||||
- name: markdown lint
|
- name: markdown lint
|
||||||
commands:
|
commands:
|
||||||
- markdownlint *.md
|
- markdownlint *.md
|
||||||
image: docker.io/volkerraschek/markdownlint:0.28.1
|
image: git.cryptic.systems/volker.raschek/markdownlint:0.43.0
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpu: 50
|
cpu: 150
|
||||||
memory: 50M
|
memory: 150M
|
||||||
|
|
||||||
- name: email-notification
|
- name: email-notification
|
||||||
environment:
|
environment:
|
||||||
PLUGIN_HOST:
|
SMTP_FROM_ADDRESS:
|
||||||
|
from_secret: smtp_from_address
|
||||||
|
SMTP_FROM_NAME:
|
||||||
|
from_secret: smtp_from_name
|
||||||
|
SMTP_HOST:
|
||||||
from_secret: smtp_host
|
from_secret: smtp_host
|
||||||
PLUGIN_USERNAME:
|
SMTP_USERNAME:
|
||||||
from_secret: smtp_username
|
from_secret: smtp_username
|
||||||
PLUGIN_PASSWORD:
|
SMTP_PASSWORD:
|
||||||
from_secret: smtp_password
|
from_secret: smtp_password
|
||||||
PLUGIN_FROM:
|
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
|
||||||
from_secret: smtp_mail_address
|
|
||||||
image: docker.io/drillster/drone-email:latest
|
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpu: 50
|
cpu: 150
|
||||||
memory: 25M
|
memory: 150M
|
||||||
when:
|
when:
|
||||||
status:
|
status:
|
||||||
- changed
|
- changed
|
||||||
@ -41,353 +48,612 @@ trigger:
|
|||||||
event:
|
event:
|
||||||
exclude:
|
exclude:
|
||||||
- tag
|
- tag
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: dry-run-amd64
|
||||||
|
|
||||||
|
clone:
|
||||||
|
disable: true
|
||||||
|
|
||||||
|
depends_on:
|
||||||
|
- linter
|
||||||
|
|
||||||
|
platform:
|
||||||
|
os: linux
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: clone
|
||||||
|
image: git.cryptic.systems/volker.raschek/git:1.4.0
|
||||||
|
|
||||||
|
- name: build
|
||||||
|
image: docker.io/plugins/docker:20.18.6
|
||||||
|
settings:
|
||||||
|
auto_tag: false
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
dry_run: true
|
||||||
|
force_tag: true
|
||||||
|
no_cache: true
|
||||||
|
purge: true
|
||||||
|
mirror:
|
||||||
|
from_secret: docker_io_mirror
|
||||||
|
registry: git.cryptic.systems
|
||||||
|
repo: git.cryptic.systems/volker.raschek/postfixadmin-fetchmail
|
||||||
|
tags: latest-amd64
|
||||||
|
username:
|
||||||
|
from_secret: git_cryptic_systems_container_registry_user
|
||||||
|
password:
|
||||||
|
from_secret: git_cryptic_systems_container_registry_password
|
||||||
|
|
||||||
|
- name: email-notification
|
||||||
|
environment:
|
||||||
|
SMTP_FROM_ADDRESS:
|
||||||
|
from_secret: smtp_from_address
|
||||||
|
SMTP_FROM_NAME:
|
||||||
|
from_secret: smtp_from_name
|
||||||
|
SMTP_HOST:
|
||||||
|
from_secret: smtp_host
|
||||||
|
SMTP_USERNAME:
|
||||||
|
from_secret: smtp_username
|
||||||
|
SMTP_PASSWORD:
|
||||||
|
from_secret: smtp_password
|
||||||
|
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
|
||||||
|
when:
|
||||||
|
status:
|
||||||
|
- changed
|
||||||
|
- failure
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
branch:
|
||||||
|
exclude:
|
||||||
|
- master
|
||||||
|
event:
|
||||||
|
- pull_request
|
||||||
|
- push
|
||||||
|
repo:
|
||||||
|
- volker.raschek/postfixadmin-fetchmail-docker
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: dry-run-arm64-v8
|
||||||
|
|
||||||
|
clone:
|
||||||
|
disable: true
|
||||||
|
|
||||||
|
depends_on:
|
||||||
|
- linter
|
||||||
|
|
||||||
|
platform:
|
||||||
|
os: linux
|
||||||
|
arch: arm64
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: clone
|
||||||
|
image: git.cryptic.systems/volker.raschek/git:1.4.0
|
||||||
|
|
||||||
|
- name: build
|
||||||
|
image: docker.io/plugins/docker:20.18.6
|
||||||
|
settings:
|
||||||
|
auto_tag: false
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
dry_run: true
|
||||||
|
force_tag: true
|
||||||
|
no_cache: true
|
||||||
|
purge: true
|
||||||
|
mirror:
|
||||||
|
from_secret: docker_io_mirror
|
||||||
|
registry: git.cryptic.systems
|
||||||
|
repo: git.cryptic.systems/volker.raschek/postfixadmin-fetchmail
|
||||||
|
tags: latest-arm64-v8
|
||||||
|
username:
|
||||||
|
from_secret: git_cryptic_systems_container_registry_user
|
||||||
|
password:
|
||||||
|
from_secret: git_cryptic_systems_container_registry_password
|
||||||
|
|
||||||
|
- name: email-notification
|
||||||
|
environment:
|
||||||
|
SMTP_FROM_ADDRESS:
|
||||||
|
from_secret: smtp_from_address
|
||||||
|
SMTP_FROM_NAME:
|
||||||
|
from_secret: smtp_from_name
|
||||||
|
SMTP_HOST:
|
||||||
|
from_secret: smtp_host
|
||||||
|
SMTP_USERNAME:
|
||||||
|
from_secret: smtp_username
|
||||||
|
SMTP_PASSWORD:
|
||||||
|
from_secret: smtp_password
|
||||||
|
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
|
||||||
|
when:
|
||||||
|
status:
|
||||||
|
- changed
|
||||||
|
- failure
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
branch:
|
||||||
|
exclude:
|
||||||
|
- master
|
||||||
|
event:
|
||||||
|
- pull_request
|
||||||
|
- push
|
||||||
|
repo:
|
||||||
|
- volker.raschek/postfixadmin-fetchmail-docker
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: docker
|
type: docker
|
||||||
name: latest-amd64
|
name: latest-amd64
|
||||||
|
|
||||||
|
clone:
|
||||||
|
disable: true
|
||||||
|
|
||||||
|
depends_on:
|
||||||
|
- linter
|
||||||
|
|
||||||
platform:
|
platform:
|
||||||
os: linux
|
os: linux
|
||||||
arch: amd64
|
arch: amd64
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build
|
- name: clone
|
||||||
image: plugins/docker
|
image: git.cryptic.systems/volker.raschek/git:1.4.0
|
||||||
settings:
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
auto_tag: false
|
|
||||||
tags: latest-amd64
|
|
||||||
repo: volkerraschek/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
|
|
||||||
when:
|
|
||||||
branch:
|
|
||||||
- master
|
|
||||||
|
|
||||||
- name: notify
|
- name: build
|
||||||
image: drillster/drone-email
|
image: docker.io/plugins/docker:20.18.6
|
||||||
|
settings:
|
||||||
|
auto_tag: false
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
force_tag: true
|
||||||
|
no_cache: true
|
||||||
|
purge: true
|
||||||
|
mirror:
|
||||||
|
from_secret: docker_io_mirror
|
||||||
|
registry: git.cryptic.systems
|
||||||
|
repo: git.cryptic.systems/volker.raschek/postfixadmin-fetchmail
|
||||||
|
tags: latest-amd64
|
||||||
|
username:
|
||||||
|
from_secret: git_cryptic_systems_container_registry_user
|
||||||
|
password:
|
||||||
|
from_secret: git_cryptic_systems_container_registry_password
|
||||||
|
|
||||||
|
- name: email-notification
|
||||||
environment:
|
environment:
|
||||||
PLUGIN_HOST:
|
SMTP_FROM_ADDRESS:
|
||||||
|
from_secret: smtp_from_address
|
||||||
|
SMTP_FROM_NAME:
|
||||||
|
from_secret: smtp_from_name
|
||||||
|
SMTP_HOST:
|
||||||
from_secret: smtp_host
|
from_secret: smtp_host
|
||||||
PLUGIN_USERNAME:
|
SMTP_USERNAME:
|
||||||
from_secret: smtp_username
|
from_secret: smtp_username
|
||||||
PLUGIN_PASSWORD:
|
SMTP_PASSWORD:
|
||||||
from_secret: smtp_password
|
from_secret: smtp_password
|
||||||
PLUGIN_FROM:
|
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
|
||||||
from_secret: smtp_mail_address
|
|
||||||
when:
|
when:
|
||||||
status:
|
status:
|
||||||
- changed
|
- changed
|
||||||
- failure
|
- failure
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
host:
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
|
branch:
|
||||||
|
- master
|
||||||
event:
|
event:
|
||||||
exclude:
|
- cron
|
||||||
- tag
|
- push
|
||||||
|
repo:
|
||||||
|
- volker.raschek/postfixadmin-fetchmail-docker
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: docker
|
type: docker
|
||||||
name: latest-armv7
|
name: latest-arm64-v8
|
||||||
|
|
||||||
|
clone:
|
||||||
|
disable: true
|
||||||
|
|
||||||
|
depends_on:
|
||||||
|
- linter
|
||||||
|
|
||||||
platform:
|
platform:
|
||||||
os: linux
|
os: linux
|
||||||
arch: arm
|
arch: arm64
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build
|
- name: clone
|
||||||
image: plugins/docker
|
image: git.cryptic.systems/volker.raschek/git:1.4.0
|
||||||
settings:
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
auto_tag: false
|
|
||||||
tags: latest-armv7
|
|
||||||
repo: volkerraschek/fetchmail
|
|
||||||
username:
|
|
||||||
from_secret: container_image_registry_user
|
|
||||||
password:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
no_cache: true
|
|
||||||
when:
|
|
||||||
branch:
|
|
||||||
- master
|
|
||||||
|
|
||||||
- name: notify
|
- name: build
|
||||||
image: drillster/drone-email
|
image: docker.io/plugins/docker:20.18.6
|
||||||
|
settings:
|
||||||
|
auto_tag: false
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
force_tag: true
|
||||||
|
no_cache: true
|
||||||
|
purge: true
|
||||||
|
mirror:
|
||||||
|
from_secret: docker_io_mirror
|
||||||
|
registry: git.cryptic.systems
|
||||||
|
repo: git.cryptic.systems/volker.raschek/postfixadmin-fetchmail
|
||||||
|
tags: latest-arm64-v8
|
||||||
|
username:
|
||||||
|
from_secret: git_cryptic_systems_container_registry_user
|
||||||
|
password:
|
||||||
|
from_secret: git_cryptic_systems_container_registry_password
|
||||||
|
|
||||||
|
- name: email-notification
|
||||||
environment:
|
environment:
|
||||||
PLUGIN_HOST:
|
SMTP_FROM_ADDRESS:
|
||||||
|
from_secret: smtp_from_address
|
||||||
|
SMTP_FROM_NAME:
|
||||||
|
from_secret: smtp_from_name
|
||||||
|
SMTP_HOST:
|
||||||
from_secret: smtp_host
|
from_secret: smtp_host
|
||||||
PLUGIN_USERNAME:
|
SMTP_USERNAME:
|
||||||
from_secret: smtp_username
|
from_secret: smtp_username
|
||||||
PLUGIN_PASSWORD:
|
SMTP_PASSWORD:
|
||||||
from_secret: smtp_password
|
from_secret: smtp_password
|
||||||
PLUGIN_FROM:
|
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
|
||||||
from_secret: smtp_mail_address
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
when:
|
when:
|
||||||
status:
|
status:
|
||||||
- changed
|
- changed
|
||||||
- failure
|
- failure
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
host:
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
|
branch:
|
||||||
|
- master
|
||||||
event:
|
event:
|
||||||
exclude:
|
- cron
|
||||||
- tag
|
- push
|
||||||
|
repo:
|
||||||
|
- volker.raschek/postfixadmin-fetchmail-docker
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: kubernetes
|
type: kubernetes
|
||||||
name: latest-manifest
|
name: latest-manifest
|
||||||
|
|
||||||
|
clone:
|
||||||
|
disable: true
|
||||||
|
|
||||||
|
depends_on:
|
||||||
|
- latest-amd64
|
||||||
|
- latest-arm64-v8
|
||||||
|
|
||||||
|
# docker.io/plugins/manifest only for amd64 architectures available
|
||||||
|
node_selector:
|
||||||
|
kubernetes.io/os: linux
|
||||||
|
kubernetes.io/arch: amd64
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- name: clone
|
||||||
|
image: git.cryptic.systems/volker.raschek/git:1.4.0
|
||||||
|
|
||||||
- name: build-manifest
|
- name: build-manifest
|
||||||
image: plugins/manifest
|
image: docker.io/plugins/manifest:1.4.0
|
||||||
settings:
|
settings:
|
||||||
auto_tag: false
|
auto_tag: false
|
||||||
ignore_missing: true
|
ignore_missing: true
|
||||||
spec: manifest.tmpl
|
spec: manifest.tmpl
|
||||||
username:
|
username:
|
||||||
from_secret: container_image_registry_user
|
from_secret: git_cryptic_systems_container_registry_user
|
||||||
password:
|
password:
|
||||||
from_secret: container_image_registry_password
|
from_secret: git_cryptic_systems_container_registry_password
|
||||||
|
|
||||||
- name: notify
|
- name: email-notification
|
||||||
image: docker.io/drillster/drone-email:latest
|
|
||||||
environment:
|
environment:
|
||||||
PLUGIN_HOST:
|
SMTP_FROM_ADDRESS:
|
||||||
|
from_secret: smtp_from_address
|
||||||
|
SMTP_FROM_NAME:
|
||||||
|
from_secret: smtp_from_name
|
||||||
|
SMTP_HOST:
|
||||||
from_secret: smtp_host
|
from_secret: smtp_host
|
||||||
PLUGIN_USERNAME:
|
SMTP_USERNAME:
|
||||||
from_secret: smtp_username
|
from_secret: smtp_username
|
||||||
PLUGIN_PASSWORD:
|
SMTP_PASSWORD:
|
||||||
from_secret: smtp_password
|
from_secret: smtp_password
|
||||||
PLUGIN_FROM:
|
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
|
||||||
from_secret: smtp_mail_address
|
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpu: 50
|
cpu: 150
|
||||||
memory: 25M
|
memory: 150M
|
||||||
when:
|
when:
|
||||||
status:
|
status:
|
||||||
- changed
|
- changed
|
||||||
- failure
|
- failure
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
branch:
|
||||||
|
- master
|
||||||
|
event:
|
||||||
|
- cron
|
||||||
|
- push
|
||||||
|
repo:
|
||||||
|
- volker.raschek/postfixadmin-fetchmail-docker
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: kubernetes
|
||||||
|
name: latest-sync
|
||||||
|
|
||||||
|
clone:
|
||||||
|
disable: true
|
||||||
|
|
||||||
depends_on:
|
depends_on:
|
||||||
- latest-amd64
|
- latest-manifest
|
||||||
- latest-armv7
|
|
||||||
|
steps:
|
||||||
|
- name: clone
|
||||||
|
image: git.cryptic.systems/volker.raschek/git:1.4.0
|
||||||
|
|
||||||
|
- name: latest-sync
|
||||||
|
commands:
|
||||||
|
- skopeo sync --all --src=docker --src-creds=$SRC_CRED_USERNAME:$SRC_CRED_PASSWORD --dest=docker --dest-creds=$DEST_CRED_USERNAME:$DEST_CRED_PASSWORD git.cryptic.systems/volker.raschek/postfixadmin-fetchmail docker.io/volkerraschek
|
||||||
|
environment:
|
||||||
|
SRC_CRED_USERNAME:
|
||||||
|
from_secret: git_cryptic_systems_container_registry_user
|
||||||
|
SRC_CRED_PASSWORD:
|
||||||
|
from_secret: git_cryptic_systems_container_registry_password
|
||||||
|
DEST_CRED_USERNAME:
|
||||||
|
from_secret: container_image_registry_user
|
||||||
|
DEST_CRED_PASSWORD:
|
||||||
|
from_secret: container_image_registry_password
|
||||||
|
image: quay.io/skopeo/stable:v1.18.0
|
||||||
|
|
||||||
|
- name: email-notification
|
||||||
|
environment:
|
||||||
|
SMTP_FROM_ADDRESS:
|
||||||
|
from_secret: smtp_from_address
|
||||||
|
SMTP_FROM_NAME:
|
||||||
|
from_secret: smtp_from_name
|
||||||
|
SMTP_HOST:
|
||||||
|
from_secret: smtp_host
|
||||||
|
SMTP_USERNAME:
|
||||||
|
from_secret: smtp_username
|
||||||
|
SMTP_PASSWORD:
|
||||||
|
from_secret: smtp_password
|
||||||
|
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 150
|
||||||
|
memory: 150M
|
||||||
|
when:
|
||||||
|
status:
|
||||||
|
- changed
|
||||||
|
- failure
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
|
branch:
|
||||||
|
- master
|
||||||
event:
|
event:
|
||||||
exclude:
|
- cron
|
||||||
- tag
|
- push
|
||||||
|
repo:
|
||||||
|
- volker.raschek/postfixadmin-fetchmail-docker
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: docker
|
type: docker
|
||||||
name: tagged-amd64
|
name: tagged-amd64
|
||||||
|
|
||||||
|
clone:
|
||||||
|
disable: true
|
||||||
|
|
||||||
platform:
|
platform:
|
||||||
os: linux
|
os: linux
|
||||||
arch: amd64
|
arch: amd64
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- name: clone
|
||||||
|
image: git.cryptic.systems/volker.raschek/git:1.4.0
|
||||||
|
|
||||||
- name: build
|
- name: build
|
||||||
image: plugins/docker
|
image: docker.io/plugins/docker:20.18.6
|
||||||
settings:
|
settings:
|
||||||
dockerfile: Dockerfile
|
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
auto_tag_suffix: amd64
|
auto_tag_suffix: amd64
|
||||||
repo: volkerraschek/fetchmail
|
dockerfile: Dockerfile
|
||||||
username:
|
force_tag: true
|
||||||
from_secret: container_image_registry_user
|
|
||||||
password:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
no_cache: true
|
no_cache: true
|
||||||
volumes:
|
purge: true
|
||||||
- name: docker_socket
|
mirror:
|
||||||
path: /var/run/docker.sock
|
from_secret: docker_io_mirror
|
||||||
|
registry: git.cryptic.systems
|
||||||
|
repo: git.cryptic.systems/volker.raschek/postfixadmin-fetchmail
|
||||||
|
username:
|
||||||
|
from_secret: git_cryptic_systems_container_registry_user
|
||||||
|
password:
|
||||||
|
from_secret: git_cryptic_systems_container_registry_password
|
||||||
|
|
||||||
- name: notify
|
- name: email-notification
|
||||||
image: drillster/drone-email
|
|
||||||
environment:
|
environment:
|
||||||
PLUGIN_HOST:
|
SMTP_FROM_ADDRESS:
|
||||||
|
from_secret: smtp_from_address
|
||||||
|
SMTP_FROM_NAME:
|
||||||
|
from_secret: smtp_from_name
|
||||||
|
SMTP_HOST:
|
||||||
from_secret: smtp_host
|
from_secret: smtp_host
|
||||||
PLUGIN_USERNAME:
|
SMTP_USERNAME:
|
||||||
from_secret: smtp_username
|
from_secret: smtp_username
|
||||||
PLUGIN_PASSWORD:
|
SMTP_PASSWORD:
|
||||||
from_secret: smtp_password
|
from_secret: smtp_password
|
||||||
PLUGIN_FROM:
|
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
|
||||||
from_secret: smtp_mail_address
|
|
||||||
when:
|
when:
|
||||||
status:
|
status:
|
||||||
- changed
|
- changed
|
||||||
- failure
|
- failure
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
host:
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
repo:
|
repo:
|
||||||
- volker.raschek/fetchmail-docker
|
- volker.raschek/postfixadmin-fetchmail-docker
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: docker
|
type: docker
|
||||||
name: tagged-armv7
|
name: tagged-arm64-v8
|
||||||
|
|
||||||
|
clone:
|
||||||
|
disable: true
|
||||||
|
|
||||||
platform:
|
platform:
|
||||||
os: linux
|
os: linux
|
||||||
arch: arm
|
arch: arm64
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build
|
- name: clone
|
||||||
image: plugins/docker
|
image: git.cryptic.systems/volker.raschek/git:1.4.0
|
||||||
settings:
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
auto_tag: true
|
|
||||||
auto_tag_suffix: armv7
|
|
||||||
repo: volkerraschek/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
|
- name: build
|
||||||
image: drillster/drone-email
|
image: docker.io/plugins/docker:20.18.6
|
||||||
|
settings:
|
||||||
|
auto_tag: true
|
||||||
|
auto_tag_suffix: arm64-v8
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
force_tag: true
|
||||||
|
no_cache: true
|
||||||
|
purge: true
|
||||||
|
mirror:
|
||||||
|
from_secret: docker_io_mirror
|
||||||
|
registry: git.cryptic.systems
|
||||||
|
repo: git.cryptic.systems/volker.raschek/postfixadmin-fetchmail
|
||||||
|
username:
|
||||||
|
from_secret: git_cryptic_systems_container_registry_user
|
||||||
|
password:
|
||||||
|
from_secret: git_cryptic_systems_container_registry_password
|
||||||
|
|
||||||
|
- name: email-notification
|
||||||
environment:
|
environment:
|
||||||
PLUGIN_HOST:
|
SMTP_FROM_ADDRESS:
|
||||||
|
from_secret: smtp_from_address
|
||||||
|
SMTP_FROM_NAME:
|
||||||
|
from_secret: smtp_from_name
|
||||||
|
SMTP_HOST:
|
||||||
from_secret: smtp_host
|
from_secret: smtp_host
|
||||||
PLUGIN_USERNAME:
|
SMTP_USERNAME:
|
||||||
from_secret: smtp_username
|
from_secret: smtp_username
|
||||||
PLUGIN_PASSWORD:
|
SMTP_PASSWORD:
|
||||||
from_secret: smtp_password
|
from_secret: smtp_password
|
||||||
PLUGIN_FROM:
|
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
|
||||||
from_secret: smtp_mail_address
|
|
||||||
when:
|
when:
|
||||||
status:
|
status:
|
||||||
- changed
|
- changed
|
||||||
- failure
|
- failure
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
host:
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
repo:
|
repo:
|
||||||
- volker.raschek/fetchmail-docker
|
- volker.raschek/postfixadmin-fetchmail-docker
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: kubernetes
|
type: kubernetes
|
||||||
name: tagged-manifest
|
name: tagged-manifest
|
||||||
|
|
||||||
|
clone:
|
||||||
|
disable: true
|
||||||
|
|
||||||
|
depends_on:
|
||||||
|
- tagged-amd64
|
||||||
|
- tagged-arm64-v8
|
||||||
|
|
||||||
|
# docker.io/plugins/manifest only for amd64 architectures available
|
||||||
|
node_selector:
|
||||||
|
kubernetes.io/os: linux
|
||||||
|
kubernetes.io/arch: amd64
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- name: clone
|
||||||
|
image: git.cryptic.systems/volker.raschek/git:1.4.0
|
||||||
|
|
||||||
- name: build-manifest
|
- name: build-manifest
|
||||||
image: plugins/manifest
|
image: docker.io/plugins/manifest:1.4.0
|
||||||
settings:
|
settings:
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
ignore_missing: true
|
ignore_missing: true
|
||||||
spec: manifest.tmpl
|
spec: manifest.tmpl
|
||||||
username:
|
username:
|
||||||
from_secret: container_image_registry_user
|
from_secret: git_cryptic_systems_container_registry_user
|
||||||
password:
|
password:
|
||||||
from_secret: container_image_registry_password
|
from_secret: git_cryptic_systems_container_registry_password
|
||||||
|
|
||||||
- name: notify
|
- name: email-notification
|
||||||
image: docker.io/drillster/drone-email:latest
|
|
||||||
environment:
|
environment:
|
||||||
PLUGIN_HOST:
|
SMTP_FROM_ADDRESS:
|
||||||
|
from_secret: smtp_from_address
|
||||||
|
SMTP_FROM_NAME:
|
||||||
|
from_secret: smtp_from_name
|
||||||
|
SMTP_HOST:
|
||||||
from_secret: smtp_host
|
from_secret: smtp_host
|
||||||
PLUGIN_USERNAME:
|
SMTP_USERNAME:
|
||||||
from_secret: smtp_username
|
from_secret: smtp_username
|
||||||
PLUGIN_PASSWORD:
|
SMTP_PASSWORD:
|
||||||
from_secret: smtp_password
|
from_secret: smtp_password
|
||||||
PLUGIN_FROM:
|
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
|
||||||
from_secret: smtp_mail_address
|
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpu: 50
|
cpu: 150
|
||||||
memory: 25M
|
memory: 150M
|
||||||
when:
|
when:
|
||||||
status:
|
status:
|
||||||
- changed
|
- changed
|
||||||
- failure
|
- failure
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- tagged-amd64
|
|
||||||
- tagged-armv7
|
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
repo:
|
repo:
|
||||||
- volker.raschek/fetchmail-docker
|
- volker.raschek/postfixadmin-fetchmail-docker
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: kubernetes
|
type: kubernetes
|
||||||
name: sync
|
name: tagged-sync
|
||||||
|
|
||||||
platform:
|
clone:
|
||||||
os: linux
|
disable: true
|
||||||
arch: amd64
|
|
||||||
|
depends_on:
|
||||||
|
- tagged-manifest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: github
|
- name: clone
|
||||||
image: docker.io/appleboy/drone-git-push:latest
|
image: git.cryptic.systems/volker.raschek/git:1.4.0
|
||||||
resources:
|
|
||||||
limits:
|
- name: tagged-sync
|
||||||
cpu: 50
|
commands:
|
||||||
memory: 25M
|
- skopeo sync --all --src=docker --src-creds=$SRC_CRED_USERNAME:$SRC_CRED_PASSWORD --dest=docker --dest-creds=$DEST_CRED_USERNAME:$DEST_CRED_PASSWORD git.cryptic.systems/volker.raschek/postfixadmin-fetchmail docker.io/volkerraschek
|
||||||
settings:
|
environment:
|
||||||
branch: master
|
SRC_CRED_USERNAME:
|
||||||
remote: ssh://git@github.com/volker-raschek/fetchmail-docker.git
|
from_secret: git_cryptic_systems_container_registry_user
|
||||||
force: true
|
SRC_CRED_PASSWORD:
|
||||||
ssh_key:
|
from_secret: git_cryptic_systems_container_registry_password
|
||||||
from_secret: ssh_key
|
DEST_CRED_USERNAME:
|
||||||
|
from_secret: container_image_registry_user
|
||||||
|
DEST_CRED_PASSWORD:
|
||||||
|
from_secret: container_image_registry_password
|
||||||
|
image: quay.io/skopeo/stable:v1.18.0
|
||||||
|
|
||||||
- name: email-notification
|
- name: email-notification
|
||||||
environment:
|
environment:
|
||||||
PLUGIN_HOST:
|
SMTP_FROM_ADDRESS:
|
||||||
|
from_secret: smtp_from_address
|
||||||
|
SMTP_FROM_NAME:
|
||||||
|
from_secret: smtp_from_name
|
||||||
|
SMTP_HOST:
|
||||||
from_secret: smtp_host
|
from_secret: smtp_host
|
||||||
PLUGIN_USERNAME:
|
SMTP_USERNAME:
|
||||||
from_secret: smtp_username
|
from_secret: smtp_username
|
||||||
PLUGIN_PASSWORD:
|
SMTP_PASSWORD:
|
||||||
from_secret: smtp_password
|
from_secret: smtp_password
|
||||||
PLUGIN_FROM:
|
image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
|
||||||
from_secret: smtp_mail_address
|
|
||||||
image: docker.io/drillster/drone-email:latest
|
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpu: 50
|
cpu: 150
|
||||||
memory: 25M
|
memory: 150M
|
||||||
when:
|
when:
|
||||||
status:
|
status:
|
||||||
- changed
|
- changed
|
||||||
@ -395,6 +661,6 @@ steps:
|
|||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
event:
|
event:
|
||||||
- push
|
- tag
|
||||||
repo:
|
repo:
|
||||||
- volker.raschek/fetchmail-docker
|
- volker.raschek/postfixadmin-fetchmail-docker
|
||||||
|
24
Dockerfile
24
Dockerfile
@ -1,12 +1,28 @@
|
|||||||
FROM docker.io/library/alpine:3.11.2
|
FROM docker.io/library/alpine:3.21.3
|
||||||
|
|
||||||
|
# The file /etc/apk/repositories contains a list of the apk repositories. By
|
||||||
|
# default contains this file a list of the stable repositories pointing to the
|
||||||
|
# alpine version.
|
||||||
|
#
|
||||||
|
# Some perl packages are not part of the stable repositories. For this reason
|
||||||
|
# are the repositories switched to edge to access directly the latest versions
|
||||||
|
# of this apk packages.
|
||||||
|
#
|
||||||
|
# Using stable and edge at the same time is not allowed. For more information,
|
||||||
|
# take a look into the documentation of the edge repository.
|
||||||
|
#
|
||||||
|
# https://wiki.alpinelinux.org/wiki/Repositories#Edge
|
||||||
|
RUN echo "https://dl-cdn.alpinelinux.org/alpine/edge/main" > /etc/apk/repositories
|
||||||
|
RUN echo "https://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories
|
||||||
|
|
||||||
|
# Install packages
|
||||||
|
RUN apk upgrade && \
|
||||||
|
apk add --update perl perl-lockfile-simple perl-dbi perl-dbd-pg perl-dbd-mysql fetchmail
|
||||||
|
|
||||||
RUN echo "http://dl-3.alpinelinux.org/alpine/edge/testing/" >> /etc/apk/repositories
|
|
||||||
RUN apk add --update perl perl-lockfile-simple perl-dbi perl-dbd-pg perl-dbd-mysql fetchmail
|
|
||||||
RUN mkdir --parents /run/fetchmail
|
RUN mkdir --parents /run/fetchmail
|
||||||
|
|
||||||
COPY --chown=fetchmail:fetchmail fetchmail.pl /usr/local/bin/fetchmail.pl
|
COPY --chown=fetchmail:fetchmail fetchmail.pl /usr/local/bin/fetchmail.pl
|
||||||
|
|
||||||
USER fetchmail
|
USER fetchmail
|
||||||
|
|
||||||
ENTRYPOINT [ "/usr/bin/perl" ]
|
|
||||||
CMD [ "/usr/local/bin/fetchmail.pl" ]
|
CMD [ "/usr/local/bin/fetchmail.pl" ]
|
38
Makefile
38
Makefile
@ -1,47 +1,45 @@
|
|||||||
# CONTAINER_RUNTIME
|
# PODMAN_BIN's and tools
|
||||||
# The CONTAINER_RUNTIME variable will be used to specified the path to a
|
PODMAN_BIN?=$(shell which podman)
|
||||||
# container runtime. This is needed to start and run a container image.
|
|
||||||
CONTAINER_RUNTIME?=$(shell which docker)
|
|
||||||
|
|
||||||
# FETCHMAIL_IMAGE_REGISTRY_NAME
|
# FETCHMAIL_IMAGE
|
||||||
# Defines the name of the new container to be built using several variables.
|
FETCHMAIL_IMAGE_REGISTRY_HOST?=git.cryptic.systems
|
||||||
FETCHMAIL_IMAGE_REGISTRY_NAME:=docker.io
|
FETCHMAIL_IMAGE_REPOSITORY?=volker.raschek/postfixadmin-fetchmail
|
||||||
FETCHMAIL_IMAGE_REGISTRY_USER:=volkerraschek
|
|
||||||
|
|
||||||
FETCHMAIL_IMAGE_NAMESPACE?=${FETCHMAIL_IMAGE_REGISTRY_USER}
|
|
||||||
FETCHMAIL_IMAGE_NAME:=fetchmail
|
|
||||||
FETCHMAIL_IMAGE_VERSION?=latest
|
FETCHMAIL_IMAGE_VERSION?=latest
|
||||||
FETCHMAIL_IMAGE_FULLY_QUALIFIED=${FETCHMAIL_IMAGE_REGISTRY_NAME}/${FETCHMAIL_IMAGE_NAMESPACE}/${FETCHMAIL_IMAGE_NAME}:${FETCHMAIL_IMAGE_VERSION}
|
FETCHMAIL_IMAGE_FULLY_QUALIFIED=${FETCHMAIL_IMAGE_REGISTRY_HOST}/${FETCHMAIL_IMAGE_REPOSITORY}:${FETCHMAIL_IMAGE_VERSION}
|
||||||
FETCHMAIL_IMAGE_UNQUALIFIED=${FETCHMAIL_IMAGE_NAMESPACE}/${FETCHMAIL_IMAGE_NAME}:${FETCHMAIL_IMAGE_VERSION}
|
|
||||||
|
|
||||||
# BUILD CONTAINER IMAGE
|
# BUILD CONTAINER IMAGE
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
PHONY:=container-image/build
|
PHONY:=container-image/build
|
||||||
container-image/build:
|
container-image/build:
|
||||||
${CONTAINER_RUNTIME} build \
|
${PODMAN_BIN} build \
|
||||||
--file Dockerfile \
|
--file Dockerfile \
|
||||||
--no-cache \
|
--no-cache \
|
||||||
--pull \
|
--pull \
|
||||||
--tag ${FETCHMAIL_IMAGE_FULLY_QUALIFIED} \
|
--tag ${FETCHMAIL_IMAGE_FULLY_QUALIFIED} \
|
||||||
--tag ${FETCHMAIL_IMAGE_UNQUALIFIED} \
|
|
||||||
.
|
.
|
||||||
|
|
||||||
# DELETE CONTAINER IMAGE
|
# DELETE CONTAINER IMAGE
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
PHONY:=container-image/delete
|
PHONY:=container-image/delete
|
||||||
container-image/delete:
|
container-image/delete:
|
||||||
- ${CONTAINER_RUNTIME} image rm ${FETCHMAIL_IMAGE_FULLY_QUALIFIED} ${FETCHMAIL_IMAGE_UNQUALIFIED}
|
- ${PODMAN_BIN} image rm ${FETCHMAIL_IMAGE_FULLY_QUALIFIED}
|
||||||
- ${CONTAINER_RUNTIME} image rm ${BASE_IMAGE_FULL}
|
|
||||||
|
|
||||||
# PUSH CONTAINER IMAGE
|
# PUSH CONTAINER IMAGE
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
PHONY+=container-image/push
|
PHONY+=container-image/push
|
||||||
container-image/push:
|
container-image/push:
|
||||||
echo ${FETCHMAIL_IMAGE_REGISTRY_PASSWORD} | ${CONTAINER_RUNTIME} login ${FETCHMAIL_IMAGE_REGISTRY_NAME} --username ${FETCHMAIL_IMAGE_REGISTRY_USER} --password-stdin
|
echo ${FETCHMAIL_IMAGE_REGISTRY_PASSWORD} | ${PODMAN_BIN} login ${FETCHMAIL_IMAGE_REGISTRY_HOST} --username ${FETCHMAIL_IMAGE_REGISTRY_USER} --password-stdin
|
||||||
${CONTAINER_RUNTIME} push ${FETCHMAIL_IMAGE_FULLY_QUALIFIED}
|
${PODMAN_BIN} push ${FETCHMAIL_IMAGE_FULLY_QUALIFIED}
|
||||||
|
${PODMAN_BIN} logout ${FETCHMAIL_IMAGE_REGISTRY_HOST}
|
||||||
|
|
||||||
|
# PUSH CONTAINER IMAGE TO DOCKER
|
||||||
|
# ==============================================================================
|
||||||
|
PHONY+=container-image/push-to-docker-daemon
|
||||||
|
container-image/push-to-docker-daemon:
|
||||||
|
${PODMAN_BIN} push ${FETCHMAIL_IMAGE_FULLY_QUALIFIED} docker-daemon:${FETCHMAIL_IMAGE_FULLY_QUALIFIED}
|
||||||
|
|
||||||
# PHONY
|
# PHONY
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
# Declare the contents of the PHONY variable as phony. We keep that information
|
# Declare the contents of the PHONY variable as phony. We keep that information
|
||||||
# in a variable so we can use it in if_changed.
|
# in a variable so we can use it in if_changed.
|
||||||
.PHONY: ${PHONY}
|
.PHONY: ${PHONY}
|
||||||
|
61
README.md
61
README.md
@ -1,15 +1,17 @@
|
|||||||
# fetchmail-docker
|
# PostfixAdmin's fetchmail
|
||||||
|
|
||||||
[](https://drone.cryptic.systems/volker.raschek/fetchmail-docker)
|
[](https://drone.cryptic.systems/volker.raschek/postfixadmin-fetchmail-docker)
|
||||||
[](https://hub.docker.com/r/volkerraschek/fetchmail)
|
[](https://hub.docker.com/r/volkerraschek/postfixadmin-fetchmail)
|
||||||
|
|
||||||
This project contains all sources to build the container image
|
This project contains all sources to build the container image
|
||||||
`docker.io/volkerraschek/fetchmail`. The primary goal of the image is to fetch
|
`docker.io/volkerraschek/postfixadmin-fetchmail`. The primary goal of the image
|
||||||
mails from external servers and forward them to on local running mail server.
|
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
|
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 +27,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 +42,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 +66,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.
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
version: "3"
|
version: "3"
|
||||||
services:
|
services:
|
||||||
fetchmail:
|
postfixadmin-fetchmail:
|
||||||
container_name: fetchmail
|
container_name: postfixadmin-fetchmail
|
||||||
image: volkerraschek/fetchmail-docker:latest
|
image: git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:latest
|
||||||
environment:
|
environment:
|
||||||
- DATABASE_TYPE=${DATABASE_TYPE}
|
- DATABASE_TYPE=${DATABASE_TYPE}
|
||||||
- DATABASE_HOST=${DATABASE_HOST}
|
|
||||||
- DATABASE_NAME=${DATABASE_NAME}
|
|
||||||
- DATABASE_USER=${DATABASE_USER}
|
- DATABASE_USER=${DATABASE_USER}
|
||||||
- DATABASE_PASSWORD=${DATABASE_PASSWORD}
|
- DATABASE_PASSWORD=${DATABASE_PASSWORD}
|
||||||
|
- DATABASE_HOST=${DATABASE_HOST}
|
||||||
|
- DATABASE_PORT=${DATABASE_PORT}
|
||||||
|
- DATABASE_NAME=${DATABASE_NAME}
|
||||||
network_mode: host
|
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
|
# 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:
|
||||||
@ -34,7 +35,7 @@ openlog("fetchmail-all", "pid", "mail");
|
|||||||
|
|
||||||
sub log_and_die {
|
sub log_and_die {
|
||||||
my($message) = @_;
|
my($message) = @_;
|
||||||
syslog("err", $message);
|
printf "err: %s\n", $message;
|
||||||
die $message;
|
die $message;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -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";
|
||||||
}
|
}
|
||||||
@ -89,7 +90,7 @@ my (%config);
|
|||||||
map{
|
map{
|
||||||
my ($id,$mailbox,$src_server,$src_auth,$src_user,$src_password,$src_folder,$fetchall,$keep,$protocol,$mda,$extra_options,$usessl,$sslcertck,$sslcertpath,$sslfingerprint)=@$_;
|
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="user '${src_user}' there with password '".decode_base64($src_password)."'";
|
||||||
$cmd.=" folder '${src_folder}'" if ($src_folder);
|
$cmd.=" folder '${src_folder}'" if ($src_folder);
|
||||||
@ -111,7 +112,8 @@ set postmaster "postmaster"
|
|||||||
set nobouncemail
|
set nobouncemail
|
||||||
set no spambounce
|
set no spambounce
|
||||||
set properties ""
|
set properties ""
|
||||||
set syslog
|
set no syslog
|
||||||
|
set logfile /dev/stdout
|
||||||
|
|
||||||
poll ${src_server} with proto ${protocol}
|
poll ${src_server} with proto ${protocol}
|
||||||
$cmd
|
$cmd
|
||||||
@ -128,6 +130,9 @@ TXT
|
|||||||
|
|
||||||
$sql="UPDATE fetchmail SET returned_text=".$dbh->quote($ret).", date=now() WHERE id=".$id;
|
$sql="UPDATE fetchmail SET returned_text=".$dbh->quote($ret).", date=now() WHERE id=".$id;
|
||||||
$dbh->do($sql);
|
$dbh->do($sql);
|
||||||
|
|
||||||
|
printf "info: fetched mails of %s@%s for %s\n", ${src_user}, ${src_server}, ${mailbox};
|
||||||
|
|
||||||
}@{$dbh->selectall_arrayref($sql)};
|
}@{$dbh->selectall_arrayref($sql)};
|
||||||
|
|
||||||
$lockmgr->unlock($lock_file);
|
$lockmgr->unlock($lock_file);
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
image: volkerraschek/fetchmail:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}
|
image: git.cryptic.systems/volker.raschek/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}}
|
||||||
@ -7,14 +7,12 @@ tags:
|
|||||||
- "latest"
|
- "latest"
|
||||||
{{/if}}
|
{{/if}}
|
||||||
manifests:
|
manifests:
|
||||||
-
|
- image: git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-amd64
|
||||||
image: volkerraschek/fetchmail:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-amd64
|
|
||||||
platform:
|
platform:
|
||||||
architecture: amd64
|
architecture: amd64
|
||||||
os: linux
|
os: linux
|
||||||
-
|
- image: git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-arm64-v8
|
||||||
image: volkerraschek/fetchmail:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-armv7
|
|
||||||
platform:
|
platform:
|
||||||
architecture: arm
|
architecture: arm64
|
||||||
os: linux
|
os: linux
|
||||||
variant: v7
|
variant: v8
|
9
renovate.json
Normal file
9
renovate.json
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||||
|
"extends": [
|
||||||
|
"local>volker.raschek/renovate-config:default#master",
|
||||||
|
"local>volker.raschek/renovate-config:container#master",
|
||||||
|
"local>volker.raschek/renovate-config:actions#master",
|
||||||
|
"local>volker.raschek/renovate-config:regexp#master"
|
||||||
|
]
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user