diff --git a/app/escriptorium/context_processors.py b/app/escriptorium/context_processors.py
index 5c226b31c36778f6b5d5cb7d7de0e460a24fa622..fb733ea58179f4a6571e0843cf85720fea1a97bf 100644
--- a/app/escriptorium/context_processors.py
+++ b/app/escriptorium/context_processors.py
@@ -5,3 +5,6 @@ def enable_cookie_consent(request):
     return {'ENABLE_COOKIE_CONSENT': getattr(settings,
                                              'ENABLE_COOKIE_CONSENT',
                                              True)}
+
+def custom_homepage(request):
+    return {'CUSTOM_HOME': getattr(settings, 'CUSTOM_HOME', False)}
diff --git a/app/escriptorium/local_settings.py.example b/app/escriptorium/local_settings.py.example
index 56d974991e957b565b652834acc7908e2271b7c5..d7337561f992b14c43c74383d592ee9316429fee 100644
--- a/app/escriptorium/local_settings.py.example
+++ b/app/escriptorium/local_settings.py.example
@@ -39,3 +39,8 @@ DEBUG_TOOLBAR_PANELS = [
 ]
 
 # USE_CELERY = False
+# CELERY_TASK_ALWAYS_EAGER = True
+
+# LOGGING['loggers']['kraken']['level'] = 'DEBUG'
+
+# CUSTOM_HOME = True
diff --git a/app/escriptorium/settings.py b/app/escriptorium/settings.py
index a019a3270f3f6688d5b2fb59b8093d763b7b487a..4f6471c79ba21d39cea427be34c4c4a6f3a7c5f9 100644
--- a/app/escriptorium/settings.py
+++ b/app/escriptorium/settings.py
@@ -41,6 +41,8 @@ SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
 # SECURITY WARNING: don't run with debug turned on in production!
 DEBUG = os.getenv('DEBUG', False)
 
+CUSTOM_HOME = os.getenv('CUSTOM_HOME', False)
+
 ALLOWED_HOSTS = ['*']
 
 ASGI_APPLICATION = "escriptorium.routing.application"
