diff --git a/test/README.md b/test/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..31069677b2026a7c79b40a03ac49fe2e9ea19806
--- /dev/null
+++ b/test/README.md
@@ -0,0 +1,9 @@
+# Run behave tests in bootstrap-ci docker image
+
+    docker run --rm -it docker.greenhost.net/openappstack/bootstrap/bootstrap-ci sh
+
+      apk --no-cache add git
+      git clone https://code.greenhost.net/openappstack/bootstrap.git
+      cd bootstrap/test/behave
+      behave -D keycloak.admin.url=https://auth.ci-20410.ci.openappstack.net/auth/admin/master/console/ \
+             -D keycloak.admin.password=…
diff --git a/test/behave/features/environment.py b/test/behave/features/environment.py
index a433b48b6073448a5d432b68136f339b5eb73b0b..5b2268fdc0a8e5b7708c351893a7da6653ae6727 100644
--- a/test/behave/features/environment.py
+++ b/test/behave/features/environment.py
@@ -3,6 +3,7 @@ import behave_webdriver
 import os
 import re
 import time
+from behave_webdriver.driver import ChromeOptions
 
 
 def save_screenshot(context, step):
@@ -27,7 +28,12 @@ def before_all(context):
     context.keycloak['admin']['username'] = userdata.get('keycloak.admin.username')
     context.keycloak['admin']['password'] = userdata.get('keycloak.admin.password')
 
-    context.behave_driver = behave_webdriver.Chrome.headless()
+    chrome_options = ChromeOptions()
+    chrome_options.add_argument('--headless')
+    chrome_options.add_argument('--no-sandbox')
+    chrome_options.add_argument('--disable-dev-shm-usage')
+    context.behave_driver = behave_webdriver.Chrome(
+        chrome_options=chrome_options)
 
 
 def after_all(context):