Add Dockerfile for phpBB 3.2
This commit is contained in:
@@ -7,7 +7,7 @@ tagStart=$(expr index "$IMAGE_NAME" :)
|
|||||||
repoName=${IMAGE_NAME:0:tagStart-1}
|
repoName=${IMAGE_NAME:0:tagStart-1}
|
||||||
|
|
||||||
# Tag and push image for each additional tag
|
# Tag and push image for each additional tag
|
||||||
for tag in {3,3.1,3-apache,3.1-apache,apache,latest}; do
|
for tag in {3.1,3.1-apache}; do
|
||||||
docker tag $IMAGE_NAME ${repoName}:${tag}
|
docker tag $IMAGE_NAME ${repoName}:${tag}
|
||||||
docker push ${repoName}:${tag}
|
docker push ${repoName}:${tag}
|
||||||
done
|
done
|
||||||
76
3.2-apache/Dockerfile
Normal file
76
3.2-apache/Dockerfile
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
FROM alpine:latest
|
||||||
|
|
||||||
|
MAINTAINER Dmitry Seleznyov <selim013@gmail.com>
|
||||||
|
|
||||||
|
RUN apk add --no-cache curl \
|
||||||
|
imagemagick \
|
||||||
|
apache2 \
|
||||||
|
php5-apache2 \
|
||||||
|
php5-cli \
|
||||||
|
php5-ctype \
|
||||||
|
php5-opcache \
|
||||||
|
php5-curl \
|
||||||
|
php5-dom \
|
||||||
|
php5-openssl \
|
||||||
|
php5-ftp \
|
||||||
|
php5-mysqli \
|
||||||
|
php5-sqlite3 \
|
||||||
|
php5-pgsql \
|
||||||
|
php5-json \
|
||||||
|
php5-xml \
|
||||||
|
php5-zlib \
|
||||||
|
php5-zip \
|
||||||
|
php5-gd
|
||||||
|
|
||||||
|
### phpBB
|
||||||
|
ENV PHPBB_VERSION 3.2.0
|
||||||
|
ENV PHPBB_SHA256 '610d960b6e050b205b7248dea366c63bf1feee0551170c75fa4ecbacd5213a0d'
|
||||||
|
|
||||||
|
WORKDIR /tmp
|
||||||
|
|
||||||
|
ADD https://www.phpbb.com/files/release/phpBB-${PHPBB_VERSION}.tar.bz2 phpbb.tar.bz2
|
||||||
|
RUN echo "${PHPBB_SHA256} phpbb.tar.bz2" | sha256sum -c - \
|
||||||
|
&& tar -xjf phpbb.tar.bz2 \
|
||||||
|
&& mkdir /phpbb \
|
||||||
|
&& mkdir /phpbb/sqlite \
|
||||||
|
&& mv phpBB3 /phpbb/www
|
||||||
|
RUN rm -f phpbb.tar.bz2
|
||||||
|
|
||||||
|
COPY phpbb/config.php /phpbb/www
|
||||||
|
|
||||||
|
### Server
|
||||||
|
RUN mkdir -p /run/apache2 \
|
||||||
|
&& chown apache:apache /run/apache2
|
||||||
|
|
||||||
|
COPY apache2/httpd.conf /etc/apache2/
|
||||||
|
COPY apache2/conf.d/* /etc/apache2/conf.d/
|
||||||
|
|
||||||
|
COPY php5/php.ini /etc/php5/
|
||||||
|
COPY php5/php-cli.ini /etc/php5/
|
||||||
|
COPY php5/conf.d/* /etc/php5/conf.d/
|
||||||
|
|
||||||
|
COPY start.sh /usr/local/bin/
|
||||||
|
|
||||||
|
RUN chown -R apache:apache /phpbb
|
||||||
|
WORKDIR /phpbb/www
|
||||||
|
|
||||||
|
#VOLUME /phpbb/sqlite
|
||||||
|
#VOLUME /phpbb/www/files
|
||||||
|
#VOLUME /phpbb/www/store
|
||||||
|
#VOLUME /phpbb/www/images/avatars/upload
|
||||||
|
|
||||||
|
ENV PHPBB_INSTALL= \
|
||||||
|
PHPBB_DB_DRIVER=sqlite3 \
|
||||||
|
PHPBB_DB_HOST=/phpbb/sqlite/sqlite.db \
|
||||||
|
PHPBB_DB_PORT= \
|
||||||
|
PHPBB_DB_NAME= \
|
||||||
|
PHPBB_DB_USER= \
|
||||||
|
PHPBB_DB_PASSWD= \
|
||||||
|
PHPBB_DB_TABLE_PREFIX=phpbb_ \
|
||||||
|
PHPBB_DB_AUTOMIGRATE= \
|
||||||
|
PHPBB_DISPLAY_LOAD_TIME= \
|
||||||
|
PHPBB_DEBUG= \
|
||||||
|
PHPBB_DEBUG_CONTAINER=
|
||||||
|
|
||||||
|
EXPOSE 80
|
||||||
|
CMD ["start.sh"]
|
||||||
9
3.2-apache/apache2/conf.d/mpm.conf
Normal file
9
3.2-apache/apache2/conf.d/mpm.conf
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
PidFile "/run/apache2/httpd.pid"
|
||||||
|
|
||||||
|
<IfModule mpm_prefork_module>
|
||||||
|
StartServers 5
|
||||||
|
MinSpareServers 5
|
||||||
|
MaxSpareServers 10
|
||||||
|
MaxRequestWorkers 250
|
||||||
|
MaxConnectionsPerChild 0
|
||||||
|
</IfModule>
|
||||||
155
3.2-apache/apache2/httpd.conf
Normal file
155
3.2-apache/apache2/httpd.conf
Normal file
@@ -0,0 +1,155 @@
|
|||||||
|
ServerTokens Prod
|
||||||
|
|
||||||
|
ServerRoot /var/www
|
||||||
|
|
||||||
|
Listen 80
|
||||||
|
|
||||||
|
LoadModule authn_file_module modules/mod_authn_file.so
|
||||||
|
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
|
||||||
|
#LoadModule authn_anon_module modules/mod_authn_anon.so
|
||||||
|
#LoadModule authn_dbd_module modules/mod_authn_dbd.so
|
||||||
|
#LoadModule authn_socache_module modules/mod_authn_socache.so
|
||||||
|
LoadModule authn_core_module modules/mod_authn_core.so
|
||||||
|
LoadModule authz_host_module modules/mod_authz_host.so
|
||||||
|
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
|
||||||
|
LoadModule authz_user_module modules/mod_authz_user.so
|
||||||
|
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
|
||||||
|
#LoadModule authz_owner_module modules/mod_authz_owner.so
|
||||||
|
#LoadModule authz_dbd_module modules/mod_authz_dbd.so
|
||||||
|
LoadModule authz_core_module modules/mod_authz_core.so
|
||||||
|
LoadModule access_compat_module modules/mod_access_compat.so
|
||||||
|
LoadModule auth_basic_module modules/mod_auth_basic.so
|
||||||
|
#LoadModule auth_form_module modules/mod_auth_form.so
|
||||||
|
#LoadModule auth_digest_module modules/mod_auth_digest.so
|
||||||
|
#LoadModule allowmethods_module modules/mod_allowmethods.so
|
||||||
|
#LoadModule file_cache_module modules/mod_file_cache.so
|
||||||
|
#LoadModule cache_module modules/mod_cache.so
|
||||||
|
#LoadModule cache_disk_module modules/mod_cache_disk.so
|
||||||
|
#LoadModule cache_socache_module modules/mod_cache_socache.so
|
||||||
|
#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
|
||||||
|
#LoadModule socache_dbm_module modules/mod_socache_dbm.so
|
||||||
|
#LoadModule socache_memcache_module modules/mod_socache_memcache.so
|
||||||
|
#LoadModule watchdog_module modules/mod_watchdog.so
|
||||||
|
#LoadModule macro_module modules/mod_macro.so
|
||||||
|
#LoadModule dbd_module modules/mod_dbd.so
|
||||||
|
#LoadModule dumpio_module modules/mod_dumpio.so
|
||||||
|
#LoadModule echo_module modules/mod_echo.so
|
||||||
|
#LoadModule buffer_module modules/mod_buffer.so
|
||||||
|
#LoadModule data_module modules/mod_data.so
|
||||||
|
#LoadModule ratelimit_module modules/mod_ratelimit.so
|
||||||
|
LoadModule reqtimeout_module modules/mod_reqtimeout.so
|
||||||
|
#LoadModule ext_filter_module modules/mod_ext_filter.so
|
||||||
|
#LoadModule request_module modules/mod_request.so
|
||||||
|
#LoadModule include_module modules/mod_include.so
|
||||||
|
LoadModule filter_module modules/mod_filter.so
|
||||||
|
#LoadModule reflector_module modules/mod_reflector.so
|
||||||
|
#LoadModule substitute_module modules/mod_substitute.so
|
||||||
|
#LoadModule sed_module modules/mod_sed.so
|
||||||
|
#LoadModule charset_lite_module modules/mod_charset_lite.so
|
||||||
|
#LoadModule deflate_module modules/mod_deflate.so
|
||||||
|
LoadModule mime_module modules/mod_mime.so
|
||||||
|
LoadModule log_config_module modules/mod_log_config.so
|
||||||
|
#LoadModule log_debug_module modules/mod_log_debug.so
|
||||||
|
#LoadModule log_forensic_module modules/mod_log_forensic.so
|
||||||
|
#LoadModule logio_module modules/mod_logio.so
|
||||||
|
LoadModule env_module modules/mod_env.so
|
||||||
|
#LoadModule mime_magic_module modules/mod_mime_magic.so
|
||||||
|
#LoadModule expires_module modules/mod_expires.so
|
||||||
|
LoadModule headers_module modules/mod_headers.so
|
||||||
|
#LoadModule usertrack_module modules/mod_usertrack.so
|
||||||
|
#LoadModule unique_id_module modules/mod_unique_id.so
|
||||||
|
LoadModule setenvif_module modules/mod_setenvif.so
|
||||||
|
LoadModule version_module modules/mod_version.so
|
||||||
|
#LoadModule remoteip_module modules/mod_remoteip.so
|
||||||
|
#LoadModule session_module modules/mod_session.so
|
||||||
|
#LoadModule session_cookie_module modules/mod_session_cookie.so
|
||||||
|
#LoadModule session_dbd_module modules/mod_session_dbd.so
|
||||||
|
#LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
|
||||||
|
#LoadModule slotmem_plain_module modules/mod_slotmem_plain.so
|
||||||
|
#LoadModule dialup_module modules/mod_dialup.so
|
||||||
|
#LoadModule mpm_event_module modules/mod_mpm_event.so
|
||||||
|
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
|
||||||
|
#LoadModule mpm_worker_module modules/mod_mpm_worker.so
|
||||||
|
LoadModule unixd_module modules/mod_unixd.so
|
||||||
|
#LoadModule heartbeat_module modules/mod_heartbeat.so
|
||||||
|
#LoadModule heartmonitor_module modules/mod_heartmonitor.so
|
||||||
|
LoadModule status_module modules/mod_status.so
|
||||||
|
#LoadModule autoindex_module modules/mod_autoindex.so
|
||||||
|
#LoadModule asis_module modules/mod_asis.so
|
||||||
|
#LoadModule info_module modules/mod_info.so
|
||||||
|
#LoadModule suexec_module modules/mod_suexec.so
|
||||||
|
<IfModule !mpm_prefork_module>
|
||||||
|
#LoadModule cgid_module modules/mod_cgid.so
|
||||||
|
</IfModule>
|
||||||
|
<IfModule mpm_prefork_module>
|
||||||
|
#LoadModule cgi_module modules/mod_cgi.so
|
||||||
|
</IfModule>
|
||||||
|
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
|
||||||
|
#LoadModule negotiation_module modules/mod_negotiation.so
|
||||||
|
LoadModule dir_module modules/mod_dir.so
|
||||||
|
#LoadModule actions_module modules/mod_actions.so
|
||||||
|
#LoadModule speling_module modules/mod_speling.so
|
||||||
|
#LoadModule userdir_module modules/mod_userdir.so
|
||||||
|
LoadModule alias_module modules/mod_alias.so
|
||||||
|
LoadModule rewrite_module modules/mod_rewrite.so
|
||||||
|
|
||||||
|
LoadModule negotiation_module modules/mod_negotiation.so
|
||||||
|
|
||||||
|
<IfModule unixd_module>
|
||||||
|
User apache
|
||||||
|
Group apache
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
|
||||||
|
ServerAdmin you@example.com
|
||||||
|
|
||||||
|
ServerSignature Off
|
||||||
|
|
||||||
|
#ServerName www.example.com:80
|
||||||
|
|
||||||
|
<Directory />
|
||||||
|
AllowOverride none
|
||||||
|
Require all denied
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
DocumentRoot "/phpbb/www"
|
||||||
|
<Directory "/phpbb/www">
|
||||||
|
Options FollowSymLinks
|
||||||
|
AllowOverride All
|
||||||
|
Require all granted
|
||||||
|
|
||||||
|
# Return 404 for all dot files (.htaccess, .git, etc...)
|
||||||
|
RedirectMatch 404 /\..*$
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
<IfModule dir_module>
|
||||||
|
DirectoryIndex index.php index.html
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
<Files ".ht*">
|
||||||
|
Require all denied
|
||||||
|
</Files>
|
||||||
|
|
||||||
|
ErrorLog /dev/stderr
|
||||||
|
LogLevel warn
|
||||||
|
|
||||||
|
<IfModule log_config_module>
|
||||||
|
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
|
||||||
|
LogFormat "%h %l %u %t \"%r\" %>s %b" common
|
||||||
|
|
||||||
|
CustomLog /dev/stdout combined
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
|
||||||
|
<IfModule mime_module>
|
||||||
|
TypesConfig /etc/apache2/mime.types
|
||||||
|
AddType application/x-compress .Z
|
||||||
|
AddType application/x-gzip .gz .tgz
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
|
||||||
|
<IfModule mime_magic_module>
|
||||||
|
MIMEMagicFile /etc/apache2/magic
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
IncludeOptional /etc/apache2/conf.d/*.conf
|
||||||
13
3.2-apache/hooks/post_push
Executable file
13
3.2-apache/hooks/post_push
Executable file
@@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Parse image name for repo name
|
||||||
|
tagStart=$(expr index "$IMAGE_NAME" :)
|
||||||
|
repoName=${IMAGE_NAME:0:tagStart-1}
|
||||||
|
|
||||||
|
# Tag and push image for each additional tag
|
||||||
|
for tag in {3,3.2,3-apache,3.2-apache,apache,latest}; do
|
||||||
|
docker tag $IMAGE_NAME ${repoName}:${tag}
|
||||||
|
docker push ${repoName}:${tag}
|
||||||
|
done
|
||||||
6
3.2-apache/php5/conf.d/opcache-recomended.ini
Normal file
6
3.2-apache/php5/conf.d/opcache-recomended.ini
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
opcache.memory_consumption=128
|
||||||
|
opcache.interned_strings_buffer=8
|
||||||
|
opcache.max_accelerated_files=4000
|
||||||
|
opcache.revalidate_freq=60
|
||||||
|
opcache.fast_shutdown=1
|
||||||
|
opcache.enable_cli=1
|
||||||
2
3.2-apache/php5/php-cli.ini
Normal file
2
3.2-apache/php5/php-cli.ini
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
[php]
|
||||||
|
memory_limit = -1
|
||||||
18
3.2-apache/php5/php.ini
Normal file
18
3.2-apache/php5/php.ini
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
[PHP]
|
||||||
|
file_uploads = On
|
||||||
|
max_file_uploads = 2
|
||||||
|
upload_max_filesize = 8M
|
||||||
|
post_max_size = 8M
|
||||||
|
|
||||||
|
allow_url_fopen = On
|
||||||
|
|
||||||
|
expose_php = Off
|
||||||
|
security.limit_extensions = .php
|
||||||
|
|
||||||
|
output_buffering = On
|
||||||
|
display_errors = Off
|
||||||
|
log_errors = On
|
||||||
|
error_log = /dev/stderr
|
||||||
|
|
||||||
|
[Date]
|
||||||
|
date.timezone = 'UTC'
|
||||||
25
3.2-apache/phpbb/config.php
Normal file
25
3.2-apache/phpbb/config.php
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$dbms = 'phpbb\\db\\driver\\' . $_ENV['PHPBB_DB_DRIVER'];
|
||||||
|
$dbhost = $_ENV['PHPBB_DB_HOST'];
|
||||||
|
$dbport = $_ENV['PHPBB_DB_PORT'];
|
||||||
|
$dbname = $_ENV['PHPBB_DB_NAME'];
|
||||||
|
$dbuser = $_ENV['PHPBB_DB_USER'];
|
||||||
|
$dbpasswd = $_ENV['PHPBB_DB_PASSWD'];
|
||||||
|
$table_prefix = $_ENV['PHPBB_DB_TABLE_PREFIX'];
|
||||||
|
$phpbb_adm_relative_path = 'adm/';
|
||||||
|
$acm_type = 'phpbb\\cache\\driver\\file';
|
||||||
|
|
||||||
|
@define('PHPBB_INSTALLED', true);
|
||||||
|
|
||||||
|
if ($_ENV['PHPBB_DISPLAY_LOAD_TIME'] === 'true') {
|
||||||
|
@define('PHPBB_DISPLAY_LOAD_TIME', true);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($_ENV['PHPBB_DEBUG'] === 'true') {
|
||||||
|
@define('DEBUG', true);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($_ENV['PHPBB_DEBUG_CONTAINER'] === 'true') {
|
||||||
|
@define('DEBUG_CONTAINER', true);
|
||||||
|
}
|
||||||
27
3.2-apache/start.sh
Executable file
27
3.2-apache/start.sh
Executable file
@@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
[[ "${PHPBB_INSTALL}" = "true" ]] && echo "" > config.php
|
||||||
|
[[ "${PHPBB_INSTALL}" != "true" ]] && rm -rf install
|
||||||
|
|
||||||
|
db_wait() {
|
||||||
|
if [[ "${PHPBB_DB_WAIT}" = "true" && "${PHPBB_DB_DRIVER}" != "sqlite3" && "${PHPBB_DB_DRIVER}" != "sqlite" ]]; then
|
||||||
|
until nc -z ${PHPBB_DB_HOST} ${PHPBB_DB_PORT}; do
|
||||||
|
echo "$(date) - waiting for database on ${PHPBB_DB_HOST}:${PHPBB_DB_PORT} to start before applying migrations"
|
||||||
|
sleep 3
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
db_migrate() {
|
||||||
|
if [[ "${PHPBB_DB_AUTOMIGRATE}" = "true" && "${PHPBB_INSTALL}" != "true" ]]; then
|
||||||
|
echo "$(date) - applying migrations"
|
||||||
|
php bin/phpbbcli.php db:migrate
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Apache gets grumpy about PID files pre-existing
|
||||||
|
rm -f /run/apache2/httpd.pid
|
||||||
|
|
||||||
|
db_wait && db_migrate && exec httpd -DFOREGROUND "$@"
|
||||||
Reference in New Issue
Block a user