diff --git a/admin/freeposte/admin/templates/docker-error.html b/admin/freeposte/admin/templates/docker-error.html new file mode 100644 index 00000000..2038c0a0 --- /dev/null +++ b/admin/freeposte/admin/templates/docker-error.html @@ -0,0 +1,14 @@ +{% extends "base.html" %} + +{% block title %} +{% trans %}Docker error{% endtrans %} +{% endblock %} + +{% block subtitle %} +{{ action }} +{% endblock %} + +{% block box_content %} +
{% trans action %}An error occurred while talking to the Docker server.{% endtrans %}
+{{ error }}
+{% endblock %}
diff --git a/admin/freeposte/admin/views/base.py b/admin/freeposte/admin/views/base.py
index d2e1ef8a..de51452c 100644
--- a/admin/freeposte/admin/views/base.py
+++ b/admin/freeposte/admin/views/base.py
@@ -35,7 +35,11 @@ def logout():
 @access.global_admin
 def services():
     containers = {}
-    for brief in dockercli.containers(all=True):
+    try:
+        all_containers = dockercli.containers(all=True)
+    except Exception as error:
+        return flask.render_template('docker-error.html', error=error)
+    for brief in all_containers:
         if brief['Image'].startswith('freeposte/'):
             container = dockercli.inspect_container(brief['Id'])
             container['Image'] = dockercli.inspect_image(container['Image'])
diff --git a/admin/freeposte/translations/en/LC_MESSAGES/messages.po b/admin/freeposte/translations/en/LC_MESSAGES/messages.po
index b0eeb6c1..8e41d456 100644
--- a/admin/freeposte/translations/en/LC_MESSAGES/messages.po
+++ b/admin/freeposte/translations/en/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2016-10-02 17:33+0200\n"
+"POT-Creation-Date: 2016-10-13 09:28+0200\n"
 "PO-Revision-Date: 2016-10-02 15:02+0200\n"
 "Last-Translator: FULL NAME