3 Commits

Author SHA1 Message Date
51a129812a fix(drone): push branch to github
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-03 15:49:37 +02:00
1381fddb73 doc(README): add description of additional env vars
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-03 15:45:49 +02:00
5a58b50ad8 fix: rollback to v3.2.4
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-01 21:07:07 +02:00
7 changed files with 92 additions and 659 deletions

View File

@ -5,12 +5,13 @@ name: linter
platform:
os: linux
arch: amd64
steps:
- name: markdown lint
commands:
- markdownlint *.md
image: docker.io/volkerraschek/markdownlint:0.31.1
image: docker.io/tmknom/markdownlint:0.23.1
resources:
limits:
cpu: 50
@ -40,11 +41,10 @@ trigger:
event:
exclude:
- tag
---
kind: pipeline
type: docker
name: dry-run-amd64
name: build-latest
platform:
os: linux
@ -52,22 +52,40 @@ platform:
steps:
- name: build
image: plugins/docker
settings:
dockerfile: Dockerfile
auto_tag: false
dry_run: true
tags: latest-amd64
repo: volkerraschek/markdownlint
username:
from_secret: container_image_registry_user
password:
from_secret: container_image_registry_password
no_cache: true
image: docker.io/volkerraschek/build-image:latest
commands:
- make container-image/build
volumes:
- name: docker_socket
path: /var/run/docker.sock
- name: push
image: docker.io/volkerraschek/build-image:latest
commands:
- make container-image/push
environment:
POSTFIXADMIN_IMAGE_REGISTRY_PASSWORD:
from_secret: container_image_registry_password
volumes:
- name: docker_socket
path: /var/run/docker.sock
when:
branch:
- master
repo:
- volker.raschek/postfixadmin-docker
- name: delete
image: docker.io/volkerraschek/build-image:latest
commands:
- make container-image/delete
volumes:
- name: docker_socket
path: /var/run/docker.sock
when:
branch:
- master
- name: notify
image: drillster/drone-email
environment:
@ -89,145 +107,15 @@ volumes:
host:
path: /var/run/docker.sock
depends_on:
- linter
trigger:
branch:
exclude:
- master
event:
- pull_request
- push
repo:
- volker.raschek/postfixadmin-docker
exclude:
- tag
---
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
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-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
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-docker
---
kind: pipeline
type: docker
name: latest-amd64
name: build-tagged
platform:
os: linux
@ -235,247 +123,28 @@ platform:
steps:
- name: build
image: plugins/docker
settings:
dockerfile: Dockerfile
auto_tag: false
tags: latest-amd64
repo: volkerraschek/postfixadmin
username:
from_secret: container_image_registry_user
password:
from_secret: container_image_registry_password
no_cache: true
image: docker.io/volkerraschek/build-image:latest
commands:
- make container-image/build POSTFIXADMIN_IMAGE_VERSION=${DRONE_TAG}
volumes:
- name: docker_socket
path: /var/run/docker.sock
- name: notify
image: drillster/drone-email
- name: push
image: docker.io/volkerraschek/build-image:latest
commands:
- make container-image/push POSTFIXADMIN_IMAGE_VERSION=${DRONE_TAG}
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-docker
---
kind: pipeline
type: docker
name: latest-arm-v7
platform:
os: linux
arch: arm
steps:
- name: build
image: plugins/docker
settings:
dockerfile: Dockerfile
auto_tag: false
tags: latest-arm-v7
repo: volkerraschek/postfixadmin
username:
from_secret: container_image_registry_user
password:
POSTFIXADMIN_IMAGE_REGISTRY_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-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
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-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-arm-v7
- latest-arm64-v8
trigger:
branch:
- master
event:
- cron
- push
repo:
- volker.raschek/postfixadmin-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
username:
from_secret: container_image_registry_user
password:
from_secret: container_image_registry_password
build_args:
- POSTFIXADMIN_VERSION=${DRONE_TAG}
no_cache: true
- name: delete
image: docker.io/volkerraschek/build-image:latest
commands:
- make container-image/delete POSTFIXADMIN_IMAGE_VERSION=${DRONE_TAG}
volumes:
- name: docker_socket
path: /var/run/docker.sock
@ -506,165 +175,6 @@ trigger:
- tag
repo:
- volker.raschek/postfixadmin-docker
---
kind: pipeline
type: docker
name: tagged-arm-v7
platform:
os: linux
arch: arm
steps:
- name: build
image: plugins/docker
settings:
dockerfile: Dockerfile
auto_tag: true
auto_tag_suffix: arm-v7
repo: volkerraschek/postfixadmin
username:
from_secret: container_image_registry_user
password:
from_secret: container_image_registry_password
build_args:
- POSTFIXADMIN_VERSION=${DRONE_TAG}
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-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
username:
from_secret: container_image_registry_user
password:
from_secret: container_image_registry_password
build_args:
- POSTFIXADMIN_VERSION=${DRONE_TAG}
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-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-arm-v7
- tagged-arm64-v8
trigger:
event:
- tag
repo:
- volker.raschek/postfixadmin-docker
---
kind: pipeline
type: kubernetes
@ -682,7 +192,7 @@ steps:
cpu: 50
memory: 25M
settings:
branch: master
branch: v3.2.x
remote: ssh://git@github.com/volker-raschek/postfixadmin-docker.git
force: true
ssh_key:
@ -708,14 +218,8 @@ steps:
- changed
- failure
depends_on:
- latest-manifest
trigger:
branch:
- master
event:
- cron
- push
repo:
- volker.raschek/postfixadmin-docker

