Skip to content

Commit 79243c8

Browse files
andreaspetersAndreas Peters
authored andcommitted
update-jammy (#5)
Update to Ubuntu Jammy Update to ispconfig v3.2.11p1 Reviewed-on: https://gitea.aventer.local:3000/AVENTER/docker-ispconfig/pulls/5 Co-authored-by: Andreas Peters <ap@aventer.biz> Co-committed-by: Andreas Peters <ap@aventer.biz>
1 parent 7fbb06d commit 79243c8

File tree

7 files changed

+88
-20
lines changed

7 files changed

+88
-20
lines changed

Dockerfile

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
1-
FROM ubuntu:focal
1+
FROM ubuntu:jammy
22

3-
MAINTAINER Andreas Peters <support@aventer.biz> version: 0.2
3+
LABEL maintainer="Andreas Peters <support@aventer.biz>"
4+
LABEL org.opencontainers.image.title="docker-ispconfig"
5+
LABEL org.opencontainers.image.description="This docker image include a whole ISPConfig3 software stack!"
6+
LABEL org.opencontainers.image.vendor="AVENTER UG (haftungsbeschränkt)"
7+
LABEL org.opencontainers.image.source="https://github.com/AVENTER-UG/docker-ispconfig"
48

5-
ARG TAG_SYN=master
9+
ARG TAG_SYN=v3.2.11p1
610

7-
ENV isp_mysql_hostname localhost
11+
ENV isp_mysql_hostname master
812
ENV isp_mysql_port 3306
913
ENV isp_mysql_root_user root
1014
ENV isp_mysql_root_password default
@@ -69,7 +73,7 @@ RUN touch /usr/share/man/man5/maildir.maildrop.5.gz \
6973
&& touch /usr/share/man/man7/maildirquota.maildrop.7.gz \
7074
&& apt-get install -y maildrop
7175

72-
RUN apt-get -y install postfix mysql-client postfix-mysql postfix-doc openssl getmail4 rkhunter binutils courier-authlib-mysql courier-pop courier-pop courier-imap courier-imap libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql sudo gamin
76+
RUN apt-get -y install postfix mysql-client postfix-mysql postfix-doc openssl getmail6 rkhunter binutils courier-authlib-mysql courier-pop courier-pop courier-imap courier-imap libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql sudo gamin
7377
ADD ./etc/postfix/master.cf /etc/postfix/master.cf
7478
ADD ./etc/security/limits.conf /etc/security/limits.conf
7579
ADD ./etc/courier/authmysqlrc.ini /root/authmysqlrc.ini
@@ -81,16 +85,16 @@ ADD ./etc/clamav/clamd.conf /etc/clamav/clamd.conf
8185
RUN service spamassassin stop
8286
RUN service clamav-daemon stop
8387
# Install Apache2, PHP, FCGI, suExec, Pear, And mcrypt
84-
RUN apt-get -y install apache2 apache2-doc apache2-utils libapache2-mod-php php7.4 php7.4-common php7.4-gd php7.4-mysql php7.4-imap php7.4-cli php7.4-cgi libapache2-mod-fcgid apache2-suexec-pristine php-pear mcrypt imagemagick libruby libapache2-mod-python php7.4-curl php7.4-intl php7.4-pspell php7.4-sqlite3 php7.4-tidy php7.4-xmlrpc php7.4-xsl memcached php-memcache php-imagick php7.4-zip php7.4-mbstring php-soap php7.4-soap
88+
RUN apt-get -y install apache2 apache2-doc apache2-utils libapache2-mod-php php8.1 php8.1-common php8.1-gd php8.1-mysql php8.1-imap php8.1-cli php8.1-cgi libapache2-mod-fcgid apache2-suexec-pristine php-pear mcrypt imagemagick libruby libapache2-mod-python php8.1-curl php8.1-intl php8.1-pspell php8.1-sqlite3 php8.1-tidy php8.1-xmlrpc php8.1-xsl memcached php-memcache php-imagick php8.1-zip php8.1-mbstring php-soap php8.1-soap
8589
RUN echo "ServerName localhost" > /etc/apache2/conf-available/servername.conf && a2enconf servername
8690
ADD ./etc/apache2/conf-available/httpoxy.conf /etc/apache2/conf-available/httpoxy.conf
8791
RUN a2enmod suexec rewrite ssl actions include dav_fs dav auth_digest cgi headers && a2enconf httpoxy && a2dissite 000-default && service apache2 restart
8892

8993
# PHP Opcode cache
90-
RUN apt-get -y install php7.4-opcache php-apcu
94+
RUN apt-get -y install php8.1-opcache php-apcu
9195

9296
# PHP 7.4 FPM
93-
RUN apt-get -y install php7.4-fpm
97+
RUN apt-get -y install php8.1-fpm
9498

9599
RUN a2enmod actions proxy_fcgi alias
96100
RUN service apache2 stop
@@ -109,16 +113,7 @@ RUN apt-get -y install vlogger webalizer awstats geoip-database libclass-dbi-mys
109113
ADD etc/cron.d/awstats /etc/cron.d/
110114

111115
# Install Jailkit
112-
RUN apt-get -y install build-essential autoconf automake libtool flex bison debhelper binutils python
113-
RUN cd /tmp \
114-
&& wget http://olivier.sessink.nl/jailkit/jailkit-2.19.tar.gz \
115-
&& tar xvfz jailkit-2.19.tar.gz \
116-
&& cd jailkit-2.19 \
117-
&& echo 5 > debian/compat \
118-
&& ./debian/rules binary \
119-
&& make install \
120-
&& cd /tmp \
121-
&& rm -rf jailkit-2.19*
116+
RUN apt-get -y install build-essential autoconf automake libtool flex bison debhelper binutils python3 jailkit
122117

123118
# Install fail2ban
124119
RUN apt-get -y install fail2ban
@@ -148,6 +143,10 @@ ADD ./update.php /tmp/ispconfig3_install/install/update.php
148143
ADD ./install.php /tmp/ispconfig3_install/install/install.php
149144

150145
ADD ./etc/postfix/master.cf /etc/postfix/master.cf
146+
147+
ADD ./etc/postfix/client_checks /etc/postfix/client_checks
148+
RUN postmap /etc/postfix/client_checks
149+
151150
ADD ./etc/clamav/clamd.conf /etc/clamav/clamd.conf
152151

153152
RUN echo "export TERM=xterm" >> /root/.bashrc
@@ -184,4 +183,4 @@ ADD ./do-1st-backup.sh /do-1st-backup.sh
184183
## FIX: mysqldump Error: Unknown table ‘COLUMN_STATISTICS’ in information_schema (1109)
185184
RUN echo "column-statistics=0" >> /etc/mysql/conf.d/mysqldump.cnf
186185

187-
CMD ["/bin/bash", "/start.sh"]
186+
CMD ["/bin/bash", "/start.sh"]

Makefile

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
#Dockerfile vars
2+
3+
#vars
4+
TAG=3.2.11p1
5+
IMAGENAME=docker-ispconfig
6+
IMAGEFULLNAME=avhost/${IMAGENAME}
7+
BRANCH=${shell git symbolic-ref --short HEAD}
8+
LASTCOMMIT=$(shell git log -1 --pretty=short | tail -n 1 | tr -d " " | tr -d "UPDATE:")
9+
10+
11+
help:
12+
@echo "Makefile arguments:"
13+
@echo ""
14+
@echo "Makefile commands:"
15+
@echo "build"
16+
@echo "publish-latest"
17+
@echo "publish-tag"
18+
19+
.DEFAULT_GOAL := all
20+
21+
ifeq (${BRANCH}, master)
22+
BRANCH=latest
23+
endif
24+
25+
ifneq ($(shell echo $(LASTCOMMIT) | grep -E '^v([0-9]+\.){0,2}(\*|[0-9]+)'),)
26+
BRANCH=${LASTCOMMIT}
27+
else
28+
BRANCH=latest
29+
endif
30+
31+
build:
32+
@echo ">>>> Build docker image: latest"
33+
@docker build --build-arg TAG=${TAG} --build-arg BUILDDATE=${BUILDDATE} -t ${IMAGEFULLNAME}:latest .
34+
35+
push:
36+
@echo ">>>> Publish docker image: " ${BRANCH}
37+
@docker build --push --build-arg TAG=${TAG} --build-arg BUILDDATE=${BUILDDATE} -t ${IMAGEFULLNAME}:${BRANCH} .
38+
@docker build --push --build-arg TAG=${TAG} --build-arg BUILDDATE=${BUILDDATE} -t ${IMAGEFULLNAME}:latest .
39+
40+
seccheck:
41+
grype --add-cpes-if-none dir:.
42+
43+
imagecheck:
44+
trivy image ${IMAGEFULLNAME}:${BRANCH}
45+
46+
sboom:
47+
syft dir:. > sbom.txt
48+
syft dir:. -o json > sbom.json
49+
50+
51+
all: seccheck sboom build imagecheck

do-1st-backup.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ output=/var/backup/1st-backup-complete.log
77

88
if [ ! -f "$output" ]
99
then
10+
if [ ! -f "/data_tmp" ]
11+
then
12+
mkdir /data_tmp/
13+
fi
1014
echo "Waiting for 30 sec to ensure install is completed before doing the backup"
1115
sleep 30
1216
cp -r --parents /var/lib/amavis/ /data_tmp/

etc/postfix/client_checks

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
5.178.4.0/22 REJECT Fuck you spam
2+

sbom.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"artifacts":[{"id":"7ba3a2f9ab894e29","name":"actions/checkout","version":"v2","type":"github-action","foundBy":"github-actions-usage-cataloger","locations":[{"path":"/.github/workflows/build_images.yml","accessPath":"/.github/workflows/build_images.yml","annotations":{"evidence":"primary"}}],"licenses":[],"language":"","cpes":["cpe:2.3:a:actions\\/checkout:actions\\/checkout:v2:*:*:*:*:*:*:*"],"purl":"pkg:github/actions/checkout@v2"},{"id":"855035f3b185b558","name":"docker/build-push-action","version":"v2","type":"github-action","foundBy":"github-actions-usage-cataloger","locations":[{"path":"/.github/workflows/build_images.yml","accessPath":"/.github/workflows/build_images.yml","annotations":{"evidence":"primary"}}],"licenses":[],"language":"","cpes":["cpe:2.3:a:docker\\/build-push-action:docker\\/build-push-action:v2:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/build-push-action:docker\\/build_push_action:v2:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/build_push_action:docker\\/build-push-action:v2:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/build_push_action:docker\\/build_push_action:v2:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/build-push:docker\\/build-push-action:v2:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/build-push:docker\\/build_push_action:v2:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/build_push:docker\\/build-push-action:v2:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/build_push:docker\\/build_push_action:v2:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/build:docker\\/build-push-action:v2:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/build:docker\\/build_push_action:v2:*:*:*:*:*:*:*"],"purl":"pkg:github/docker/build-push-action@v2"},{"id":"3c7cf62093237722","name":"docker/login-action","version":"v1","type":"github-action","foundBy":"github-actions-usage-cataloger","locations":[{"path":"/.github/workflows/build_images.yml","accessPath":"/.github/workflows/build_images.yml","annotations":{"evidence":"primary"}}],"licenses":[],"language":"","cpes":["cpe:2.3:a:docker\\/login-action:docker\\/login-action:v1:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/login-action:docker\\/login_action:v1:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/login_action:docker\\/login-action:v1:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/login_action:docker\\/login_action:v1:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/login:docker\\/login-action:v1:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/login:docker\\/login_action:v1:*:*:*:*:*:*:*"],"purl":"pkg:github/docker/login-action@v1"},{"id":"08e24b894a733d64","name":"docker/setup-buildx-action","version":"v1","type":"github-action","foundBy":"github-actions-usage-cataloger","locations":[{"path":"/.github/workflows/build_images.yml","accessPath":"/.github/workflows/build_images.yml","annotations":{"evidence":"primary"}}],"licenses":[],"language":"","cpes":["cpe:2.3:a:docker\\/setup-buildx-action:docker\\/setup-buildx-action:v1:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/setup-buildx-action:docker\\/setup_buildx_action:v1:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/setup_buildx_action:docker\\/setup-buildx-action:v1:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/setup_buildx_action:docker\\/setup_buildx_action:v1:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/setup-buildx:docker\\/setup-buildx-action:v1:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/setup-buildx:docker\\/setup_buildx_action:v1:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/setup_buildx:docker\\/setup-buildx-action:v1:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/setup_buildx:docker\\/setup_buildx_action:v1:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/setup:docker\\/setup-buildx-action:v1:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/setup:docker\\/setup_buildx_action:v1:*:*:*:*:*:*:*"],"purl":"pkg:github/docker/setup-buildx-action@v1"},{"id":"8a6b90e73500480f","name":"docker/setup-qemu-action","version":"v1","type":"github-action","foundBy":"github-actions-usage-cataloger","locations":[{"path":"/.github/workflows/build_images.yml","accessPath":"/.github/workflows/build_images.yml","annotations":{"evidence":"primary"}}],"licenses":[],"language":"","cpes":["cpe:2.3:a:docker\\/setup-qemu-action:docker\\/setup-qemu-action:v1:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/setup-qemu-action:docker\\/setup_qemu_action:v1:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/setup_qemu_action:docker\\/setup-qemu-action:v1:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/setup_qemu_action:docker\\/setup_qemu_action:v1:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/setup-qemu:docker\\/setup-qemu-action:v1:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/setup-qemu:docker\\/setup_qemu_action:v1:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/setup_qemu:docker\\/setup-qemu-action:v1:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/setup_qemu:docker\\/setup_qemu_action:v1:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/setup:docker\\/setup-qemu-action:v1:*:*:*:*:*:*:*","cpe:2.3:a:docker\\/setup:docker\\/setup_qemu_action:v1:*:*:*:*:*:*:*"],"purl":"pkg:github/docker/setup-qemu-action@v1"}],"artifactRelationships":[{"parent":"08e24b894a733d64","child":"4712d3866fcb8633","type":"evident-by"},{"parent":"3c7cf62093237722","child":"4712d3866fcb8633","type":"evident-by"},{"parent":"7ba3a2f9ab894e29","child":"4712d3866fcb8633","type":"evident-by"},{"parent":"855035f3b185b558","child":"4712d3866fcb8633","type":"evident-by"},{"parent":"8a6b90e73500480f","child":"4712d3866fcb8633","type":"evident-by"},{"parent":"cdb4ee2aea69cc6a83331bbe96dc2caa9a299d21329efb0336fc02a82e1839a8","child":"08e24b894a733d64","type":"contains"},{"parent":"cdb4ee2aea69cc6a83331bbe96dc2caa9a299d21329efb0336fc02a82e1839a8","child":"3c7cf62093237722","type":"contains"},{"parent":"cdb4ee2aea69cc6a83331bbe96dc2caa9a299d21329efb0336fc02a82e1839a8","child":"7ba3a2f9ab894e29","type":"contains"},{"parent":"cdb4ee2aea69cc6a83331bbe96dc2caa9a299d21329efb0336fc02a82e1839a8","child":"855035f3b185b558","type":"contains"},{"parent":"cdb4ee2aea69cc6a83331bbe96dc2caa9a299d21329efb0336fc02a82e1839a8","child":"8a6b90e73500480f","type":"contains"}],"files":[{"id":"4712d3866fcb8633","location":{"path":"/.github/workflows/build_images.yml"}}],"source":{"id":"cdb4ee2aea69cc6a83331bbe96dc2caa9a299d21329efb0336fc02a82e1839a8","name":".","version":"","type":"directory","metadata":{"path":"."}},"distro":{},"descriptor":{"name":"syft","version":"[not provided]","configuration":{"catalogers":null,"package":{"cataloger":{"enabled":true,"scope":"squashed"},"search-unindexed-archives":false,"search-indexed-archives":true},"golang":{"search-local-mod-cache-licenses":false,"local-mod-cache-dir":"","search-remote-licenses":false,"proxy":"","no-proxy":""},"java":{"use-network":false,"maven-url":"","max-parent-recursive-depth":0},"javascript":{"search-remote-licenses":false,"npm-base-url":""},"linux-kernel":{"catalog-modules":true},"python":{"guess-unpinned-requirements":false},"file-metadata":{"cataloger":{"enabled":false,"scope":"squashed"},"digests":["sha256"]},"file-contents":{"cataloger":{"enabled":false,"scope":"squashed"},"skip-files-above-size":1048576,"globs":null},"registry":{"insecure-skip-tls-verify":false,"insecure-use-http":false,"auth":null,"ca-cert":""},"exclude":[],"platform":"","name":"","source":{"name":"","version":"","file":{"digests":["sha256"]}},"parallelism":1,"default-image-pull-source":"","base-path":"","exclude-binary-overlap-by-ownership":true}},"schema":{"version":"13.0.0","url":"https://raw.githubusercontent.com/anchore/syft/main/schema/json/schema-13.0.0.json"}}

sbom.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
NAME VERSION TYPE
2+
actions/checkout v2 github-action
3+
docker/build-push-action v2 github-action
4+
docker/login-action v1 github-action
5+
docker/setup-buildx-action v1 github-action
6+
docker/setup-qemu-action v1 github-action

start.sh

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,11 @@ then
6868
/etc/init.d/php7.4-fpm start
6969
fi
7070

71+
if [ "$isp_enable_jailkit" == "y" ];
72+
then
73+
/etc/init.d/sshd start
74+
fi
75+
7176
/etc/init.d/cron restart
7277

7378
unset isp_mysql_root_password
@@ -88,4 +93,4 @@ else
8893
/do-1st-backup.sh &
8994
fi
9095

91-
/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
96+
/usr/bin/supervisord -c /etc/supervisor/supervisord.conf

0 commit comments

Comments
 (0)