Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 38 additions & 39 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# syntax=docker/dockerfile:1

ARG ANONADDY_VERSION=1.3.0
ARG ALPINE_VERSION=3.18
ARG ALPINE_VERSION=3.21

FROM crazymax/yasu:latest AS yasu
FROM crazymax/alpine-s6:${ALPINE_VERSION}-2.2.0.3
Expand All @@ -18,35 +18,35 @@ RUN apk --no-cache add \
mysql-client \
nginx \
openssl \
php82 \
php82-cli \
php82-ctype \
php82-curl \
php82-dom \
php82-fileinfo \
php82-fpm \
php82-gd \
php82-gmp \
php82-iconv \
php82-intl \
php82-json \
php82-mbstring \
php82-opcache \
php82-openssl \
php82-pdo \
php82-pdo_mysql \
php82-pecl-imagick \
php82-phar \
php82-redis \
php82-session \
php82-simplexml \
php82-sodium \
php82-tokenizer \
php82-xml \
php82-xmlreader \
php82-xmlwriter \
php82-zip \
php82-zlib \
php83 \
php83-cli \
php83-ctype \
php83-curl \
php83-dom \
php83-fileinfo \
php83-fpm \
php83-gd \
php83-gmp \
php83-iconv \
php83-intl \
php83-json \
php83-mbstring \
php83-opcache \
php83-openssl \
php83-pdo \
php83-pdo_mysql \
php83-pecl-imagick \
php83-phar \
php83-redis \
php83-session \
php83-simplexml \
php83-sodium \
php83-tokenizer \
php83-xml \
php83-xmlreader \
php83-xmlwriter \
php83-zip \
php83-zlib \
postfix \
postfix-mysql \
rspamd \
Expand All @@ -55,7 +55,6 @@ RUN apk --no-cache add \
shadow \
tar \
tzdata \
&& ln -s /usr/bin/php82 /usr/bin/php \
&& cp /etc/postfix/master.cf /etc/postfix/master.cf.orig \
&& cp /etc/postfix/main.cf /etc/postfix/main.cf.orig \
&& apk --no-cache add -t build-dependencies \
Expand All @@ -65,12 +64,12 @@ RUN apk --no-cache add \
gpgme-dev \
libtool \
pcre-dev \
php82-dev \
php82-pear \
&& pecl82 install gnupg \
&& echo "extension=gnupg.so" > /etc/php82/conf.d/60_gnupg.ini \
&& pecl82 install mailparse \
&& echo "extension=mailparse.so" > /etc/php82/conf.d/60_mailparse.ini \
php83-dev \
php83-pear \
&& pecl83 install gnupg \
&& echo "extension=gnupg.so" > /etc/php83/conf.d/60_gnupg.ini \
&& pecl83 install mailparse \
&& echo "extension=mailparse.so" > /etc/php83/conf.d/60_mailparse.ini \
&& apk del build-dependencies \
&& rm -rf /tmp/* /var/www/*

Expand All @@ -97,11 +96,11 @@ RUN apk --no-cache add -t build-dependencies \
&& git init . && git remote add origin "https://github.com/anonaddy/anonaddy.git" \
&& git fetch --depth 1 origin "v${ANONADDY_VERSION}" && git checkout -q FETCH_HEAD \
&& composer install --optimize-autoloader --no-dev --no-interaction --no-ansi --ignore-platform-req=php-64bit \
&& chown -R anonaddy. /var/www/anonaddy \
&& chown -R anonaddy:anonaddy /var/www/anonaddy \
&& npm ci --ignore-scripts \
&& APP_URL=https://addy-sh.test npm run production \
&& npm prune --production \
&& chown -R nobody.nogroup /var/www/anonaddy \
&& chown -R nobody:nogroup /var/www/anonaddy \
&& apk del build-dependencies \
&& rm -rf /root/.composer \
/root/.config \
Expand Down
6 changes: 3 additions & 3 deletions rootfs/etc/cont-init.d/02-fix-perms.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ mkdir -p /data \
/data/postfix/queue \
/var/run/nginx \
/var/run/php-fpm
chown anonaddy. /data
chown -R anonaddy. \
chown anonaddy:anonaddy /data
chown -R anonaddy:anonaddy \
/data/dkim \
/tpls \
/var/lib/nginx \
/var/log/nginx \
/var/log/php82 \
/var/log/php83 \
/var/run/nginx \
/var/run/php-fpm \
/var/www/anonaddy/bootstrap/cache \
Expand Down
14 changes: 7 additions & 7 deletions rootfs/etc/cont-init.d/10-config.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,22 +18,22 @@ mkdir -p /data/config
if [ ! -L /var/www/anonaddy/.config ]; then
ln -sf /data/config /var/www/anonaddy/.config
fi
chown -h anonaddy. /var/www/anonaddy/config
chown -R anonaddy. /data/config
chown -h anonaddy:anonaddy /var/www/anonaddy/config
chown -R anonaddy:anonaddy /data/config
mkdir -p /data/storage
if [ ! -L /var/www/anonaddy/storage ]; then
cp -Rf /var/www/anonaddy/storage /data
rm -rf /var/www/anonaddy/storage
ln -sf /data/storage /var/www/anonaddy/storage
fi
chown -h anonaddy. /var/www/anonaddy/storage
chown -R anonaddy. /data/storage
chown -h anonaddy:anonaddy /var/www/anonaddy/storage
chown -R anonaddy:anonaddy /data/storage
mkdir -p /data/.gnupg
if [ ! -L /var/www/anonaddy/.gnupg ]; then
ln -sf /data/.gnupg /var/www/anonaddy/.gnupg
fi
chown -h anonaddy. /var/www/anonaddy/.gnupg
chown -R anonaddy. /data/.gnupg
chown -h anonaddy:anonaddy /var/www/anonaddy/.gnupg
chown -R anonaddy:anonaddy /data/.gnupg
chmod 700 /data/.gnupg

echo "Checking database connection..."
Expand All @@ -45,7 +45,7 @@ if [ -z "$DB_PASSWORD" ]; then
echo >&2 "ERROR: Either DB_PASSWORD or DB_PASSWORD_FILE must be defined"
exit 1
fi
dbcmd="mysql -h ${DB_HOST} -P ${DB_PORT} -u "${DB_USERNAME}" "-p${DB_PASSWORD}""
dbcmd="mariadb -h ${DB_HOST} -P ${DB_PORT} -u "${DB_USERNAME}" "-p${DB_PASSWORD}""

echo "Waiting ${DB_TIMEOUT}s for database to be ready..."
counter=1
Expand Down
10 changes: 5 additions & 5 deletions rootfs/etc/cont-init.d/11-config-php.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,18 @@ set -e
. $(dirname $0)/00-env

echo "Init PHP extensions"
cp -Rf /tpls/etc/php82/conf.d /etc/php82
cp -Rf /tpls/etc/php83/conf.d /etc/php83

echo "Setting PHP-FPM configuration"
sed -e "s/@MEMORY_LIMIT@/$MEMORY_LIMIT/g" \
-e "s/@UPLOAD_MAX_SIZE@/$UPLOAD_MAX_SIZE/g" \
-e "s/@CLEAR_ENV@/$CLEAR_ENV/g" \
/tpls/etc/php82/php-fpm.d/www.conf >/etc/php82/php-fpm.d/www.conf
/tpls/etc/php83/php-fpm.d/www.conf >/etc/php83/php-fpm.d/www.conf

echo "Setting PHP INI configuration"
sed -i "s|memory_limit.*|memory_limit = ${MEMORY_LIMIT}|g" /etc/php82/php.ini
sed -i "s|;date\.timezone.*|date\.timezone = ${TZ}|g" /etc/php82/php.ini
sed -i "s|memory_limit.*|memory_limit = ${MEMORY_LIMIT}|g" /etc/php83/php.ini
sed -i "s|;date\.timezone.*|date\.timezone = ${TZ}|g" /etc/php83/php.ini

echo "Setting OpCache configuration"
sed -e "s/@OPCACHE_MEM_SIZE@/$OPCACHE_MEM_SIZE/g" \
/tpls/etc/php82/conf.d/opcache.ini >/etc/php82/conf.d/opcache.ini
/tpls/etc/php83/conf.d/opcache.ini >/etc/php83/conf.d/opcache.ini
2 changes: 1 addition & 1 deletion rootfs/etc/cont-init.d/13-config-anonaddy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ if [ -f "/data/.env" ]; then
cat "/data/.env" >> /var/www/anonaddy/.env
fi

chown anonaddy. /var/www/anonaddy/.env
chown anonaddy:anonaddy /var/www/anonaddy/.env

echo "Trust all proxies"
sed -i "s|^ protected \$proxies.*| protected \$proxies = '\*';|g" /var/www/anonaddy/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php
2 changes: 1 addition & 1 deletion rootfs/etc/cont-init.d/50-svc-main.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,6 @@ cat > /etc/services.d/php-fpm/run <<EOL
#!/usr/bin/execlineb -P
with-contenv
s6-setuidgid ${PUID}:${PGID}
php-fpm82 -F
php-fpm83 -F
EOL
chmod +x /etc/services.d/php-fpm/run
4 changes: 2 additions & 2 deletions rootfs/etc/cont-init.d/60-svc-rspamd.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ fi

# Init
mkdir -p -m o-rwx /var/run/rspamd
chown rspamd. /var/run/rspamd
chown rspamd:rspamd /var/run/rspamd

# Fix perms
chown -R rspamd. /etc/rspamd /var/lib/rspamd
chown -R rspamd:rspamd /etc/rspamd /var/lib/rspamd

# Create service
mkdir -p /etc/services.d/rspamd
Expand Down
2 changes: 2 additions & 0 deletions rootfs/etc/my.cnf.d/skip-ssl.cnf
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[client]
skip-ssl = true
2 changes: 1 addition & 1 deletion rootfs/usr/local/bin/gen-dkim
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@ echo "generating private and storing in ${DKIM_PRIVATE_KEY}"
echo "generating DNS TXT record with public key and storing it in /data/dkim/${ANONADDY_DOMAIN}.txt"
echo ""
rspamadm dkim_keygen -s "${ANONADDY_DKIM_SELECTOR}" -b 2048 -d "${ANONADDY_DOMAIN}" -k "${DKIM_PRIVATE_KEY}" | tee -a "/data/dkim/${ANONADDY_DOMAIN}.txt"
chown -R anonaddy. /data/dkim
chown -R anonaddy:anonaddy /data/dkim
Loading