View File

@ -1,7 +1,8 @@
FROM docker.io/library/php:7.4-apache
# POSTFIXADMIN VERSION
ARG POSTFIXADMIN_VERSION
ARG POSTFIXADMIN_VERSION \
POSTFIXADMIN_SHA512
# APACHE
ENV APACHE_DOCUMENT_ROOT /var/www/html/public
@ -23,7 +24,7 @@ ENV POSTFIXADMIN_DATABASE_TYPE=sqlite \
# docker-entrypoint.sh dependencies
RUN set -eux; \
apt-get update; \
apt-get install --yes --no-install-recommends gosu apache2-utils; \
apt-get install --yes --no-install-recommends gosu; \
rm --recursive --force /var/lib/apt/lists/*
# Install required PHP extensions
@ -51,18 +52,16 @@ RUN set -ex; \
| cut -d: -f1 \
| sort -u \
| xargs -rt apt-mark manual; \
if [ ! -z ${POSTFIXADMIN_VERSION} ]; then \
curl --fail --silent --show-error --location "https://github.com/postfixadmin/postfixadmin/archive/postfixadmin-${POSTFIXADMIN_VERSION}.tar.gz" --output postfixadmin.tar.gz; \
tar --extract --file postfixadmin.tar.gz --directory /var/www/html --strip-components=1; \
rm postfixadmin.tar.gz; \
else \
apt-get install --yes git; \
git clone https://github.com/postfixadmin/postfixadmin.git /var/www/html; \
fi; \
apt-get purge --yes --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
rm --recursive --force /var/lib/apt/lists/*
RUN mkdir --parents /var/www/html/templates_c; \
RUN set -eu; \
curl --fail --silent --show-error --location "https://github.com/postfixadmin/postfixadmin/archive/postfixadmin-${POSTFIXADMIN_VERSION}.tar.gz" --output postfixadmin.tar.gz ; \
echo "${POSTFIXADMIN_SHA512} *postfixadmin.tar.gz" | sha512sum -c -; \
tar --extract --file postfixadmin.tar.gz --directory /var/www/html --strip-components=1; \
rm postfixadmin.tar.gz; \
# Does not exist in tarball but is required
mkdir --parents /var/www/html/templates_c; \
chown --recursive www-data:www-data /var/www/html
COPY entrypoint.sh /usr/local/bin/

View File

@ -1,6 +1,5 @@
# POSTFIXADMIN_VERSION
# Only required to install a specifiy version
POSTFIXADMIN_VERSION?=3.3.11
POSTFIXADMIN_VERSION:=3.2.4
POSTFIXADMIN_SHA512:=2bd7ae05addbaf3c6c7eebea16ec1e21b2c67c8e6161446ed82a9553c26c04e19c1ec9ce248a9b9df504df56d309590259e6f04907b04b593548028b40e40d47
# CONTAINER_RUNTIME
# The CONTAINER_RUNTIME variable will be used to specified the path to a
@ -24,6 +23,7 @@ PHONY:=container-image/build
container-image/build:
${CONTAINER_RUNTIME} build \
--build-arg POSTFIXADMIN_VERSION=${POSTFIXADMIN_VERSION} \
--build-arg POSTFIXADMIN_SHA512=${POSTFIXADMIN_SHA512} \
--file Dockerfile \
--no-cache \
--pull \

View File

@ -178,16 +178,15 @@ are documented
### POSTFIXADMIN_SETUP_PASSWORD
To login into the `setup.php` page is the setup password required. This can be
defined via the variable `POSTFIXADMIN_SETUP_PASSWORD`. The password will be
hashed via bcrypt and used as value for the setting `$CONF['setup_password']` in
the config file `config.local.php`.
defined via the variable `POSTFIXADMIN_SETUP_PASSWORD`. The password will not be
configured in the `config.local.php` as plain text. It will be encrypted.
### POSTFIXADMIN_SMTP_CLIENT
Hostname (FQDN) of the server hosting PostfixAdmin used in the `HELO` when
sending emails from PostfixAdmin. The value of the environment will be
configured as the following config setting and is empty by default:
`$CONF['smtp_client']`.
configured as the following config setting: `$CONF['smtp_server']` and is empty
by default.
### POSTFIXADMIN_SMTP_SERVER

View File

@ -40,10 +40,6 @@ if [ "${POSTFIXADMIN_DATABASE_TYPE}" = 'sqlite' ]; then
fi
fi
# bycrypt POSTFIXADMIN_SETUP_PASSWORD
if [ ! -z ${POSTFIXADMIN_SETUP_PASSWORD+x} ]; then
POSTFIXADMIN_SETUP_PASSWORD=$(htpasswd -bnBC 10 "" "${POSTFIXADMIN_SETUP_PASSWORD}" | tr -d ':\n')
fi
# create config.local.pgp with vaules from env with POSTFIXADMIN_ prefix
POSTFIXADMIN_ENV_VARS=($(env | sort | grep --perl-regexp '^POSTFIXADMIN_.*'))

View File

@ -1,26 +0,0 @@
image: volkerraschek/postfixadmin:{{#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:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-amd64
platform:
architecture: amd64
os: linux
-
image: volkerraschek/postfixadmin:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-armv7
platform:
architecture: arm
os: linux
variant: v7
-
image: volkerraschek/postfixadmin:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-arm64-v8
platform:
architecture: arm64
os: linux
variant: v8

View File

@ -1,39 +0,0 @@
{
"$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"]
},
{
"description": "Trim leading postfixadmin- from git tag",
"addLabels": [ "renovate/postfixadmin" ],
"automerge": false,
"extractVersion": "^postfixadmin-(?<version>\\d+\\.\\d+\\.\\d+)$",
"matchPackageNames": [ "postfixadmin/postfixadmin" ],
"matchManagers": [ "regex" ]
}
],
"rebaseLabel": "renovate/rebase",
"rebaseWhen": "behind-base-branch",
"regexManagers": [
{
"description": "Update postfixadmin git tag",
"fileMatch": [
"^Makefile$"
],
"matchStrings": [
"POSTFIXADMIN_VERSION\\?=(?<currentValue>.*?)\n"
],
"datasourceTemplate": "github-tags",
"depNameTemplate": "postfixadmin/postfixadmin",
"versioningTemplate": "regex:^(postfixadmin-)?(v)?(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)(\\s*)?$"
}
]
}