phpbb (3)
Published 2026-06-08 23:06:14 +02:00 by Dennis
Installation
docker pull git.nachvollciba.de/dennis/phpbb:3sha256:bf8c2d3c043fdb0d404241a5d648ca7c2da4ed674b603cf8c7cd0e4b0580b7a7Image layers
| ADD alpine-minirootfs-20260127-x86_64.tar.gz / # buildkit |
| CMD ["/bin/sh"] |
| ARG PHPBB_VERSION=3.3.17 |
| ENV PHP_VERSION=8.5 |
| ENV PHP_VERSION=85 |
| ENV PHPBB_ROOT=/opt/phpbb |
| ENV PHPBB_VERSION=3.3.17 |
| ENV PHPBB_FORUM_NAME=My phpBB Forum PHPBB_FORUM_DESCRIPTION=A phpBB Forum PHPBB_USERNAME=admin PHPBB_PASSWORD= PHPBB_FIRST_NAME=Admin PHPBB_LAST_NAME=User PHPBB_EMAIL=admin@example.com PHPBB_DATABASE_DRIVER=sqlite3 PHPBB_DATABASE_SQLITE_PATH=/opt/phpbb/phpbb.sqlite PHPBB_DATABASE_HOST=localhost PHPBB_DATABASE_NAME= PHPBB_DATABASE_USER= PHPBB_DATABASE_USERNAME= PHPBB_DATABASE_PASSWORD= PHPBB_DATABASE_PASS= SMTP_HOST= SMTP_PORT=25 SMTP_USER= SMTP_PASSWORD= SMTP_PROTOCOL= SERVER_PROTOCOL=http:// SERVER_NAME=localhost SERVER_PORT=8080 SCRIPT_PATH=/ COOKIE_SECURE=false PHP_MEMORY_LIMIT=128M PHP_CUSTOM_INI= |
| RUN |1 PHPBB_VERSION=3.3.17 /bin/sh -c addgroup -S phpbb && adduser -S -G phpbb -H -h ${PHPBB_ROOT} phpbb && mkdir -p ${PHPBB_ROOT} /opt/.docker && chown -R phpbb:phpbb ${PHPBB_ROOT} # buildkit |
| RUN |1 PHPBB_VERSION=3.3.17 /bin/sh -c apk update && apk add --virtual .php-deps --no-cache php${PHP_VERSION} php${PHP_VERSION}-fpm php${PHP_VERSION}-pdo php${PHP_VERSION}-pdo_mysql php${PHP_VERSION}-pdo_pgsql php${PHP_VERSION}-pdo_sqlite php${PHP_VERSION}-mysqli php${PHP_VERSION}-sqlite3 php${PHP_VERSION}-pgsql php${PHP_VERSION}-gd php${PHP_VERSION}-curl php${PHP_VERSION}-mbstring php${PHP_VERSION}-sodium php${PHP_VERSION}-xml php${PHP_VERSION}-zip php${PHP_VERSION}-exif php${PHP_VERSION}-fileinfo php${PHP_VERSION}-dom php${PHP_VERSION}-session php${PHP_VERSION}-simplexml php${PHP_VERSION}-ctype php${PHP_VERSION}-openssl php${PHP_VERSION}-tokenizer php${PHP_VERSION}-intl php${PHP_VERSION}-pecl-imagick && apk add --no-cache nginx curl unzip libcap ca-certificates mysql-client postgresql-client sqlite && rm -rf /var/cache/apk/* # buildkit |
| RUN |1 PHPBB_VERSION=3.3.17 /bin/sh -c sed -i "s/user = nobody/user = phpbb/g" /etc/php${PHP_VERSION}/php-fpm.d/www.conf && sed -i "s/group = nobody/group = phpbb/g" /etc/php${PHP_VERSION}/php-fpm.d/www.conf && sed -i "s/;listen.owner = nobody/listen.owner = phpbb/g" /etc/php${PHP_VERSION}/php-fpm.d/www.conf && sed -i "s/;listen.group = nobody/listen.group = phpbb/g" /etc/php${PHP_VERSION}/php-fpm.d/www.conf && echo "security.limit_extensions = .php" >> /etc/php${PHP_VERSION}/php-fpm.d/www.conf && setcap cap_net_bind_service=+ep /usr/sbin/nginx && echo "opcache.memory_consumption=128" >> /etc/php${PHP_VERSION}/conf.d/00_opcache.ini && echo "opcache.interned_strings_buffer=8" >> /etc/php${PHP_VERSION}/conf.d/00_opcache.ini && echo "opcache.max_accelerated_files=4000" >> /etc/php${PHP_VERSION}/conf.d/00_opcache.ini && echo "opcache.revalidate_freq=60" >> /etc/php${PHP_VERSION}/conf.d/00_opcache.ini && echo "opcache.fast_shutdown=1" >> /etc/php${PHP_VERSION}/conf.d/00_opcache.ini && echo "opcache.enable_cli=0" >> /etc/php${PHP_VERSION}/conf.d/00_opcache.ini && echo "opcache.validate_timestamps=1" >> /etc/php${PHP_VERSION}/conf.d/00_opcache.ini && echo "opcache.save_comments=1" >> /etc/php${PHP_VERSION}/conf.d/00_opcache.ini && echo "disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source,eval" >> /etc/php${PHP_VERSION}/php.ini && echo "open_basedir = ${PHPBB_ROOT}:/tmp" >> /etc/php${PHP_VERSION}/php.ini && echo "expose_php = Off" >> /etc/php${PHP_VERSION}/php.ini && echo "max_execution_time = 30" >> /etc/php${PHP_VERSION}/php.ini && echo "memory_limit = 128M" >> /etc/php${PHP_VERSION}/php.ini && echo "post_max_size = 32M" >> /etc/php${PHP_VERSION}/php.ini && echo "upload_max_filesize = 24M" >> /etc/php${PHP_VERSION}/php.ini && mkdir -p /var/lib/nginx /var/log/nginx /var/log/php${PHP_VERSION} /run/nginx && chown -R phpbb:phpbb /var/lib/nginx /var/log/nginx /var/log/php${PHP_VERSION} /run/nginx && touch /run/nginx.pid && chown phpbb:phpbb /run/nginx.pid # buildkit |
| COPY scripts/install-phpbb.sh scripts/docker-entrypoint.sh scripts/install-from-yml.sh /opt/.docker/ # buildkit |
| COPY config/nginx.conf /etc/nginx/http.d/default.conf # buildkit |
| RUN |1 PHPBB_VERSION=3.3.17 /bin/sh -c if [ -z "${PHPBB_VERSION}" ]; then echo "ERROR: PHPBB_VERSION build argument is not set" && exit 1; fi && echo "Installing phpBB version: ${PHPBB_VERSION}" && MAJOR_MINOR_VERSION=$(echo "${PHPBB_VERSION}" | grep -oE '^[0-9]+\.[0-9]+') && if [ -z "${MAJOR_MINOR_VERSION}" ]; then echo "ERROR: Could not extract major.minor version from ${PHPBB_VERSION}" && exit 1; fi && DOWNLOAD_URL="https://download.phpbb.com/pub/release/${MAJOR_MINOR_VERSION}/${PHPBB_VERSION}/phpBB-${PHPBB_VERSION}.zip" && echo "Downloading from: ${DOWNLOAD_URL}" && cd /tmp && curl -L -o phpbb.zip "${DOWNLOAD_URL}" && unzip phpbb.zip && rm phpbb.zip && mkdir -p ${PHPBB_ROOT}/phpbb && mv "phpBB3"/* ${PHPBB_ROOT}/phpbb/ && rm -rf "phpBB3" && mkdir -p ${PHPBB_ROOT}/phpbb/config && touch ${PHPBB_ROOT}/phpbb/config/config.php && chown -R phpbb:phpbb ${PHPBB_ROOT} && chmod -v 0750 ${PHPBB_ROOT} ${PHPBB_ROOT}/phpbb ${PHPBB_ROOT}/phpbb/* && mkdir -p ${PHPBB_ROOT}/phpbb/images/avatars/uploads && chmod -v 0770 ${PHPBB_ROOT}/phpbb/store ${PHPBB_ROOT}/phpbb/cache ${PHPBB_ROOT}/phpbb/files ${PHPBB_ROOT}/phpbb/images/avatars/uploads/ && chmod 0640 ${PHPBB_ROOT}/phpbb/config/config.php && find ${PHPBB_ROOT}/phpbb/cache -type d -exec chmod 750 {} \; && find ${PHPBB_ROOT}/phpbb/store -type d -exec chmod 750 {} \; 2>/dev/null || true && find ${PHPBB_ROOT}/phpbb/files -type d -exec chmod 750 {} \; 2>/dev/null || true && if [ -d "${PHPBB_ROOT}/phpbb/vendor" ]; then chmod -R 555 "${PHPBB_ROOT}/phpbb/vendor" && echo "SECURITY: Vendor directory is now properly protected (read-only)"; fi && echo "phpBB ${PHPBB_VERSION} has been installed successfully!" # buildkit |
| RUN |1 PHPBB_VERSION=3.3.17 /bin/sh -c chmod 755 /opt/.docker/*.sh && chown -R root:phpbb /opt/.docker && chmod 750 /opt/.docker && touch ${PHPBB_ROOT}/phpbb.sqlite && chown phpbb:phpbb ${PHPBB_ROOT}/phpbb.sqlite && chmod 0640 ${PHPBB_ROOT}/phpbb.sqlite && rm -rf /tmp/* /var/cache/apk/* # buildkit |
| WORKDIR /opt/phpbb |
| EXPOSE [8080/tcp] |
| HEALTHCHECK &{["CMD-SHELL" "curl -f http://localhost:8080/ || exit 1"] "30s" "5s" "30s" "0s" '\x03'} |
| USER phpbb |
| ENTRYPOINT ["/opt/.docker/docker-entrypoint.sh"] |
| CMD ["nginx" "-g" "daemon off;"] |