You've already forked postfixadmin-fetchmail-docker
Compare commits
124 Commits
Author | SHA1 | Date | |
---|---|---|---|
a2c255c46e
|
|||
bb60fec4af
|
|||
8ba171b7ba
|
|||
699dccaaec
|
|||
a9c48dc9fe
|
|||
bb070d0239
|
|||
55b4b19302
|
|||
0564b9c2e3
|
|||
e1015875ba
|
|||
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
|
419
.drone.yml
419
.drone.yml
@ -1,419 +0,0 @@
|
|||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: kubernetes
|
|
||||||
name: linter
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: amd64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: markdown lint
|
|
||||||
commands:
|
|
||||||
- markdownlint *.md
|
|
||||||
image: docker.io/volkerraschek/markdownlint:0.29.0
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 50
|
|
||||||
memory: 50M
|
|
||||||
|
|
||||||
- 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:
|
|
||||||
exclude:
|
|
||||||
- tag
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: latest-amd64
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: amd64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build
|
|
||||||
image: plugins/docker
|
|
||||||
settings:
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
auto_tag: false
|
|
||||||
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: drillster/drone-email
|
|
||||||
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:
|
|
||||||
- master
|
|
||||||
event:
|
|
||||||
- cron
|
|
||||||
- push
|
|
||||||
repo:
|
|
||||||
- volker.raschek/postfixadmin-fetchmail-docker
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: latest-armv7
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: arm
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build
|
|
||||||
image: plugins/docker
|
|
||||||
settings:
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
auto_tag: false
|
|
||||||
tags: latest-armv7
|
|
||||||
repo: volkerraschek/postfixadmin-fetchmail
|
|
||||||
username:
|
|
||||||
from_secret: container_image_registry_user
|
|
||||||
password:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
no_cache: true
|
|
||||||
|
|
||||||
- name: notify
|
|
||||||
image: drillster/drone-email
|
|
||||||
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
|
|
||||||
type: kubernetes
|
|
||||||
name: latest-manifest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build-manifest
|
|
||||||
image: plugins/manifest
|
|
||||||
settings:
|
|
||||||
auto_tag: false
|
|
||||||
ignore_missing: true
|
|
||||||
spec: manifest.tmpl
|
|
||||||
username:
|
|
||||||
from_secret: container_image_registry_user
|
|
||||||
password:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
|
|
||||||
- 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
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 50
|
|
||||||
memory: 25M
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- changed
|
|
||||||
- failure
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- latest-amd64
|
|
||||||
- latest-armv7
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
branch:
|
|
||||||
- master
|
|
||||||
event:
|
|
||||||
- cron
|
|
||||||
- push
|
|
||||||
repo:
|
|
||||||
- volker.raschek/postfixadmin-fetchmail-docker
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: tagged-amd64
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: amd64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build
|
|
||||||
image: plugins/docker
|
|
||||||
settings:
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
auto_tag: true
|
|
||||||
auto_tag_suffix: 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: drillster/drone-email
|
|
||||||
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
|
|
||||||
type: docker
|
|
||||||
name: tagged-armv7
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: arm
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build
|
|
||||||
image: plugins/docker
|
|
||||||
settings:
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
auto_tag: true
|
|
||||||
auto_tag_suffix: armv7
|
|
||||||
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: drillster/drone-email
|
|
||||||
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
|
|
||||||
type: kubernetes
|
|
||||||
name: tagged-manifest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build-manifest
|
|
||||||
image: plugins/manifest
|
|
||||||
settings:
|
|
||||||
auto_tag: true
|
|
||||||
ignore_missing: true
|
|
||||||
spec: manifest.tmpl
|
|
||||||
username:
|
|
||||||
from_secret: container_image_registry_user
|
|
||||||
password:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
|
|
||||||
- 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
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 50
|
|
||||||
memory: 25M
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- changed
|
|
||||||
- failure
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- tagged-amd64
|
|
||||||
- tagged-armv7
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
event:
|
|
||||||
- tag
|
|
||||||
repo:
|
|
||||||
- volker.raschek/postfixadmin-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/postfixadmin-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
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- latest-manifest
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
branch:
|
|
||||||
- master
|
|
||||||
event:
|
|
||||||
- cron
|
|
||||||
- push
|
|
||||||
repo:
|
|
||||||
- volker.raschek/postfixadmin-fetchmail-docker
|
|
49
.gitea/workflows/build.yaml
Normal file
49
.gitea/workflows/build.yaml
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
name: Build
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- reopened
|
||||||
|
- synchronize
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
workflow_dispatch: {}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-arm64:
|
||||||
|
runs-on: ubuntu-latest-arm64
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4.2.2
|
||||||
|
- uses: docker/setup-qemu-action@v3.6.0
|
||||||
|
- uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- name: Build image
|
||||||
|
run: |
|
||||||
|
TAG=latest
|
||||||
|
|
||||||
|
docker buildx build \
|
||||||
|
--platform linux/arm64 \
|
||||||
|
--file Dockerfile \
|
||||||
|
--provenance false \
|
||||||
|
--tag git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:${TAG}-arm64 \
|
||||||
|
.
|
||||||
|
|
||||||
|
build-amd64:
|
||||||
|
runs-on: ubuntu-latest-amd64
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4.2.2
|
||||||
|
- uses: docker/setup-qemu-action@v3.6.0
|
||||||
|
- uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- name: Build image
|
||||||
|
run: |
|
||||||
|
TAG=latest
|
||||||
|
|
||||||
|
docker buildx build \
|
||||||
|
--platform linux/amd64 \
|
||||||
|
--file Dockerfile \
|
||||||
|
--provenance false \
|
||||||
|
--tag git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:${TAG}-amd64 \
|
||||||
|
.
|
22
.gitea/workflows/markdown-linters.yaml
Normal file
22
.gitea/workflows/markdown-linters.yaml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
name: 'Lint Markdown files'
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- reopened
|
||||||
|
- synchronize
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
workflow_dispatch: {}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
markdown-lint:
|
||||||
|
runs-on:
|
||||||
|
- ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4.2.2
|
||||||
|
- uses: DavidAnson/markdownlint-cli2-action@v20.0.0
|
||||||
|
with:
|
||||||
|
globs: '**/*.md'
|
99
.gitea/workflows/release.yaml
Normal file
99
.gitea/workflows/release.yaml
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
name: Release
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- "**"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
push-arm64:
|
||||||
|
runs-on: ubuntu-latest-arm64
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4.2.2
|
||||||
|
- uses: docker/setup-qemu-action@v3.6.0
|
||||||
|
- uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: git.cryptic.systems
|
||||||
|
username: ${{ github.repository_owner }}
|
||||||
|
password: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }}
|
||||||
|
|
||||||
|
- name: Build and push image
|
||||||
|
run: |
|
||||||
|
TAG=$(echo ${{ github.ref_name }} | sed 's/v//gm')
|
||||||
|
|
||||||
|
docker buildx build \
|
||||||
|
--file Dockerfile \
|
||||||
|
--platform linux/arm64 \
|
||||||
|
--provenance false \
|
||||||
|
--push \
|
||||||
|
--tag git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:${TAG}-arm64 \
|
||||||
|
.
|
||||||
|
|
||||||
|
push-amd64:
|
||||||
|
runs-on: ubuntu-latest-amd64
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4.2.2
|
||||||
|
- uses: docker/setup-qemu-action@v3.6.0
|
||||||
|
- uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: git.cryptic.systems
|
||||||
|
username: ${{ github.repository_owner }}
|
||||||
|
password: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }}
|
||||||
|
|
||||||
|
- name: Build and push image
|
||||||
|
run: |
|
||||||
|
TAG=$(echo ${{ github.ref_name }} | sed 's/v//gm')
|
||||||
|
|
||||||
|
docker buildx build \
|
||||||
|
--file Dockerfile \
|
||||||
|
--platform linux/amd64 \
|
||||||
|
--provenance false \
|
||||||
|
--push \
|
||||||
|
--tag git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:${TAG}-amd64 \
|
||||||
|
.
|
||||||
|
|
||||||
|
push-manifest:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs:
|
||||||
|
- push-arm64
|
||||||
|
- push-amd64
|
||||||
|
steps:
|
||||||
|
- uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: git.cryptic.systems
|
||||||
|
username: ${{ github.repository_owner }}
|
||||||
|
password: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }}
|
||||||
|
|
||||||
|
- name: Create and push manifest
|
||||||
|
run: |
|
||||||
|
TAG=$(echo ${{ github.ref_name }} | sed 's/v//gm')
|
||||||
|
|
||||||
|
docker manifest create git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:${TAG} \
|
||||||
|
--amend git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:${TAG}-amd64 \
|
||||||
|
--amend git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:${TAG}-arm64
|
||||||
|
|
||||||
|
docker manifest push git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:${TAG}
|
||||||
|
|
||||||
|
sync-to-hub-docker-io:
|
||||||
|
needs:
|
||||||
|
- push-manifest
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Copy images to docker.io
|
||||||
|
run: |
|
||||||
|
TAG=$(echo ${{ github.ref_name }} | sed 's/v//gm')
|
||||||
|
|
||||||
|
apt-get update --yes
|
||||||
|
apt-get install --yes skopeo
|
||||||
|
skopeo copy \
|
||||||
|
--all \
|
||||||
|
--dest-password ${{ secrets.DOCKER_IO_PASSWORD }} \
|
||||||
|
--dest-username ${{ secrets.DOCKER_IO_USERNAME }} \
|
||||||
|
--src-password ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }} \
|
||||||
|
--src-username volker.raschek \
|
||||||
|
docker://git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:${TAG} \
|
||||||
|
docker://docker.io/volkerraschek/postfixadmin-fetchmail:${TAG}
|
22
.gitea/workflows/update-docker-hub-description.yaml
Normal file
22
.gitea/workflows/update-docker-hub-description.yaml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
name: Update Docker Hub Description
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths:
|
||||||
|
- README.md
|
||||||
|
workflow_dispatch: {}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update-description-on-hub-docker-io:
|
||||||
|
runs-on:
|
||||||
|
- ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4.2.2
|
||||||
|
- uses: peter-evans/dockerhub-description@v4.0.2
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_IO_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKER_IO_PASSWORD }}
|
||||||
|
repository: volkerraschek/postfixadmin-fetchmail
|
||||||
|
readme-filepath: README.md
|
@ -45,19 +45,17 @@ MD012:
|
|||||||
# MD013/line-length - Line length
|
# MD013/line-length - Line length
|
||||||
MD013:
|
MD013:
|
||||||
# Number of characters
|
# Number of characters
|
||||||
line_length: 80
|
line_length: 120
|
||||||
# Number of characters for headings
|
# Number of characters for headings
|
||||||
heading_line_length: 80
|
heading_line_length: 120
|
||||||
# Number of characters for code blocks
|
# Number of characters for code blocks
|
||||||
code_block_line_length: 80
|
code_block_line_length: 120
|
||||||
# Include code blocks
|
# Include code blocks
|
||||||
code_blocks: false
|
code_blocks: false
|
||||||
# Include tables
|
# Include tables
|
||||||
tables: false
|
tables: false
|
||||||
# Include headings
|
# Include headings
|
||||||
headings: true
|
headings: true
|
||||||
# Include headings
|
|
||||||
headers: true
|
|
||||||
# Strict length checking
|
# Strict length checking
|
||||||
strict: false
|
strict: false
|
||||||
# Stern length checking
|
# Stern length checking
|
||||||
@ -70,11 +68,6 @@ MD022:
|
|||||||
# Blank lines below heading
|
# Blank lines below heading
|
||||||
lines_below: 1
|
lines_below: 1
|
||||||
|
|
||||||
# MD024/no-duplicate-heading/no-duplicate-header - Multiple headings with the same content
|
|
||||||
MD024:
|
|
||||||
# Only check sibling headings
|
|
||||||
allow_different_nesting: true
|
|
||||||
|
|
||||||
# MD025/single-title/single-h1 - Multiple top-level headings in the same document
|
# MD025/single-title/single-h1 - Multiple top-level headings in the same document
|
||||||
MD025:
|
MD025:
|
||||||
# Heading level
|
# Heading level
|
||||||
@ -129,7 +122,6 @@ MD041:
|
|||||||
MD044:
|
MD044:
|
||||||
# List of proper names
|
# List of proper names
|
||||||
names: []
|
names: []
|
||||||
# - some-thing
|
|
||||||
# Include code blocks
|
# Include code blocks
|
||||||
code_blocks: false
|
code_blocks: false
|
||||||
|
|
||||||
|
25
Dockerfile
25
Dockerfile
@ -1,13 +1,28 @@
|
|||||||
FROM docker.io/library/alpine:3.11.2
|
FROM docker.io/library/alpine:3.22.1
|
||||||
|
|
||||||
|
# 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 upgrade
|
|
||||||
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" ]
|
36
Makefile
36
Makefile
@ -1,44 +1,42 @@
|
|||||||
# 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:=postfixadmin-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
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
|
57
README.md
57
README.md
@ -1,23 +1,19 @@
|
|||||||
# PostfixAdmin's fetchmail
|
# PostfixAdmin's fetchmail
|
||||||
|
|
||||||
[](https://drone.cryptic.systems/volker.raschek/postfixadmin-fetchmail-docker)
|
|
||||||
[](https://hub.docker.com/r/volkerraschek/postfixadmin-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/postfixadmin-fetchmail`. The primary goal of the image
|
`git.cryptic.systems/volker.raschek/postfixadmin-fetchmail`. The primary goal of the image is to fetch mails from
|
||||||
is to fetch mails from external servers and forward them to on local running
|
external servers and forward them to on local running mail server.
|
||||||
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 supported database backend of
|
||||||
a supported database backend of
|
[postfixadmin](https://github.com/postfixadmin/postfixadmin). The information are stored in the table `fetchmail` of the
|
||||||
[postfixadmin](https://github.com/postfixadmin/postfixadmin). The information
|
database scheme of PostfixAdmin.
|
||||||
are stored in the table `fetchmail` of the database scheme of PostfixAdmin.
|
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
Possible database types are `my` for MySQL and `Pg` for postgres. Make sure that
|
Possible database types are `my` for MySQL and `Pg` for postgres. Make sure that the database and the SMTP server are
|
||||||
the database and the SMTP server are accessible. Otherwise, adjust the enclosed
|
accessible. Otherwise, adjust the enclosed docker-compose or docker command accordingly. Alternatively you can use
|
||||||
docker-compose or docker command accordingly. Alternatively you can use
|
|
||||||
docker-compose in addition to the docker commands.
|
docker-compose in addition to the docker commands.
|
||||||
|
|
||||||
### PostgreSQL
|
### PostgreSQL
|
||||||
@ -32,7 +28,7 @@ $ docker run \
|
|||||||
--env DATABASE_USER: fetchmail \
|
--env DATABASE_USER: fetchmail \
|
||||||
--env DATABASE_PASSWORD: MySecretPassword \
|
--env DATABASE_PASSWORD: MySecretPassword \
|
||||||
--network host \
|
--network host \
|
||||||
volkerraschek/fetchmail:latest
|
git.cryptic.systems/volker.raschek/fetchmail:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
### MySQL
|
### MySQL
|
||||||
@ -47,22 +43,20 @@ $ docker run \
|
|||||||
--env DATABASE_USER: fetchmail \
|
--env DATABASE_USER: fetchmail \
|
||||||
--env DATABASE_PASSWORD: MySecretPassword \
|
--env DATABASE_PASSWORD: MySecretPassword \
|
||||||
--network host \
|
--network host \
|
||||||
volkerraschek/fetchmail:latest
|
git.cryptic.systems/volker.raschek/fetchmail:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
### docker-compose
|
### docker-compose
|
||||||
|
|
||||||
The repository contains a default `docker-compose.yml` file, which can be used
|
The repository contains a default `docker-compose.yml` file, which can be used to start the container. To set the
|
||||||
to start the container. To set the environment variables you need a `.env` file.
|
environment variables you need a `.env` file. The `.dev_env` from this repository can be used for this. This must be
|
||||||
The `.dev_env` from this repository can be used for this. This must be located
|
located exclusively in the same directory as the `docker-compose.yml` file and must be renamed as `.env`.
|
||||||
exclusively in the same directory as the `docker-compose.yml` file and must be
|
|
||||||
renamed as `.env`.
|
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
version: "3"
|
version: "3"
|
||||||
services:
|
services:
|
||||||
fetchmail:
|
fetchmail:
|
||||||
image: volkerraschek/fetchmail:latest
|
image: git.cryptic.systems/volker.raschek/fetchmail:latest
|
||||||
environment:
|
environment:
|
||||||
- DATABASE_TYPE=${DATABASE_TYPE}
|
- DATABASE_TYPE=${DATABASE_TYPE}
|
||||||
- DATABASE_HOST=${DATABASE_HOST}
|
- DATABASE_HOST=${DATABASE_HOST}
|
||||||
@ -77,9 +71,8 @@ services:
|
|||||||
|
|
||||||
### DATABASE_TYPE
|
### DATABASE_TYPE
|
||||||
|
|
||||||
Currently will be only postgres, mysql and mariadb supported. About the
|
Currently will be only postgres, mysql and mariadb supported. About the environment variable `DATABASE_TYPE` can the
|
||||||
environment variable `DATABASE_TYPE` can the backend type defined. The value is
|
backend type defined. The value is required.
|
||||||
required.
|
|
||||||
|
|
||||||
| database type | value |
|
| database type | value |
|
||||||
| ------------- | ----- |
|
| ------------- | ----- |
|
||||||
@ -88,25 +81,25 @@ required.
|
|||||||
|
|
||||||
### DATABASE_USER
|
### DATABASE_USER
|
||||||
|
|
||||||
The environment variable `DATABASE_USER` is undefined and required. The value
|
The environment variable `DATABASE_USER` is undefined and required. The value contains the database user which one
|
||||||
contains the database user which one fetchmail use to login.
|
fetchmail use to login.
|
||||||
|
|
||||||
### DATABASE_PASSWORD
|
### DATABASE_PASSWORD
|
||||||
|
|
||||||
The environment variable `DATABASE_PASSWORD` is undefined and required. The value
|
The environment variable `DATABASE_PASSWORD` is undefined and required. The value contains the password of the database
|
||||||
contains the password of the database user which one fetchmail use to login.
|
user which one fetchmail use to login.
|
||||||
|
|
||||||
### DATABASE_HOST
|
### DATABASE_HOST
|
||||||
|
|
||||||
The environment variable `DATABASE_HOST` is undefined and required. The value
|
The environment variable `DATABASE_HOST` is undefined and required. The value contains the DNS name or IP address of the
|
||||||
contains the DNS name or IP address of the host, where the database is hosted.
|
host, where the database is hosted.
|
||||||
|
|
||||||
### DATABASE_PORT
|
### DATABASE_PORT
|
||||||
|
|
||||||
The environment variable `DATABASE_PORT` is undefined and required. The value
|
The environment variable `DATABASE_PORT` is undefined and required. The value contains the port of the host, where the
|
||||||
contains the port of the host, where the database is listen on.
|
database is listen on.
|
||||||
|
|
||||||
### DATABASE_NAME
|
### DATABASE_NAME
|
||||||
|
|
||||||
The environment variable `DATABASE_NAME` is undefined and required. The value
|
The environment variable `DATABASE_NAME` is undefined and required. The value contains the name of the database against
|
||||||
contains the name of the database against which should be logged in.
|
which should be logged in.
|
||||||
|
@ -2,7 +2,7 @@ version: "3"
|
|||||||
services:
|
services:
|
||||||
postfixadmin-fetchmail:
|
postfixadmin-fetchmail:
|
||||||
container_name: postfixadmin-fetchmail
|
container_name: postfixadmin-fetchmail
|
||||||
image: docker.io/volkerraschek/postfixadmin-fetchmail:latest
|
image: git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:latest
|
||||||
environment:
|
environment:
|
||||||
- DATABASE_TYPE=${DATABASE_TYPE}
|
- DATABASE_TYPE=${DATABASE_TYPE}
|
||||||
- DATABASE_USER=${DATABASE_USER}
|
- DATABASE_USER=${DATABASE_USER}
|
||||||
@ -11,3 +11,4 @@ services:
|
|||||||
- DATABASE_PORT=${DATABASE_PORT}
|
- DATABASE_PORT=${DATABASE_PORT}
|
||||||
- DATABASE_NAME=${DATABASE_NAME}
|
- DATABASE_NAME=${DATABASE_NAME}
|
||||||
network_mode: host
|
network_mode: host
|
||||||
|
privileged: true
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
image: volkerraschek/postfixadmin-fetchmail:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}
|
|
||||||
{{#if build.tags}}
|
|
||||||
tags:
|
|
||||||
{{#each build.tags}}
|
|
||||||
- {{this}}
|
|
||||||
{{/each}}
|
|
||||||
- "latest"
|
|
||||||
{{/if}}
|
|
||||||
manifests:
|
|
||||||
-
|
|
||||||
image: volkerraschek/postfixadmin-fetchmail:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-amd64
|
|
||||||
platform:
|
|
||||||
architecture: amd64
|
|
||||||
os: linux
|
|
||||||
-
|
|
||||||
image: volkerraschek/postfixadmin-fetchmail:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-armv7
|
|
||||||
platform:
|
|
||||||
architecture: arm
|
|
||||||
os: linux
|
|
||||||
variant: v7
|
|
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"
|
||||||
|
]
|
||||||
|
}
|
Reference in New Issue
Block a user