You've already forked postfixadmin-fetchmail-docker
Compare commits
66 Commits
v0.1.1
...
58bb2827fe
Author | SHA1 | Date | |
---|---|---|---|
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
|
882
.drone.yml
882
.drone.yml
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,7 @@
|
|||||||
FROM docker.io/library/alpine:3.11.2
|
FROM docker.io/library/alpine:3.18.4
|
||||||
|
|
||||||
RUN echo "http://dl-3.alpinelinux.org/alpine/edge/testing/" >> /etc/apk/repositories
|
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 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
|
||||||
|
|
||||||
|
4
Makefile
4
Makefile
@ -1,7 +1,7 @@
|
|||||||
# CONTAINER_RUNTIME
|
# CONTAINER_RUNTIME
|
||||||
# The CONTAINER_RUNTIME variable will be used to specified the path to a
|
# The CONTAINER_RUNTIME variable will be used to specified the path to a
|
||||||
# container runtime. This is needed to start and run a container image.
|
# container runtime. This is needed to start and run a container image.
|
||||||
CONTAINER_RUNTIME?=$(shell which docker)
|
CONTAINER_RUNTIME?=$(shell which podman)
|
||||||
|
|
||||||
# FETCHMAIL_IMAGE_REGISTRY_NAME
|
# FETCHMAIL_IMAGE_REGISTRY_NAME
|
||||||
# Defines the name of the new container to be built using several variables.
|
# Defines the name of the new container to be built using several variables.
|
||||||
@ -9,7 +9,7 @@ FETCHMAIL_IMAGE_REGISTRY_NAME:=docker.io
|
|||||||
FETCHMAIL_IMAGE_REGISTRY_USER:=volkerraschek
|
FETCHMAIL_IMAGE_REGISTRY_USER:=volkerraschek
|
||||||
|
|
||||||
FETCHMAIL_IMAGE_NAMESPACE?=${FETCHMAIL_IMAGE_REGISTRY_USER}
|
FETCHMAIL_IMAGE_NAMESPACE?=${FETCHMAIL_IMAGE_REGISTRY_USER}
|
||||||
FETCHMAIL_IMAGE_NAME:=fetchmail
|
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_NAME}/${FETCHMAIL_IMAGE_NAMESPACE}/${FETCHMAIL_IMAGE_NAME}:${FETCHMAIL_IMAGE_VERSION}
|
||||||
FETCHMAIL_IMAGE_UNQUALIFIED=${FETCHMAIL_IMAGE_NAMESPACE}/${FETCHMAIL_IMAGE_NAME}:${FETCHMAIL_IMAGE_VERSION}
|
FETCHMAIL_IMAGE_UNQUALIFIED=${FETCHMAIL_IMAGE_NAMESPACE}/${FETCHMAIL_IMAGE_NAME}:${FETCHMAIL_IMAGE_VERSION}
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
# PostfixAdmin's fetchmail
|
# 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 supported database backend of
|
a supported database backend of
|
||||||
|
@ -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: docker.io/volkerraschek/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
|
||||||
|
10
fetchmail.pl
10
fetchmail.pl
@ -35,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;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,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);
|
||||||
@ -112,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
|
||||||
@ -129,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/postfixadmin-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,17 @@ 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/postfixadmin-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}}-arm-v7
|
||||||
image: volkerraschek/postfixadmin-fetchmail:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-armv7
|
|
||||||
platform:
|
platform:
|
||||||
architecture: arm
|
architecture: arm
|
||||||
os: linux
|
os: linux
|
||||||
variant: v7
|
variant: v7
|
||||||
|
- image: git.cryptic.systems/volker.raschek/postfixadmin-fetchmail:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-arm64-v8
|
||||||
|
platform:
|
||||||
|
architecture: arm64
|
||||||
|
os: linux
|
||||||
|
variant: v8
|
26
renovate.json
Normal file
26
renovate.json
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"$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,
|
||||||
|
"excludePackagePatterns": [ "plugins/docker" ],
|
||||||
|
"matchManagers": "droneci",
|
||||||
|
"matchUpdateTypes": [ "minor", "patch"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Automatically update patch version of used container images in docker files",
|
||||||
|
"addLabels": [ "renovate/container-image", "renovate/automerge" ],
|
||||||
|
"automerge": true,
|
||||||
|
"matchBaseBranches": [ "master" ],
|
||||||
|
"matchManagers": [ "dockerfile" ],
|
||||||
|
"matchUpdateTypes": [ "patch" ]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"rebaseLabel": "renovate/rebase",
|
||||||
|
"rebaseWhen": "behind-base-branch"
|
||||||
|
}
|
Reference in New Issue
Block a user