Skip to content
Snippets Groups Projects
Unverified Commit 84062dc1 authored by Johannes Wolf's avatar Johannes Wolf Committed by GitHub
Browse files

add maintenance mode (#1677)

parent 3290bb2b
Branches
No related tags found
No related merge requests found
<VirtualHost *:80>
ServerName evap
DocumentRoot /var/www/html
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}/maintenance.html -f
RewriteCond %{SCRIPT_FILENAME} !maintenance.html
RewriteRule !\.(png|css|svg)$ /maintenance.html [R=503,L]
RewriteRule maintenance\.css$ /maintenance.css
RewriteRule triangles_gray\.svg$ /background_gray.svg
RewriteRule triangles_color\.svg$ /background_color.svg
RewriteRule favicon\.png$ /favicon.png
ErrorDocument 503 /maintenance.html
Header Set Cache-Control "max-age=0, no-store"
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel info
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
#!/bin/bash
set -e # abort on error
rm -f /var/www/html/maintenance.css
rm -f /var/www/html/background_gray.svg
rm -f /var/www/html/background_color.svg
rm -f /var/www/html/favicon.png
rm -f /var/www/html/maintenance.html
a2ensite -q evap.conf
a2dissite -q evap-maintenance.conf
service apache2 restart
echo "Maintenance mode disabled."
#!/bin/bash
set -e # abort on error
cp /opt/evap/evap/static/css/evap.css /var/www/html/maintenance.css
cp /opt/evap/evap/static/images/triangles_gray.svg /var/www/html/background_gray.svg
cp /opt/evap/evap/static/images/triangles_color.svg /var/www/html/background_color.svg
cp /opt/evap/evap/static/images/favicon_64.png /var/www/html/favicon.png
cp /opt/evap/evap/static/maintenance/maintenance.html /var/www/html/maintenance.html
a2ensite -q evap-maintenance.conf
a2dissite -q evap.conf
service apache2 restart
echo "Maintenance mode enabled."
...@@ -47,6 +47,8 @@ a2enmod headers ...@@ -47,6 +47,8 @@ a2enmod headers
cp $REPO_FOLDER/deployment/wsgi.template.conf /etc/apache2/mods-available/wsgi.load cp $REPO_FOLDER/deployment/wsgi.template.conf /etc/apache2/mods-available/wsgi.load
sed -i -e "s=\${ENV_FOLDER}=$ENV_FOLDER=" /etc/apache2/mods-available/wsgi.load # note this uses '=' as alternate delimiter sed -i -e "s=\${ENV_FOLDER}=$ENV_FOLDER=" /etc/apache2/mods-available/wsgi.load # note this uses '=' as alternate delimiter
a2enmod wsgi a2enmod wsgi
a2enmod rewrite
cp $REPO_FOLDER/deployment/apache.maintenance-template.conf /etc/apache2/sites-available/evap-maintenance.conf
cp $REPO_FOLDER/deployment/apache.template.conf /etc/apache2/sites-available/evap.conf cp $REPO_FOLDER/deployment/apache.template.conf /etc/apache2/sites-available/evap.conf
sed -i -e "s=\${ENV_FOLDER}=$ENV_FOLDER=" /etc/apache2/sites-available/evap.conf sed -i -e "s=\${ENV_FOLDER}=$ENV_FOLDER=" /etc/apache2/sites-available/evap.conf
sed -i -e "s=\${REPO_FOLDER}=$REPO_FOLDER=" /etc/apache2/sites-available/evap.conf sed -i -e "s=\${REPO_FOLDER}=$REPO_FOLDER=" /etc/apache2/sites-available/evap.conf
......
...@@ -34,7 +34,7 @@ sudo -H -u $USERNAME git fetch ...@@ -34,7 +34,7 @@ sudo -H -u $USERNAME git fetch
# Note that apache should not be running during most of the upgrade, # Note that apache should not be running during most of the upgrade,
# since then e.g. the backup might be incomplete or the code does not # since then e.g. the backup might be incomplete or the code does not
# match the database layout, or https://github.com/e-valuation/EvaP/issues/1237. # match the database layout, or https://github.com/e-valuation/EvaP/issues/1237.
[[ -z "$GITHUB_WORKFLOW" ]] && sudo service apache2 stop [[ -z "$GITHUB_WORKFLOW" ]] && sudo ./deployment/enable_maintenance_mode.sh
sudo -H -u "$USERNAME" "$ENVDIR/bin/python" manage.py dumpdata --natural-foreign --natural-primary --all -e contenttypes -e auth.Permission --indent 2 --output "$FILENAME" sudo -H -u "$USERNAME" "$ENVDIR/bin/python" manage.py dumpdata --natural-foreign --natural-primary --all -e contenttypes -e auth.Permission --indent 2 --output "$FILENAME"
...@@ -51,7 +51,7 @@ sudo -H -u "$USERNAME" "$ENVDIR/bin/python" manage.py migrate ...@@ -51,7 +51,7 @@ sudo -H -u "$USERNAME" "$ENVDIR/bin/python" manage.py migrate
sudo -H -u "$USERNAME" "$ENVDIR/bin/python" manage.py clear_cache sudo -H -u "$USERNAME" "$ENVDIR/bin/python" manage.py clear_cache
sudo -H -u "$USERNAME" "$ENVDIR/bin/python" manage.py refresh_results_cache sudo -H -u "$USERNAME" "$ENVDIR/bin/python" manage.py refresh_results_cache
[[ -z "$GITHUB_WORKFLOW" ]] && sudo service apache2 start [[ -z "$GITHUB_WORKFLOW" ]] && sudo ./deployment/disable_maintenance_mode.sh
{ set +x; } 2>/dev/null # don't print the echo command, and don't print the 'set +x' itself { set +x; } 2>/dev/null # don't print the echo command, and don't print the 'set +x' itself
......
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<title>EvaP</title>
<link rel="stylesheet" href="maintenance.css" />
<link rel="icon" type="image/png" sizes="64x64" href="favicon.png" />
</head>
<body>
<div class="container pt-4 d-flex h-100">
<div class="jumbotron-evap my-auto">
<div class="row">
<div class="col-md-5">
<h1 class="display-4">Wartung</h1>
<hr class="my-4" />
<div>
EvaP wird gerade auf den neuesten Stand gebracht. Bitte versuchen Sie es in ein paar Minuten noch einmal.
</div>
</div>
<div class="col-md-2 d-flex py-4">
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" fill="#495057" class="mx-auto my-auto" viewBox="0 0 16 16">
<path d="M9.405 1.05c-.413-1.4-2.397-1.4-2.81 0l-.1.34a1.464 1.464 0 0 1-2.105.872l-.31-.17c-1.283-.698-2.686.705-1.987 1.987l.169.311c.446.82.023 1.841-.872 2.105l-.34.1c-1.4.413-1.4 2.397 0 2.81l.34.1a1.464 1.464 0 0 1 .872 2.105l-.17.31c-.698 1.283.705 2.686 1.987 1.987l.311-.169a1.464 1.464 0 0 1 2.105.872l.1.34c.413 1.4 2.397 1.4 2.81 0l.1-.34a1.464 1.464 0 0 1 2.105-.872l.31.17c1.283.698 2.686-.705 1.987-1.987l-.169-.311a1.464 1.464 0 0 1 .872-2.105l.34-.1c1.4-.413 1.4-2.397 0-2.81l-.34-.1a1.464 1.464 0 0 1-.872-2.105l.17-.31c.698-1.283-.705-2.686-1.987-1.987l-.311.169a1.464 1.464 0 0 1-2.105-.872l-.1-.34zM8 10.93a2.929 2.929 0 1 1 0-5.86 2.929 2.929 0 0 1 0 5.858z"/>
</svg>
</div>
<div class="col-md-5">
<h1 class="display-4">Maintenance</h1>
<hr class="my-4" />
<div>
EvaP is being updated right now. Please try again in a few minutes.
</div>
</div>
</div>
</div>
</div>
</body>
</html>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment