Skip to content

Commit 9a729d8

Browse files
authored
Merge pull request #6012 from mailcow/staging
2024-08
2 parents fcf27d6 + 74b4097 commit 9a729d8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+2087
-331
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,3 @@
1-
## :memo: Brief description
2-
<!-- Diff summary - START -->
3-
<!-- Diff summary - END -->
4-
5-
6-
## :computer: Commits
7-
<!-- Diff commits - START -->
8-
<!-- Diff commits - END -->
9-
10-
111
## :file_folder: Modified files
122
<!-- Diff files - START -->
13-
<!-- Diff files - END -->
3+
<!-- Diff files - END -->

.github/PULL_REQUEST_TEMPLATE.md

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<!-- _Please make sure to review and check all of these items, otherwise we might refuse your PR:_ -->
2+
3+
## Contribution Guidelines
4+
5+
* [ ] I've read the [contribution guidelines](https://github.com/mailcow/mailcow-dockerized/blob/master/CONTRIBUTING.md) and wholeheartedly agree them
6+
7+
<!-- _NOTE: this tickbox is needed to fullfil on order to get your PR reviewed._ -->
8+
9+
## What does this PR include?
10+
11+
### Short Description
12+
13+
<!-- Please write a short description, what your PR does here. -->
14+
15+
### Affected Containers
16+
17+
<!-- Please list all affected Docker containers here, which you commited changes to -->
18+
19+
<!--
20+
21+
Please list them like this:
22+
23+
- container1
24+
- container2
25+
- container3
26+
etc.
27+
28+
-->
29+
30+
## Did you run tests?
31+
32+
### What did you tested?
33+
34+
<!-- Please write shortly, what you've tested (which components etc.). -->
35+
36+
### What were the final results? (Awaited, got)
37+
38+
<!-- Please write shortly, what your final tests results were. What did you awaited? Was the outcome the awaited one? -->

CONTRIBUTING.md

+25-8
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,42 @@
1-
# Contribution Guidelines (Last modified on 27th June 2024)
1+
# Contribution Guidelines
2+
**_Last modified on 15th August 2024_**
23

34
First of all, thank you for wanting to provide a bugfix or a new feature for the mailcow community, it's because of your help that the project can continue to grow!
45

