mirror of
https://github.com/outbackdingo/Mailu.git
synced 2026-01-28 10:19:35 +00:00
Merge #1998
1998: Fix healthcheck r=mergify[bot] a=ghostwheel42 ## What type of PR? bug-fix ## What does this PR do? - fixes health check of roundcube container (introduced with sso / endless redirect) - silence logging of health checks - write php error log directly to /dev/stderr ### Related issue(s) ## Prerequisites Before we can consider review and merge, please make sure the following list is done and checked. If an entry in not applicable, you can check it or remove it from the list. - [ ] In case of feature or enhancement: documentation updated accordingly - [ ] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/workflow.html#changelog) entry file. Co-authored-by: Alexander Graf <ghostwheel42@users.noreply.github.com>
This commit is contained in:
@@ -11,7 +11,8 @@ FROM build_${QEMU}
|
||||
RUN apt-get update && apt-get install -y \
|
||||
python3 curl python3-pip git python3-multidict \
|
||||
&& rm -rf /var/lib/apt/lists \
|
||||
&& echo "ServerSignature Off" >> /etc/apache2/apache2.conf
|
||||
&& echo "ServerSignature Off\nServerName roundcube" >> /etc/apache2/apache2.conf \
|
||||
&& sed -i 's,CustomLog.*combined$,\0 "'"expr=!(%{HTTP_USER_AGENT}=='health'\&\&(-R '127.0.0.1/8' || -R '::1'))"'",' /etc/apache2/sites-available/000-default.conf
|
||||
|
||||
# Shared layer between nginx, dovecot, postfix, postgresql, rspamd, unbound, rainloop, roundcube
|
||||
RUN pip3 install socrate
|
||||
@@ -38,9 +39,9 @@ RUN apt-get update && apt-get install -y \
|
||||
&& sed -i 's,^php_value.*post_max_size,#&,g' .htaccess \
|
||||
&& sed -i 's,^php_value.*upload_max_filesize,#&,g' .htaccess \
|
||||
&& ln -sf index.php /var/www/html/sso.php \
|
||||
&& ln -sf /dev/stderr /var/www/html/logs/errors.log \
|
||||
&& chown -R root:root . \
|
||||
&& touch logs/errors.log \
|
||||
&& chown -R www-data:www-data logs temp \
|
||||
&& chown www-data:www-data logs temp \
|
||||
&& chmod -R a+rX . \
|
||||
&& rm -rf /var/lib/apt/lists \
|
||||
&& a2enmod rewrite deflate expires headers
|
||||
@@ -55,4 +56,4 @@ VOLUME ["/data"]
|
||||
|
||||
CMD /start.py
|
||||
|
||||
HEALTHCHECK CMD curl -f -L http://localhost/ || exit 1
|
||||
HEALTHCHECK CMD curl -f -L -H 'User-Agent: health' http://localhost/ || exit 1
|
||||
|
||||
@@ -52,6 +52,12 @@ class mailu extends rcube_plugin
|
||||
}
|
||||
function login_failed($args)
|
||||
{
|
||||
$ua = $_SERVER['HTTP_USER_AGENT'];
|
||||
$ra = $_SERVER['REMOTE_ADDR'];
|
||||
if ($ua == 'health' and ($ra == '127.0.0.1' or $ra == '::1')) {
|
||||
echo "OK";
|
||||
exit;
|
||||
}
|
||||
header('Location: sso.php');
|
||||
exit();
|
||||
}
|
||||
|
||||
@@ -57,8 +57,5 @@ except subprocess.CalledProcessError as e:
|
||||
# Setup database permissions
|
||||
os.system("chown -R www-data:www-data /data")
|
||||
|
||||
# Tail roundcube logs
|
||||
subprocess.Popen(["tail", "-f", "-n", "0", "/var/www/html/logs/errors.log"])
|
||||
|
||||
# Run apache
|
||||
os.execv("/usr/local/bin/apache2-foreground", ["apache2-foreground"])
|
||||
|
||||
Reference in New Issue
Block a user