@@ -87,7 +89,8 @@ ROOT_URLCONF = 'escriptorium.urls'
 TEMPLATES = [
     {
         'BACKEND': 'django.template.backends.django.DjangoTemplates',
-        'DIRS': [os.path.join(PROJECT_ROOT, 'templates')],
+        'DIRS': [os.path.join(PROJECT_ROOT, 'templates'),
+                 os.path.join(BASE_DIR, 'homepage')],  # custom homepage dir (volume in docker)
         'APP_DIRS': True,
         'OPTIONS': {
             'context_processors': [
@@ -95,7 +98,8 @@ TEMPLATES = [
                 'django.template.context_processors.request',
                 'django.contrib.auth.context_processors.auth',
                 'django.contrib.messages.context_processors.messages',
-                'escriptorium.context_processors.enable_cookie_consent'
+                'escriptorium.context_processors.enable_cookie_consent',
+                'escriptorium.context_processors.custom_homepage'
             ],
         },
     },
@@ -219,6 +223,7 @@ STATIC_URL = '/static/'
 STATIC_ROOT = os.path.join(BASE_DIR, 'static')
 STATICFILES_DIRS = [
     os.path.join(PROJECT_ROOT, 'static'),
+    os.path.join(BASE_DIR, 'homepage'),  # custom homepage directory
     FRONTEND_DIR
 ]
 
diff --git a/app/escriptorium/static/images/ephe.png b/app/escriptorium/static/images/ephe.png
new file mode 100644
index 0000000000000000000000000000000000000000..6856c3805d904a95eb64c4611840b829eb974b61
Binary files /dev/null and b/app/escriptorium/static/images/ephe.png differ
diff --git a/app/escriptorium/static/images/escriptorium_hd.png b/app/escriptorium/static/images/escriptorium_hd.png
new file mode 100644
index 0000000000000000000000000000000000000000..20afca793e0282bab0f11c4a26b83bdfbf94a990
Binary files /dev/null and b/app/escriptorium/static/images/escriptorium_hd.png differ
diff --git a/app/escriptorium/static/images/favicon.ico b/app/escriptorium/static/images/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..7278052495125e8ceba83c4ddbc80dade813f193
Binary files /dev/null and b/app/escriptorium/static/images/favicon.ico differ
diff --git a/app/escriptorium/static/images/h2020.jpg b/app/escriptorium/static/images/h2020.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..9977dd90d6a92066fb847a2823d1f71fe0799ddb
Binary files /dev/null and b/app/escriptorium/static/images/h2020.jpg differ
diff --git a/app/escriptorium/static/images/horizon.jpg b/app/escriptorium/static/images/horizon.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..1ef9d3b92b72e271613c1c228d7a0502c6afd899
Binary files /dev/null and b/app/escriptorium/static/images/horizon.jpg differ
diff --git a/app/escriptorium/static/images/inria.png b/app/escriptorium/static/images/inria.png
new file mode 100644
index 0000000000000000000000000000000000000000..b2997fd5a37783cd23d6962dfa692ee9773cbe0a
Binary files /dev/null and b/app/escriptorium/static/images/inria.png differ
diff --git a/app/escriptorium/static/images/openiti.png b/app/escriptorium/static/images/openiti.png
new file mode 100644
index 0000000000000000000000000000000000000000..0be04e49b604f0ea013c52a317e93d28a7db4055
Binary files /dev/null and b/app/escriptorium/static/images/openiti.png differ
diff --git a/app/escriptorium/static/images/psl.png b/app/escriptorium/static/images/psl.png
new file mode 100644
index 0000000000000000000000000000000000000000..a5df9793088b1b6c6e78321a80abfe5b7ac57076
Binary files /dev/null and b/app/escriptorium/static/images/psl.png differ
diff --git a/app/escriptorium/static/images/pslscripta.png b/app/escriptorium/static/images/pslscripta.png
new file mode 100644
index 0000000000000000000000000000000000000000..e5850eb2544e912f0a865216d3afeb8f54544aa7
Binary files /dev/null and b/app/escriptorium/static/images/pslscripta.png differ
diff --git a/app/escriptorium/static/images/regionidf.jpg b/app/escriptorium/static/images/regionidf.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..c8d08a09da84bbc3b8add3d8f14fc8bc45886b39
Binary files /dev/null and b/app/escriptorium/static/images/regionidf.jpg differ
diff --git a/app/escriptorium/static/images/t1.png b/app/escriptorium/static/images/t1.png
new file mode 100644
index 0000000000000000000000000000000000000000..926bf47050f74f8fd309498a40ca433d3578f109
Binary files /dev/null and b/app/escriptorium/static/images/t1.png differ
diff --git a/app/escriptorium/static/images/t2.png b/app/escriptorium/static/images/t2.png
new file mode 100644
index 0000000000000000000000000000000000000000..c51f244e1a7ed83c5b722951bd5bef1a96fa41b0
Binary files /dev/null and b/app/escriptorium/static/images/t2.png differ
diff --git a/app/escriptorium/static/images/t3.png b/app/escriptorium/static/images/t3.png
new file mode 100644
index 0000000000000000000000000000000000000000..17d0f6b526489d9e566eeeab5de9d18312875524
Binary files /dev/null and b/app/escriptorium/static/images/t3.png differ
diff --git a/app/escriptorium/templates/base.html b/app/escriptorium/templates/base.html
index 780cdb3ddb69f4975df0009f0690dde9bd3ccbf3..ac673a3fa27359b2a874bef5bd2dc37c0398a55a 100644
--- a/app/escriptorium/templates/base.html
+++ b/app/escriptorium/templates/base.html
@@ -10,8 +10,8 @@
     {% comment %}
     <meta name="description" content="">
     <meta name="author" content="">
-    <link rel="icon" href="../../favicon.ico">
     {% endcomment %}
+    <link rel="icon" href="{% static "images/favicon.ico" %}">
 
     <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
     <!--[if lt IE 9]>
@@ -25,20 +25,24 @@
     {% endblock styles %}
   </head>
   <body class="{% block bodyclass %}{% endblock %}">
-    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
-      <a class="navbar-brand" href="{% url 'home' %}">eScriptorium</a>
-      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
-        <span class="navbar-toggler-icon"></span>
-      </button>
+      <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
+          <a class="navbar-brand" href="{% url 'home' %}">
+              <img src="{% static "images/escriptorium_hd.png" %}" width="30" height="30" class="mb-1">
+              eScriptorium
+          </a>
 
-      <div class="collapse navbar-collapse" id="navbarSupportedContent">
-        <ul class="navbar-nav mr-auto">
-          <li class="nav-item {% block nav-home-class %}{% endblock %}">
-            <a class="nav-link" href="{% url 'home'%}">Home</a>
-          </li>
-          <li class="nav-item">
-            <a class="nav-link" href="#">{% trans 'About' %}</a>
+              <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
+                  <span class="navbar-toggler-icon"></span>
+              </button>
+
+              <div class="collapse navbar-collapse" id="navbarSupportedContent">
+                  <ul class="navbar-nav mr-auto">
+                      <li class="nav-item {% block nav-home-class %}{% endblock %}">
+                          <a class="nav-link" href="{% url 'home'%}">Home</a>
           </li>
+          <!-- <li class="nav-item">
+               <a class="nav-link" href="#">{% trans 'About' %}</a>
+               </li> -->
           <li class="nav-item">
             <a class="nav-link" href="{% url 'contactus' %}">{% trans 'Contact' %}</a>
           </li>
diff --git a/app/escriptorium/templates/core/home.html b/app/escriptorium/templates/core/home.html
index 188cf43eecb68c28dc8858724919bbc3e4d68d00..99ae44ea2977a2f3705058af1f80160ce15eab84 100644
--- a/app/escriptorium/templates/core/home.html
+++ b/app/escriptorium/templates/core/home.html
@@ -1,14 +1,87 @@
 {% extends 'base.html' %}
-{% load i18n %}
+{% load i18n staticfiles %}
 {% block head_title %}{% trans "Homepage" %}{% endblock %}
 
 {% block nav-home-class %}active{% endblock %}
 
 {% block body %}
-<div class="jumbotron">
-  <h1>eScriptorium</h1>
-  <p>{% trans "A project providing digital recognition of handwritten documents using machine learning techniques." %}</p>
-  <p><small>Version {{ VERSION_DATE }}
-    <br/>{{ KRAKEN_VERSION }}</small></p>
+<div class="jumbotron text-center bg-light">
+    {% if CUSTOM_HOME %}
+    {% include "additional_heading.html" %}
+    {% else %}
+    <h1 class="jumbotron-heading">eScriptorium</h1>
+    <p class="lead text-muted">{% trans "A project providing digital recognition of handwritten documents using machine learning techniques." %}</p>
+    {% endif %}
 </div>
+
+<div class="container my-5">
+    <div class="row">
+        <div class="col-lg-4 text-center">
+            <img class="rounded-circle" src="{% static "images/t1.png" %}" alt="" width="140" height="140">
+            <h2>{% trans "Data Interchange" %}</h2>
+            <p class="text-muted">{% trans "Import or Export transcriptions with Alto or Page XML, Import images as zip or IIIF. Access data from any application through a full Rest API." %}</p>
+        </div>
+        <div class="col-lg-4 text-center">
+            <img class="rounded-circle" src="{% static "images/t2.png" %}" alt="Generic placeholder image" width="140" height="140">
+            <h2>{% trans "Manual Edition" %}</h2>
+            <p class="text-muted">{% trans "Make use of an ergonomic user interface leveraging modern browser technology to edit segmentations and transcriptions." %}</p>
+        </div>
+        <div class="col-lg-4 text-center">
+            <img class="rounded-circle" src="{% static "images/t3.png" %}" alt="Generic placeholder image" width="140" height="140">
+            <h2>{% trans "Automatic Transcription" %}</h2>
+            <p class="text-muted">{% trans "Train and apply new neural networks to vastly speed up the transcription process of large corpora." %}</p>
+        </div>
+    </div>
+
+    <hr/>
+</div>
+
+
+<div class="row">
+    <div class="my-5 container-fluid text-center">
+        <a href="https://www.ephe.psl.eu" target="_blank">
+            <img src="{% static "images/ephe.png" "%}" alt="EPHE logo" height="100">
+        </a>
+        <a href="https://www.resilience-ri.eu/" class="pl-4" target="_blank">
+            <img src="{% static "images/resilience.png" "%}" alt="Resilience logo" height="60">
+        </a>
+        <a href="https://scripta.psl.eu/en/" class="pl-4" target="_blank">
+            <img src="{% static "images/pslscripta.png" "%}" alt="Scripta PSL logo" height="50">
+        </a>
+        <a href="https://ec.europa.eu/programmes/horizon2020/" class="pl-4" target="_blank">
+            <img src="{% static "images/h2020.jpg" "%}" alt="Horizon 2020 logo" height="80">
+        </a>
+        <a href="https://inria.fr/fr" class="pl-4" target="_blank">
+            <img src="{% static "images/inria.png" "%}" alt="INRIA logo" height="60">
+        </a>
+        <a href="https://www.openiti.org/" class="pl-4" target="_blank">
+            <img src="{% static "images/openiti.png" "%}" alt="DIM Region ile de france logo" height="90">
+        </a>
+    </div>
+
+    {% if CUSTOM_HOME %}
+    {% include "additional_icons.html" %}
+    {% endif %}
+</div>
+
+<footer class="bg-light mt-5 pt-1">
+    <div class="container">
+        <div class="row">
+            <div class="col-6">
+                <h5>{% trans "Resources" %}</h5>
+                <ul class="list-unstyled">
+                    <li><a href="https://lectaurep.hypotheses.org/documentation/escriptorium-tutorial-en" target="_blank">{% trans "Tutorial" %}</a></li>
+                    <li><a href="https://gitlab.inria.fr/scripta/escriptorium" target="_blank">{% trans "eScriptorium open source code" %}</a> Version {{ VERSION_DATE }}</li>
+                    <li><a href="https://escripta.hypotheses.org/" target="_blank">{% trans "Scripta Blog" %}</a></li>
+                    <li><a href="http://kraken.re/" target="_blank">{{ KRAKEN_VERSION|capfirst }}</a></li>
+                    <li><a href="https://gitlab.inria.fr/scripta/escriptorium/-/wikis/home" target="_blank">Wiki</a></li>
+                </ul>
+            </div>
+
+            {% if CUSTOM_HOME %}
+            {% include "additional_footer.html" %}
+            {% endif %}
+        </div>
+    </div>
+</footer>
 {% endblock %}