5-
## Pull Requests (Last modified on 27th June 2024)
6+
As we want to keep mailcow's development structured we setup these Guidelines which helps you to create your issue/pull request accordingly.
7+
8+
**PLEASE NOTE, THAT WE MIGHT CLOSE ISSUES/PULL REQUESTS IF THEY DON'T FULLFIL OUR WRITTEN GUIDELINES WRITTEN INSIDE THIS DOCUMENT**. So please check this guidelines before you propose a Issue/Pull Request.
9+
10+
## Topics
11+
12+
- [Pull Requests](#pull-requests)
13+
- [Issue Reporting](#issue-reporting)
14+
- [Guidelines](#issue-reporting-guidelines)
15+
- [Issue Report Guide](#issue-report-guide)
16+
17+
## Pull Requests
18+
**_Last modified on 15th August 2024_**
619

720
However, please note the following regarding pull requests:
821

922
1. **ALWAYS** create your PR using the staging branch of your locally cloned mailcow instance, as the pull request will end up in said staging branch of mailcow once approved. Ideally, you should simply create a new branch for your pull request that is named after the type of your PR (e.g. `feat/` for function updates or `fix/` for bug fixes) and the actual content (e.g. `sogo-6.0.0` for an update from SOGo to version 6 or `html-escape` for a fix that includes escaping HTML in mailcow).
1023
2. **ALWAYS** report/request issues/features in the english language, even though mailcow is a german based company. This is done to allow other GitHub users to reply to your issues/requests too which did not speak german or other languages besides english.
11-
3. Please **keep** this pull request branch **clean** and free of commits that have nothing to do with the changes you have made (e.g. commits from other users from other branches). *If you make changes to the `update.sh` script or other scripts that trigger a commit, there is usually a developer mode for clean working in this case.
24+
3. Please **keep** this pull request branch **clean** and free of commits that have nothing to do with the changes you have made (e.g. commits from other users from other branches). *If you make changes to the `update.sh` script or other scripts that trigger a commit, there is usually a developer mode for clean working in this case.*
1225
4. **Test your changes before you commit them as a pull request.** <ins>If possible</ins>, write a small **test log** or demonstrate the functionality with a **screenshot or GIF**. *We will of course also test your pull request ourselves, but proof from you will save us the question of whether you have tested your own changes yourself.*
13-
5. Please **ALWAYS** create the actual pull request against the staging branch and **NEVER** directly against the master branch. *If you forget to do this, our moobot will remind you to switch the branch to staging.*
14-
6. Wait for a merge commit: It may happen that we do not accept your pull request immediately or sometimes not at all for various reasons. Please do not be disappointed if this is the case. We always endeavor to incorporate any meaningful changes from the community into the mailcow project.
15-
7. If you are planning larger and therefore more complex pull requests, it would be advisable to first announce this in a separate issue and then start implementing it after the idea has been accepted in order to avoid unnecessary frustration and effort!
26+
5. **Please use** the pull request template we provide once creating a pull request. *HINT: During editing you encounter comments which looks like: `<!-- CONTENT -->`. These can be removed or kept, as they will not rendered later on GitHub! Please only create actual content without the said comments.*
27+
6. Please **ALWAYS** create the actual pull request against the staging branch and **NEVER** directly against the master branch. *If you forget to do this, our moobot will remind you to switch the branch to staging.*
28+
7. Wait for a merge commit: It may happen that we do not accept your pull request immediately or sometimes not at all for various reasons. Please do not be disappointed if this is the case. We always endeavor to incorporate any meaningful changes from the community into the mailcow project.
29+
8. If you are planning larger and therefore more complex pull requests, it would be advisable to first announce this in a separate issue and then start implementing it after the idea has been accepted in order to avoid unnecessary frustration and effort!
1630

1731
---
1832

19-
## Issue Reporting (Last modified on 27th June 2024)
33+
## Issue Reporting
34+
**_Last modified on 15th August 2024_**
2035

2136
If you plan to report a issue within mailcow please read and understand the following rules:
2237

38+
### Issue Reporting Guidelines
39+
2340
1. **ONLY** use the issue tracker for bug reports or improvement requests and NOT for support questions. For support questions you can either contact the [mailcow community on Telegram](https://docs.mailcow.email/#community-support-and-chat) or the mailcow team directly in exchange for a [support fee](https://docs.mailcow.email/#commercial-support).
2441
2. **ONLY** report an error if you have the **necessary know-how (at least the basics)** for the administration of an e-mail server and the usage of Docker. mailcow is a complex and fully-fledged e-mail server including groupware components on a Docker basement and it requires a bit of technical know-how for debugging and operating.
2542
3. **ALWAYS** report/request issues/features in the english language, even though mailcow is a german based company. This is done to allow other GitHub users to reply to your issues/requests too which did not speak german or other languages besides english.
@@ -29,7 +46,7 @@ If you plan to report a issue within mailcow please read and understand the foll
2946
7. When you create a issue/feature request: Please note that the creation does <ins>**not guarantee an instant implementation or fix by the mailcow team or the community**</ins>.
3047
8. Please **ALWAYS** anonymize any sensitive information in your bug report or feature request before submitting it.
3148

32-
### Quick guide to reporting problems:
49+
### Issue Report Guide
3350
1. Read your logs; follow them to see what the reason for your problem is.
3451
2. Follow the leads given to you in your logfiles and start investigating.
3552
3. Restarting the troubled service or the whole stack to see if the problem persists.

data/Dockerfiles/acme/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
FROM alpine:3.20
22

3-
LABEL maintainer "The Infrastructure Company GmbH <[email protected]>"
3+
LABEL maintainer = "The Infrastructure Company GmbH <[email protected]>"
44

55

66
RUN apk upgrade --no-cache \

data/Dockerfiles/acme/acme.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ done
123123
log_f "Database OK"
124124

125125
log_f "Waiting for Nginx..."
126-
until $(curl --output /dev/null --silent --head --fail http://nginx:8081); do
126+
until $(curl --output /dev/null --silent --head --fail http://nginx.${COMPOSE_PROJECT_NAME}_mailcow-network:8081); do
127127
sleep 2
128128
done
129129
log_f "Nginx OK"
@@ -137,7 +137,7 @@ log_f "Resolver OK"
137137
# Waiting for domain table
138138
log_f "Waiting for domain table..."
139139
while [[ -z ${DOMAIN_TABLE} ]]; do
140-
curl --silent http://nginx/ >/dev/null 2>&1
140+
curl --silent http://nginx.${COMPOSE_PROJECT_NAME}_mailcow-network/ >/dev/null 2>&1
141141
DOMAIN_TABLE=$(mysql --socket=/var/run/mysqld/mysqld.sock -u ${DBUSER} -p${DBPASS} ${DBNAME} -e "SHOW TABLES LIKE 'domain'" -Bs)
142142
[[ -z ${DOMAIN_TABLE} ]] && sleep 10
143143
done

data/Dockerfiles/acme/reload-configurations.sh

+7-7
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,32 @@
22

33
# Reading container IDs
44
# Wrapping as array to ensure trimmed content when calling $NGINX etc.
5-
NGINX=($(curl --silent --insecure https://dockerapi/containers/json | jq -r ".[] | {name: .Config.Labels[\"com.docker.compose.service\"], project: .Config.Labels[\"com.docker.compose.project\"], id: .Id}" | jq -rc "select( .name | tostring | contains(\"nginx-mailcow\")) | select( .project | tostring | contains(\"${COMPOSE_PROJECT_NAME,,}\")) | .id" | tr "\n" " "))
6-
DOVECOT=($(curl --silent --insecure https://dockerapi/containers/json | jq -r ".[] | {name: .Config.Labels[\"com.docker.compose.service\"], project: .Config.Labels[\"com.docker.compose.project\"], id: .Id}" | jq -rc "select( .name | tostring | contains(\"dovecot-mailcow\")) | select( .project | tostring | contains(\"${COMPOSE_PROJECT_NAME,,}\")) | .id" | tr "\n" " "))
7-
POSTFIX=($(curl --silent --insecure https://dockerapi/containers/json | jq -r ".[] | {name: .Config.Labels[\"com.docker.compose.service\"], project: .Config.Labels[\"com.docker.compose.project\"], id: .Id}" | jq -rc "select( .name | tostring | contains(\"postfix-mailcow\")) | select( .project | tostring | contains(\"${COMPOSE_PROJECT_NAME,,}\")) | .id" | tr "\n" " "))
5+
NGINX=($(curl --silent --insecure https://dockerapi.${COMPOSE_PROJECT_NAME}_mailcow-network/containers/json | jq -r ".[] | {name: .Config.Labels[\"com.docker.compose.service\"], project: .Config.Labels[\"com.docker.compose.project\"], id: .Id}" | jq -rc "select( .name | tostring | contains(\"nginx-mailcow\")) | select( .project | tostring | contains(\"${COMPOSE_PROJECT_NAME,,}\")) | .id" | tr "\n" " "))
6+
DOVECOT=($(curl --silent --insecure https://dockerapi.${COMPOSE_PROJECT_NAME}_mailcow-network/containers/json | jq -r ".[] | {name: .Config.Labels[\"com.docker.compose.service\"], project: .Config.Labels[\"com.docker.compose.project\"], id: .Id}" | jq -rc "select( .name | tostring | contains(\"dovecot-mailcow\")) | select( .project | tostring | contains(\"${COMPOSE_PROJECT_NAME,,}\")) | .id" | tr "\n" " "))
7+
POSTFIX=($(curl --silent --insecure https://dockerapi.${COMPOSE_PROJECT_NAME}_mailcow-network/containers/json | jq -r ".[] | {name: .Config.Labels[\"com.docker.compose.service\"], project: .Config.Labels[\"com.docker.compose.project\"], id: .Id}" | jq -rc "select( .name | tostring | contains(\"postfix-mailcow\")) | select( .project | tostring | contains(\"${COMPOSE_PROJECT_NAME,,}\")) | .id" | tr "\n" " "))
88

99
reload_nginx(){
1010
echo "Reloading Nginx..."
11-
NGINX_RELOAD_RET=$(curl -X POST --insecure https://dockerapi/containers/${NGINX}/exec -d '{"cmd":"reload", "task":"nginx"}' --silent -H 'Content-type: application/json' | jq -r .type)
11+
NGINX_RELOAD_RET=$(curl -X POST --insecure https://dockerapi.${COMPOSE_PROJECT_NAME}_mailcow-network/containers/${NGINX}/exec -d '{"cmd":"reload", "task":"nginx"}' --silent -H 'Content-type: application/json' | jq -r .type)
1212
[[ ${NGINX_RELOAD_RET} != 'success' ]] && { echo "Could not reload Nginx, restarting container..."; restart_container ${NGINX} ; }
1313
}
1414

1515
reload_dovecot(){
1616
echo "Reloading Dovecot..."
17-
DOVECOT_RELOAD_RET=$(curl -X POST --insecure https://dockerapi/containers/${DOVECOT}/exec -d '{"cmd":"reload", "task":"dovecot"}' --silent -H 'Content-type: application/json' | jq -r .type)
17+
DOVECOT_RELOAD_RET=$(curl -X POST --insecure https://dockerapi.${COMPOSE_PROJECT_NAME}_mailcow-network/containers/${DOVECOT}/exec -d '{"cmd":"reload", "task":"dovecot"}' --silent -H 'Content-type: application/json' | jq -r .type)
1818
[[ ${DOVECOT_RELOAD_RET} != 'success' ]] && { echo "Could not reload Dovecot, restarting container..."; restart_container ${DOVECOT} ; }
1919
}
2020

2121
reload_postfix(){
2222
echo "Reloading Postfix..."
23-
POSTFIX_RELOAD_RET=$(curl -X POST --insecure https://dockerapi/containers/${POSTFIX}/exec -d '{"cmd":"reload", "task":"postfix"}' --silent -H 'Content-type: application/json' | jq -r .type)
23+
POSTFIX_RELOAD_RET=$(curl -X POST --insecure https://dockerapi.${COMPOSE_PROJECT_NAME}_mailcow-network/containers/${POSTFIX}/exec -d '{"cmd":"reload", "task":"postfix"}' --silent -H 'Content-type: application/json' | jq -r .type)
2424
[[ ${POSTFIX_RELOAD_RET} != 'success' ]] && { echo "Could not reload Postfix, restarting container..."; restart_container ${POSTFIX} ; }
2525
}
2626

2727
restart_container(){
2828
for container in $*; do
2929
echo "Restarting ${container}..."
30-
C_REST_OUT=$(curl -X POST --insecure https://dockerapi/containers/${container}/restart --silent | jq -r '.msg')
30+
C_REST_OUT=$(curl -X POST --insecure https://dockerapi.${COMPOSE_PROJECT_NAME}_mailcow-network/containers/${container}/restart --silent | jq -r '.msg')
3131
echo "${C_REST_OUT}"
3232
done
3333
}

data/Dockerfiles/clamd/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
FROM alpine:3.20
22

3-
LABEL maintainer "The Infrastructure Company GmbH <[email protected]>"
3+
LABEL maintainer = "The Infrastructure Company GmbH <[email protected]>"
44

55
RUN apk upgrade --no-cache \
66
&& apk add --update --no-cache \

data/Dockerfiles/dockerapi/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
FROM alpine:3.20
22

3-
LABEL maintainer "The Infrastructure Company GmbH <[email protected]>"
3+
LABEL maintainer = "The Infrastructure Company GmbH <[email protected]>"
44

55
ARG PIP_BREAK_SYSTEM_PACKAGES=1
66
WORKDIR /app

data/Dockerfiles/dovecot/Dockerfile

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
FROM alpine:3.20
2-
LABEL maintainer "The Infrastructure Company GmbH <[email protected]>"
2+
3+
LABEL maintainer="The Infrastructure Company GmbH <[email protected]>"
34

45
# renovate: datasource=github-releases depName=tianon/gosu versioning=semver-coerced extractVersion=^(?<version>.*)$
56
ARG GOSU_VERSION=1.16
67

7-
ENV LANG C.UTF-8
8-
ENV LC_ALL C.UTF-8
8+
ENV LANG=C.UTF-8
9+
ENV LC_ALL=C.UTF-8
910

1011
# Add groups and users before installing Dovecot to not break compatibility
1112
RUN addgroup -g 5000 vmail \
@@ -132,4 +133,4 @@ COPY repl_health.sh /usr/local/bin/repl_health.sh
132133
COPY optimize-fts.sh /usr/local/bin/optimize-fts.sh
133134

134135
ENTRYPOINT ["/docker-entrypoint.sh"]
135-
CMD exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
136+
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]

data/Dockerfiles/dovecot/docker-entrypoint.sh

+5-9
Original file line numberDiff line numberDiff line change
@@ -257,10 +257,14 @@ plugin {
257257
fts_autoindex_exclude2 = \Trash
258258
fts = flatcurve
259259
260+
# Maximum term length can be set via the 'maxlen' argument (maxlen is
261+
# specified in bytes, not number of UTF-8 characters)
262+
fts_tokenizer_email_address = maxlen=100
263+
fts_tokenizer_generic = algorithm=simple maxlen=30
264+
260265
# These are not flatcurve settings, but required for Dovecot FTS. See
261266
# Dovecot FTS Configuration link above for further information.
262267
fts_languages = en es de
263-
fts_tokenizer_generic = algorithm=simple
264268
fts_tokenizers = generic email-address
265269
266270
# OPTIONAL: Recommended default FTS core configuration
@@ -407,14 +411,6 @@ sievec /var/vmail/sieve/global_sieve_after.sieve
407411
sievec /usr/lib/dovecot/sieve/report-spam.sieve
408412
sievec /usr/lib/dovecot/sieve/report-ham.sieve
409413

410-
for file in /var/vmail/*/*/sieve/*.sieve ; do
411-
if [[ "$file" == "/var/vmail/*/*/sieve/*.sieve" ]]; then
412-
continue
413-
fi
414-
sievec "$file" "$(dirname "$file")/../.dovecot.svbin"
415-
chown vmail:vmail "$(dirname "$file")/../.dovecot.svbin"
416-
done
417-
418414
# Fix permissions
419415
chown root:root /etc/dovecot/sql/*.conf
420416
chown root:dovecot /etc/dovecot/sql/dovecot-dict-sql-sieve* /etc/dovecot/sql/dovecot-dict-sql-quota* /etc/dovecot/lua/passwd-verify.lua

data/Dockerfiles/dovecot/rspamd-pipe-ham

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ FILE=/tmp/mail$$
33
cat > $FILE
44
trap "/bin/rm -f $FILE" 0 1 2 3 13 15
55

6-
cat ${FILE} | /usr/bin/curl -H "Flag: 11" -s --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd/fuzzydel
7-
cat ${FILE} | /usr/bin/curl -s --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd/learnham
8-
cat ${FILE} | /usr/bin/curl -H "Flag: 13" -s --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd/fuzzyadd
6+
cat ${FILE} | /usr/bin/curl -H "Flag: 11" -s --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd.${COMPOSE_PROJECT_NAME}_mailcow-network/fuzzydel
7+
cat ${FILE} | /usr/bin/curl -s --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd.${COMPOSE_PROJECT_NAME}_mailcow-network/learnham
8+
cat ${FILE} | /usr/bin/curl -H "Flag: 13" -s --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd.${COMPOSE_PROJECT_NAME}_mailcow-network/fuzzyadd
99

1010
exit 0

data/Dockerfiles/dovecot/rspamd-pipe-spam

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ FILE=/tmp/mail$$
33
cat > $FILE
44
trap "/bin/rm -f $FILE" 0 1 2 3 13 15
55

6-
cat ${FILE} | /usr/bin/curl -H "Flag: 13" -s --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd/fuzzydel
7-
cat ${FILE} | /usr/bin/curl -s --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd/learnspam
8-
cat ${FILE} | /usr/bin/curl -H "Flag: 11" -s --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd/fuzzyadd
6+
cat ${FILE} | /usr/bin/curl -H "Flag: 13" -s --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd.${COMPOSE_PROJECT_NAME}_mailcow-network/fuzzydel
7+
cat ${FILE} | /usr/bin/curl -s --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd.${COMPOSE_PROJECT_NAME}_mailcow-network/learnspam
8+
cat ${FILE} | /usr/bin/curl -H "Flag: 11" -s --data-binary @- --unix-socket /var/lib/rspamd/rspamd.sock http://rspamd.${COMPOSE_PROJECT_NAME}_mailcow-network/fuzzyadd
99

1010
exit 0

data/Dockerfiles/dovecot/sa-rules.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ sed -i -e 's/\([^\\]\)\$\([^\/]\)/\1\\$\2/g' /etc/rspamd/custom/sa-rules
2121

2222
if [[ "$(cat /etc/rspamd/custom/sa-rules | md5sum | cut -d' ' -f1)" != "${HASH_SA_RULES}" ]]; then
2323
CONTAINER_NAME=rspamd-mailcow
24-
CONTAINER_ID=$(curl --silent --insecure https://dockerapi/containers/json | \
24+
CONTAINER_ID=$(curl --silent --insecure https://dockerapi.${COMPOSE_PROJECT_NAME}_mailcow-network/containers/json | \
2525
jq -r ".[] | {name: .Config.Labels[\"com.docker.compose.service\"], project: .Config.Labels[\"com.docker.compose.project\"], id: .Id}" | \
2626
jq -rc "select( .name | tostring | contains(\"${CONTAINER_NAME}\")) | select( .project | tostring | contains(\"${COMPOSE_PROJECT_NAME,,}\")) | .id")
2727
if [[ ! -z ${CONTAINER_ID} ]]; then
28-
curl --silent --insecure -XPOST --connect-timeout 15 --max-time 120 https://dockerapi/containers/${CONTAINER_ID}/restart
28+
curl --silent --insecure -XPOST --connect-timeout 15 --max-time 120 https://dockerapi.${COMPOSE_PROJECT_NAME}_mailcow-network/containers/${CONTAINER_ID}/restart
2929
fi
3030
fi
3131

data/Dockerfiles/netfilter/Dockerfile

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
FROM alpine:3.20
2-
LABEL maintainer "The Infrastructure Company GmbH <[email protected]>"
2+
3+
LABEL maintainer = "The Infrastructure Company GmbH <[email protected]>"
34

45
WORKDIR /app
56

data/Dockerfiles/olefy/Dockerfile

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
FROM alpine:3.20
2-
LABEL maintainer "The Infrastructure Company GmbH <[email protected]>"
2+
3+
LABEL maintainer = "The Infrastructure Company GmbH <[email protected]>"
34

45
ARG PIP_BREAK_SYSTEM_PACKAGES=1
56
WORKDIR /app

data/Dockerfiles/phpfpm/Dockerfile

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
FROM php:8.2-fpm-alpine3.18
2-
LABEL maintainer "The Infrastructure Company GmbH <[email protected]>"
2+
3+
LABEL maintainer = "The Infrastructure Company GmbH <[email protected]>"
34

45
# renovate: datasource=github-tags depName=krakjoe/apcu versioning=semver-coerced extractVersion=^v(?<version>.*)$
56
ARG APCU_PECL_VERSION=5.1.23

0 commit comments

Comments
 (0)