forked from CanastaWiki/Canasta
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathfinal.Dockerfile
More file actions
97 lines (91 loc) · 3.87 KB
/
Copy pathfinal.Dockerfile
File metadata and controls
97 lines (91 loc) · 3.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
COPY --from=composer $MW_HOME $MW_HOME
COPY --from=composer $MW_ORIGIN_FILES $MW_ORIGIN_FILES
# Default values
ENV MW_AUTOUPDATE=true \
MW_MAINTENANCE_UPDATE=0 \
MW_ENABLE_EMAIL=0 \
MW_ENABLE_USER_EMAIL=0 \
MW_ENABLE_UPLOADS=0 \
MW_USE_IMAGE_MAGIC=0 \
MW_USE_INSTANT_COMMONS=0 \
MW_EMERGENCY_CONTACT=apache@invalid \
MW_PASSWORD_SENDER=apache@invalid \
MW_MAIN_CACHE_TYPE=CACHE_NONE \
MW_DB_TYPE=mysql \
MW_DB_SERVER=db \
MW_DB_NAME=mediawiki \
MW_DB_USER=root \
MW_DB_INSTALLDB_USER=root \
MW_REDIS_SERVERS=redis:6379 \
MW_CIRRUS_SEARCH_SERVERS=elasticsearch \
MW_MAINTENANCE_CIRRUSSEARCH_UPDATECONFIG=2 \
MW_MAINTENANCE_CIRRUSSEARCH_FORCEINDEX=2 \
MW_ENABLE_JOB_RUNNER=true \
MW_JOB_RUNNER_PAUSE=2 \
MW_JOB_RUNNER_MEMORY_LIMIT=512M \
MW_ENABLE_TRANSCODER=true \
MW_JOB_TRANSCODER_PAUSE=60 \
MW_MAP_DOMAIN_TO_DOCKER_GATEWAY=0 \
MW_ENABLE_SITEMAP_GENERATOR=false \
MW_SHOW_NON_PROD_INDICATOR=false \
MW_SITEMAP_PAUSE_DAYS=1 \
MW_SITEMAP_SUBDIR="" \
MW_SITEMAP_IDENTIFIER="mediawiki" \
MW_CONFIG_DIR=/mediawiki/config \
PHP_ERROR_REPORTING="E_ALL & ~E_USER_DEPRECATED & ~E_DEPRECATED & ~E_STRICT" \
PHP_ERROR_LOG="" \
PHP_UPLOAD_MAX_FILESIZE=10M \
PHP_POST_MAX_SIZE=10M \
PHP_MEMORY_LIMIT=128M \
PHP_MAX_INPUT_VARS=1000 \
PHP_MAX_EXECUTION_TIME=60 \
PHP_MAX_INPUT_TIME=60 \
LOG_FILES_COMPRESS_DELAY=3600 \
LOG_FILES_REMOVE_OLDER_THAN_DAYS=10 \
MEDIAWIKI_MAINTENANCE_AUTO_ENABLED=false \
MW_USE_CACHE_DIRECTORY=1 \
APACHE_REMOTE_IP_HEADER=X-Forwarded-For \
MW_AUTO_IMPORT=1 \
ENABLE_BASH_XTRACE=false \
MPM_PREFORK_START_SERVERS=5 \
MPM_PREFORK_MIN_SPARE_SERVERS=5 \
MPM_PREFORK_MAX_SPARE_SERVERS=10 \
MPM_PREFORK_MAX_REQUEST_WORKERS=150 \
MPM_PREFORK_MAX_REQUESTS_PER_CHILD=3000
COPY _sources/configs/msmtprc /etc/
COPY _sources/configs/mediawiki.conf /etc/apache2/sites-enabled/
COPY _sources/configs/status.conf /etc/apache2/mods-available/
COPY _sources/configs/scan.conf /etc/clamd.d/scan.conf
# UPDATE code related to PHP_ERROR_REPORTING in run-apache.sh when the paths changed
COPY _sources/configs/php_cli_*.ini _sources/configs/php_common_*.ini /etc/php/8.3/cli/conf.d/
COPY _sources/configs/php_apache2_*.ini _sources/configs/php_common_*.ini /etc/php/8.3/apache2/conf.d/
COPY _sources/scripts/*.sh /
COPY _sources/scripts/*.php $MW_HOME/maintenance/
COPY _sources/configs/robots.php $WWW_ROOT/
COPY _sources/configs/robots.txt $WWW_ROOT/
COPY _sources/configs/.htaccess $WWW_ROOT/
COPY _sources/images/favicon.ico $WWW_ROOT/
COPY _sources/canasta/DockerSettings.php $MW_HOME/
COPY _sources/canasta/non-prod-indicator $MW_HOME/resources/wikiteq-non-prod/
COPY _sources/canasta/getMediawikiSettings.php /
COPY _sources/configs/mpm_prefork.conf /etc/apache2/mods-available/mpm_prefork.conf.template
RUN set -x; \
chmod -v +x /*.sh && \
# Sitemap directory
mkdir -p $MW_ORIGIN_FILES/sitemap && \
ln -s $MW_VOLUME/sitemap $MW_HOME/sitemap && \
# Comment out ErrorLog and CustomLog parameters, we use rotatelogs in mediawiki.conf for the log files
sed -i 's/^\(\s*ErrorLog .*\)/# \1/g' /etc/apache2/apache2.conf && \
sed -i 's/^\(\s*CustomLog .*\)/# \1/g' /etc/apache2/apache2.conf && \
# Make web installer work with Canasta
cp "$MW_HOME/includes/Output/NoLocalSettings.php" "$MW_HOME/includes/CanastaNoLocalSettings.php" && \
sed -i 's/MW_CONFIG_FILE/CANASTA_CONFIG_FILE/g' "$MW_HOME/includes/CanastaNoLocalSettings.php" && \
# Modify config
sed -i '/<Directory \/var\/www\/>/,/<\/Directory>/ s/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf && \
a2enmod expires remoteip && \
a2disconf other-vhosts-access-log && \
# For Widgets extension
mkdir -p $MW_ORIGIN_FILES/extensions/Widgets && \
mv $MW_HOME/extensions/Widgets/compiled_templates $MW_ORIGIN_FILES/extensions/Widgets/ && \
ln -s $MW_VOLUME/extensions/Widgets/compiled_templates $MW_HOME/extensions/Widgets/compiled_templates
COPY _sources/images/Powered-by-Canasta.png /var/www/mediawiki/w/resources/assets/