diff --git a/app/homepage_example/additional_footer.html b/app/homepage_example/additional_footer.html
new file mode 100644
index 0000000000000000000000000000000000000000..3b3cfba9bf0b49f68a2180447e47c3f869088f00
--- /dev/null
+++ b/app/homepage_example/additional_footer.html
@@ -0,0 +1,9 @@
+{% load i18n %}
+<div class="col-6">
+    <h5>{% trans "Powered by" %}</h5>
+    <ul class="list-unstyled">
+        <li><a href="https://www.python.org" target="_blank">Python</a></li>
+        <li><a href="https://www.djangoproject.com" target="_blank">Django</a></li>
+        <li><a href="https://vuejs.org" target="_blank">Vue.js</a></li>
+    </ul>
+</div>
diff --git a/app/homepage_example/additional_heading.html b/app/homepage_example/additional_heading.html
new file mode 100644
index 0000000000000000000000000000000000000000..7895815b24315554e859aca654f9dc4e61621a50
--- /dev/null
+++ b/app/homepage_example/additional_heading.html
@@ -0,0 +1,3 @@
+<h1 class="jumbotron-heading">eScriptorium</h1>
+<p class="lead text-muted">A project providing digital recognition of handwritten documents using machine learning techniques.</p>
+<p>eScriptorium accounts are created on invitation only for now. If your institution doesn't provide it, you can use the contact form to ask for access.</p>
diff --git a/app/homepage_example/additional_icons.html b/app/homepage_example/additional_icons.html
new file mode 100644
index 0000000000000000000000000000000000000000..1b6ece1af55126823c5e18d33b69f9d626352b21
--- /dev/null
+++ b/app/homepage_example/additional_icons.html
@@ -0,0 +1,11 @@
+{% load staticfiles %}
+</div> <!-- example to create another row -->
+<div class="row">
+    <div class="container-fluid text-center">
+        <a href="http://www.python.org" target="_blank">
+            <img src="{% static "python.png" %}" alt="custom logo" height="50">
+        </a>
+        <a href="http://www.djangoproject.com" target="_blank">
+            <img src="{% static "django.png" %}" alt="custom logo" height="50">
+        </a>
+    </div>
diff --git a/app/homepage_example/django.png b/app/homepage_example/django.png
new file mode 100644
index 0000000000000000000000000000000000000000..2a1d873eeb34af6bf0c69baec82fe45e1bf749b9
Binary files /dev/null and b/app/homepage_example/django.png differ
diff --git a/app/homepage_example/python.png b/app/homepage_example/python.png
new file mode 100644
index 0000000000000000000000000000000000000000..a215d687b662d4a105fc116492d0a3add6435cfb
Binary files /dev/null and b/app/homepage_example/python.png differ
diff --git a/docker-compose.override.yml_example b/docker-compose.override.yml_example
index 519b21d512d6bd5e98a89c8eb850afe67e480eb1..5206c72563c9a520c9b913a09a72687c32044d1a 100644
--- a/docker-compose.override.yml_example
+++ b/docker-compose.override.yml_example
@@ -10,6 +10,12 @@ services:
       #     constraints:
       #       - node.hostname == frontend0
 
+      ### to customize the homepage, uncomment this
+      # environment:
+      #   - CUSTOM_HOME=True
+      # volumes:
+      #   - $PWD/app/homepage
+
     channelserver:
       restart: always
       # deploy:
diff --git a/docker-compose.yml b/docker-compose.yml
index b7bbb53b52f4ed4e023f75f5efd68eb81f49f84b..89b5980cd597a776019cb1c3370b13aae08a0a4d 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -15,6 +15,8 @@ services:
   web:
     <<: *app
     command: uwsgi --ini /usr/src/app/uwsgi.ini
+    volumes:
+      - logs:/user/src/app/escriptorium/logs
     expose:
       - 8000
 
@@ -116,3 +118,4 @@ volumes:
    media:
    postgres:
    esdata:
+   logs: