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}
|
||||
|
||||
# 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 push ${repoName}:${tag}
|
||||
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