22 Commits

Author SHA1 Message Date
0f84feeb5f fix: getHostname error in docker-compose
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-14 20:02:15 +02:00
4ec1a2311b chore(deps): update dependency docker.io/library/alpine to v3.16.0 2022-07-14 20:02:15 +02:00
16f30737f2 fix(ci): resource limits
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2022-05-22 13:10:28 +02:00
c33ffca552 fix(ci): use fully qualified image name
All checks were successful
continuous-integration/drone/push Build is passing
2022-05-22 13:02:39 +02:00
25b57f99be fix(ci): use gitea to sync repo with github
All checks were successful
continuous-integration/drone/push Build is passing
2022-05-03 17:48:47 +02:00
163eb5c4ea Merge pull request 'chore(deps): update dependency docker.io/library/alpine to v3.15.4' (#6) from renovate/docker.io-library-alpine-3.x into master
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #6
2022-04-15 21:27:53 +00:00
0cb5db3c50 chore(deps): update dependency docker.io/library/alpine to v3.15.4
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-04-05 02:04:19 +02:00
c37d202e25 Merge pull request 'chore(deps): update dependency docker.io/library/alpine to v3.15.3' (#5) from renovate/docker.io-library-alpine-3.x into master
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #5
2022-04-01 19:00:14 +00:00
5acd0eb4df chore(deps): update dependency docker.io/library/alpine to v3.15.3
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-03-29 09:02:29 +02:00
7f72f0349a Merge pull request 'chore(deps): update dependency docker.io/library/alpine to v3.15.1' (#4) from renovate/docker.io-library-alpine-3.x into master
Reviewed-on: #4
2022-03-17 17:58:22 +00:00
f66d5d0327 chore(deps): update dependency docker.io/library/alpine to v3.15.1
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-03-17 04:02:37 +01:00
4afa9a27ed chore(deps): update docker.io/volkerraschek/markdownlint docker tag to v0.31.1
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-02-09 19:33:26 +00:00
906f520730 fix(ci): add package rules
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-30 18:21:16 +01:00
c1736289c5 Merge pull request 'chore(deps): update docker.io/volkerraschek/markdownlint docker tag to v0.30.0' (#2) from renovate/docker.io-volkerraschek-markdownlint-0.x into master
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #2
2022-01-25 21:18:30 +00:00
eea2724aea chore(deps): update docker.io/volkerraschek/markdownlint docker tag to v0.30.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-01-25 21:01:53 +00:00
3fdf46a523 chore(deps): update docker.io/library/alpine docker tag to v3.15.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-01-25 20:39:56 +00:00
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 364 additions and 93 deletions

View File

@@ -5,17 +5,16 @@ name: linter
platform:
os: linux
arch: amd64
steps:
- name: markdown lint
commands:
- markdownlint *.md
image: docker.io/volkerraschek/markdownlint:0.29.0
image: docker.io/volkerraschek/markdownlint:0.31.1
resources:
limits:
cpu: 50
memory: 50M
cpu: 150
memory: 150M
- name: email-notification
environment:
@@ -30,8 +29,8 @@ steps:
image: docker.io/drillster/drone-email:latest
resources:
limits:
cpu: 50
memory: 25M
cpu: 150
memory: 150M
when:
status:
- changed
@@ -42,6 +41,189 @@ trigger:
exclude:
- tag
---
kind: pipeline
type: docker
name: dry-run-amd64
platform:
os: linux
arch: amd64
steps:
- name: build
image: docker.io/plugins/docker:latest
settings:
dockerfile: Dockerfile
auto_tag: false
dry_run: true
tags: latest-amd64
repo: volkerraschek/postfixadmin-fetchmail
username:
from_secret: container_image_registry_user
password:
from_secret: container_image_registry_password
no_cache: true
volumes:
- name: docker_socket
path: /var/run/docker.sock
- name: notify
image: docker.io/drillster/drone-email:latest
environment:
PLUGIN_HOST:
from_secret: smtp_host
PLUGIN_USERNAME:
from_secret: smtp_username
PLUGIN_PASSWORD:
from_secret: smtp_password
PLUGIN_FROM:
from_secret: smtp_mail_address
when:
status:
- changed
- failure
volumes:
- name: docker_socket
host:
path: /var/run/docker.sock
depends_on:
- linter
trigger:
branch:
exclude:
- master
event:
- pull_request
- push
repo:
- volker.raschek/postfixadmin-fetchmail-docker
---
kind: pipeline
type: docker
name: dry-run-arm-v7
platform:
os: linux
arch: arm
steps:
- name: build
image: docker.io/plugins/docker:latest
settings:
dockerfile: Dockerfile
auto_tag: false
dry_run: true
tags: latest-arm-v7
repo: volkerraschek/postfixadmin-fetchmail
username:
from_secret: container_image_registry_user
password:
from_secret: container_image_registry_password
no_cache: true
- name: notify
image: docker.io/drillster/drone-email:latest
environment:
PLUGIN_HOST:
from_secret: smtp_host
PLUGIN_USERNAME:
from_secret: smtp_username
PLUGIN_PASSWORD:
from_secret: smtp_password
PLUGIN_FROM:
from_secret: smtp_mail_address
volumes:
- name: docker_socket
path: /var/run/docker.sock
when:
status:
- changed
- failure
volumes:
- name: docker_socket
host:
path: /var/run/docker.sock
depends_on:
- linter
trigger:
branch:
exclude:
- master
event:
- pull_request
- push
repo:
- volker.raschek/postfixadmin-fetchmail-docker
---
kind: pipeline
type: docker
name: dry-run-arm64-v8
platform:
os: linux
arch: arm64
steps:
- name: build
image: docker.io/plugins/docker:latest
settings:
dockerfile: Dockerfile
auto_tag: false
dry_run: true
tags: latest-arm64-v8
repo: volkerraschek/postfixadmin-fetchmail
username:
from_secret: container_image_registry_user
password:
from_secret: container_image_registry_password
no_cache: true
- name: notify
image: docker.io/drillster/drone-email:latest
environment:
PLUGIN_HOST:
from_secret: smtp_host
PLUGIN_USERNAME:
from_secret: smtp_username
PLUGIN_PASSWORD:
from_secret: smtp_password
PLUGIN_FROM:
from_secret: smtp_mail_address
volumes:
- name: docker_socket
path: /var/run/docker.sock
when:
status:
- changed
- failure
volumes:
- name: docker_socket
host:
path: /var/run/docker.sock
depends_on:
- linter
trigger:
branch:
exclude:
- master
event:
- pull_request
- push
repo:
- volker.raschek/postfixadmin-fetchmail-docker
---
kind: pipeline
type: docker
@@ -53,7 +235,7 @@ platform:
steps:
- name: build
image: plugins/docker
image: docker.io/plugins/docker:latest
settings:
dockerfile: Dockerfile
auto_tag: false
@@ -69,7 +251,7 @@ steps:
path: /var/run/docker.sock
- name: notify
image: drillster/drone-email
image: docker.io/drillster/drone-email:latest
environment:
PLUGIN_HOST:
from_secret: smtp_host
@@ -104,7 +286,7 @@ trigger:
---
kind: pipeline
type: docker
name: latest-armv7
name: latest-arm-v7
platform:
os: linux
@@ -112,11 +294,11 @@ platform:
steps:
- name: build
image: plugins/docker
image: docker.io/plugins/docker:latest
settings:
dockerfile: Dockerfile
auto_tag: false
tags: latest-armv7
tags: latest-arm-v7
repo: volkerraschek/postfixadmin-fetchmail
username:
from_secret: container_image_registry_user
@@ -125,7 +307,66 @@ steps:
no_cache: true
- name: notify
image: drillster/drone-email
image: docker.io/drillster/drone-email:latest
environment:
PLUGIN_HOST:
from_secret: smtp_host
PLUGIN_USERNAME:
from_secret: smtp_username
PLUGIN_PASSWORD:
from_secret: smtp_password
PLUGIN_FROM:
from_secret: smtp_mail_address
volumes:
- name: docker_socket
path: /var/run/docker.sock
when:
status:
- changed
- failure
volumes:
- name: docker_socket
host:
path: /var/run/docker.sock
depends_on:
- linter
trigger:
branch:
- master
event:
- cron
- push
repo:
- volker.raschek/postfixadmin-fetchmail-docker
---
kind: pipeline
type: docker
name: latest-arm64-v8
platform:
os: linux
arch: arm64
steps:
- name: build
image: docker.io/plugins/docker:latest
settings:
dockerfile: Dockerfile
auto_tag: false
tags: latest-arm64-v8
repo: volkerraschek/postfixadmin-fetchmail
username:
from_secret: container_image_registry_user
password:
from_secret: container_image_registry_password
no_cache: true
- name: notify
image: docker.io/drillster/drone-email:latest
environment:
PLUGIN_HOST:
from_secret: smtp_host
@@ -167,7 +408,7 @@ name: latest-manifest
steps:
- name: build-manifest
image: plugins/manifest
image: docker.io/plugins/manifest:latest
settings:
auto_tag: false
ignore_missing: true
@@ -190,8 +431,8 @@ steps:
from_secret: smtp_mail_address
resources:
limits:
cpu: 50
memory: 25M
cpu: 150
memory: 150M
when:
status:
- changed
@@ -199,7 +440,8 @@ steps:
depends_on:
- latest-amd64
- latest-armv7
- latest-arm-v7
- latest-arm64-v8
trigger:
branch:
@@ -221,7 +463,7 @@ platform:
steps:
- name: build
image: plugins/docker
image: docker.io/plugins/docker:latest
settings:
dockerfile: Dockerfile
auto_tag: true
@@ -237,7 +479,7 @@ steps:
path: /var/run/docker.sock
- name: notify
image: drillster/drone-email
image: docker.io/drillster/drone-email:latest
environment:
PLUGIN_HOST:
from_secret: smtp_host
@@ -266,7 +508,7 @@ trigger:
---
kind: pipeline
type: docker
name: tagged-armv7
name: tagged-arm-v7
platform:
os: linux
@@ -274,11 +516,11 @@ platform:
steps:
- name: build
image: plugins/docker
image: docker.io/plugins/docker:latest
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
@@ -290,7 +532,60 @@ steps:
path: /var/run/docker.sock
- name: notify
image: drillster/drone-email
image: docker.io/drillster/drone-email:latest
environment:
PLUGIN_HOST:
from_secret: smtp_host
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: docker.io/plugins/docker:latest
settings:
dockerfile: Dockerfile
auto_tag: true
auto_tag_suffix: arm64-v8
repo: volkerraschek/postfixadmin-fetchmail
username:
from_secret: container_image_registry_user
password:
from_secret: container_image_registry_password
no_cache: true
volumes:
- name: docker_socket
path: /var/run/docker.sock
- name: notify
image: docker.io/drillster/drone-email:latest
environment:
PLUGIN_HOST:
from_secret: smtp_host
@@ -323,7 +618,7 @@ name: tagged-manifest
steps:
- name: build-manifest
image: plugins/manifest
image: docker.io/plugins/manifest:latest
settings:
auto_tag: true
ignore_missing: true
@@ -346,8 +641,8 @@ steps:
from_secret: smtp_mail_address
resources:
limits:
cpu: 50
memory: 25M
cpu: 150
memory: 150M
when:
status:
- changed
@@ -355,65 +650,11 @@ steps:
depends_on:
- tagged-amd64
- tagged-armv7
- tagged-arm-v7
- tagged-arm64-v8
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

View File

@@ -1,6 +1,7 @@
FROM docker.io/library/alpine:3.11.2
FROM docker.io/library/alpine:3.16.0
RUN echo "http://dl-3.alpinelinux.org/alpine/edge/testing/" >> /etc/apk/repositories
RUN apk upgrade
RUN apk add --update perl perl-lockfile-simple perl-dbi perl-dbd-pg perl-dbd-mysql fetchmail
RUN mkdir --parents /run/fetchmail

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,14 @@
version: "3"
services:
fetchmail:
container_name: fetchmail
image: volkerraschek/fetchmail-docker:latest
postfixadmin-fetchmail:
container_name: postfixadmin-fetchmail
image: docker.io/volkerraschek/postfixadmin-fetchmail:latest
environment:
- DATABASE_TYPE=${DATABASE_TYPE}
- DATABASE_HOST=${DATABASE_HOST}
- DATABASE_NAME=${DATABASE_NAME}
- DATABASE_USER=${DATABASE_USER}
- DATABASE_PASSWORD=${DATABASE_PASSWORD}
- DATABASE_HOST=${DATABASE_HOST}
- DATABASE_PORT=${DATABASE_PORT}
- DATABASE_NAME=${DATABASE_NAME}
network_mode: host
privileged: true

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

17
renovate.json Normal file
View File

@@ -0,0 +1,17 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"assignees": [ "volker.raschek" ],
"automergeStrategy": "merge-commit",
"automergeType": "pr",
"labels": [ "renovate" ],
"packageRules": [
{
"addLabels": [ "renovate/droneci", "renovate/automerge" ],
"automerge": true,
"matchManagers": "droneci",
"matchUpdateTypes": [ "minor", "patch"]
}
],
"rebaseLabel": "renovate/rebase",
"rebaseWhen": "behind-base-branch"
}