2020-01-07 20:14:53 -05:00
|
|
|
FROM "php:7.4-apache"
|
2018-05-06 16:25:46 +00:00
|
|
|
LABEL maintainer="Julien Cabillot <dockerimages@cabillot.eu>"
|
2017-11-06 15:55:15 +01:00
|
|
|
|
2018-05-18 12:08:29 -04:00
|
|
|
|
|
|
|
|
RUN export DEBIAN_FRONTEND="noninteractive" && \
|
|
|
|
|
sed -i'' 's/ServerSignature On/ServerSignature Off/; s/ServerTokens OS/ServerTokens Prod/' "/etc/apache2/conf-enabled/security.conf" && \
|
2017-11-06 17:21:00 +01:00
|
|
|
sed -i'' 's/^Listen 80$/Listen 8080/' "/etc/apache2/ports.conf" && \
|
2017-11-06 15:55:15 +01:00
|
|
|
sed -i'' 's/^<VirtualHost \*:80>$/<VirtualHost *:8080>/' '/etc/apache2/sites-enabled/000-default.conf' && \
|
2017-11-06 18:39:17 +01:00
|
|
|
echo "RemoteIPHeader X-Forwarded-For\nRemoteIPProxiesHeader X-Forwarded-By" > "${APACHE_CONFDIR}/conf-available/remoteip.conf" && \
|
|
|
|
|
sed -i'' 's/\(LogFormat "%h.*combined\)/LogFormat "%a %l %u %t \\"%r\\" %>s %O \\"%{Referer}i\\" \\"%{User-Agent}i\\"" combined/' "${APACHE_CONFDIR}/apache2.conf" && \
|
2017-11-06 15:55:15 +01:00
|
|
|
a2enconf remoteip && \
|
2017-11-07 09:31:03 +01:00
|
|
|
a2enmod remoteip headers rewrite && \
|
2017-12-07 13:47:44 +01:00
|
|
|
apt-get -qq --yes autoremove --purge && \
|
|
|
|
|
apt-get -qq --yes clean all && \
|
2018-05-22 13:06:08 -04:00
|
|
|
# Ici je ne supprime pas /usr/src car utilisé par les sous projets (docker php
|
2018-05-18 12:08:29 -04:00
|
|
|
rm -rf "/usr/share/doc/"* \
|
|
|
|
|
"/var/cache/"* \
|
|
|
|
|
"/var/lib/apt/lists/"* \
|
|
|
|
|
"/var/cache/"* \
|
|
|
|
|
"/var/log/"{apt/*,dpkg.log} \
|
|
|
|
|
"/var/www/html" \
|
|
|
|
|
"/tmp/"* && \
|
2017-11-06 17:10:34 +01:00
|
|
|
install --directory --group="www-data" --owner="www-data" --mode="2770" "/var/www/html" && \
|
|
|
|
|
# On active les logs sur stderr (apache + php)
|
|
|
|
|
sed -ri 's#^(\s*ErrorLog)\s+\S+#\1 /proc/self/fd/2#g;' "/etc/apache2/apache2.conf" && \
|
|
|
|
|
sed -ri ' \
|
|
|
|
|
s#^(\s*CustomLog)\s+\S+#\1 /proc/self/fd/1#g; \
|
|
|
|
|
s#^(\s*ErrorLog)\s+\S+#\1 /proc/self/fd/2#g; \
|
|
|
|
|
' "/etc/apache2/sites-enabled/000-default.conf" && \
|
2017-11-06 17:21:00 +01:00
|
|
|
echo "error_reporting=E_ALL\nerror_log=/proc/self/fd/2\nlog_errors=On\nexpose_php=Off" > "/usr/local/etc/php/conf.d/override.ini"
|
2017-11-06 15:55:15 +01:00
|
|
|
|
|
|
|
|
# Add Tini
|
2020-01-07 20:14:53 -05:00
|
|
|
ENV "TINI_VERSION" "v0.18.0"
|
2017-11-06 15:55:15 +01:00
|
|
|
ADD "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini" "/tini"
|
|
|
|
|
RUN chmod +x "/tini"
|
2018-02-13 10:31:33 +01:00
|
|
|
|
|
|
|
|
# TODO: actuellement tiny fout completement la merde
|
2020-01-07 20:14:53 -05:00
|
|
|
# TODO: on remets pour tester
|
|
|
|
|
ENTRYPOINT ["/tini", "--"]
|
2017-11-06 15:55:15 +01:00
|
|
|
|
|
|
|
|
CMD [ "docker-php-entrypoint", "apache2-foreground" ]
|
|
|
|
|
|
2017-11-06 19:14:06 +01:00
|
|
|
# C'est dommage mais il n'est pas possible de faire unexpose :
|
|
|
|
|
# https://github.com/moby/moby/issues/3465
|
2017-11-06 17:10:34 +01:00
|
|
|
EXPOSE "8080/tcp"
|
|
|
|
|
|
2018-03-27 20:14:09 +02:00
|
|
|
# TODO: à remettre une fois le bug corrigé
|
|
|
|
|
#HEALTHCHECK --interval="5s" \
|
|
|
|
|
# CMD curl --fail "http://localhost:8080" || exit 1
|