6 Commits

Author SHA1 Message Date
dd3c1184d6 fix(ci): build armv7 and aarch64 images
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-25 21:32:31 +01:00
c0a6f5c8f5 fix: add renovate config
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-22 00:02:23 +01:00
b5692c03d9 fix: database port
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-21 23:32:09 +01:00
fe8bf5d73c fix(Makefile): use official container image name 2022-01-21 23:31:15 +01:00
feee56b98c fix(Dockerfile): upgrade packages 2022-01-21 23:30:45 +01:00
d6536071ef fix: log to stdout 2022-01-21 23:30:28 +01:00
7 changed files with 334 additions and 18 deletions

View File

@@ -5,7 +5,6 @@ name: linter
platform:
os: linux
arch: amd64
steps:
- name: markdown lint
@@ -42,6 +41,189 @@ trigger:
exclude:
- tag
---
kind: pipeline
type: docker
name: dry-run-amd64
platform:
os: linux
arch: amd64
steps:
- name: build
image: plugins/docker
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: 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:
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: plugins/docker
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: 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:
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: plugins/docker
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: 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:
exclude:
- master
event:
- pull_request
- push
repo:
- volker.raschek/postfixadmin-fetchmail-docker
---
kind: pipeline
type: docker
@@ -104,7 +286,7 @@ trigger:
---
kind: pipeline
type: docker
name: latest-armv7
name: latest-arm-v7
platform:
os: linux
@@ -116,7 +298,66 @@ steps:
settings:
dockerfile: Dockerfile
auto_tag: false
tags: latest-armv7
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: 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: docker
name: latest-arm64-v8
platform:
os: linux
arch: arm64
steps:
- name: build
image: plugins/docker
settings:
dockerfile: Dockerfile
auto_tag: false
tags: latest-arm64-v8
repo: volkerraschek/postfixadmin-fetchmail
username:
from_secret: container_image_registry_user
@@ -199,7 +440,8 @@ steps:
depends_on:
- latest-amd64
- latest-armv7
- latest-arm-v7
- latest-arm64-v8
trigger:
branch:
@@ -266,7 +508,7 @@ trigger:
---
kind: pipeline
type: docker
name: tagged-armv7
name: tagged-arm-v7
platform:
os: linux
@@ -278,7 +520,60 @@ steps:
settings:
dockerfile: Dockerfile
auto_tag: true
auto_tag_suffix: armv7
auto_tag_suffix: arm-v7
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-arm64-v8
platform:
os: linux
arch: arm64
steps:
- name: build
image: plugins/docker
settings:
dockerfile: Dockerfile
auto_tag: true
auto_tag_suffix: arm64-v8
repo: volkerraschek/postfixadmin-fetchmail
username:
from_secret: container_image_registry_user
@@ -355,7 +650,8 @@ steps:
depends_on:
- tagged-amd64
- tagged-armv7
- tagged-arm-v7
- tagged-arm64-v8
trigger:
event:

View File

@@ -1,6 +1,7 @@
FROM docker.io/library/alpine:3.11.2
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

View File

@@ -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}

View File

@@ -1,12 +1,13 @@
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

View File

@@ -35,7 +35,7 @@ openlog("fetchmail-all", "pid", "mail");
sub log_and_die {
my($message) = @_;
syslog("err", $message);
printf "err: %s\n", $message;
die $message;
}
@@ -90,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);
@@ -112,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
@@ -129,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);

View File

@@ -13,8 +13,14 @@ manifests:
architecture: amd64
os: linux
-
image: volkerraschek/postfixadmin-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
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

8
renovate.json Normal file
View File

@@ -0,0 +1,8 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"automerge": true,
"automergeStrategy": "merge-commit",
"automergeType": "pr",
"rebaseLabel": "renovate/rebase",
"rebaseWhen": "behind-base-branch"
}