diff --git a/.env b/.env.example
similarity index 100%
rename from .env
rename to .env.example
diff --git a/.gitignore b/.gitignore
index 9b56b74..869fb2b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,6 +10,7 @@
 /digit-drupal-site-test-reference/
 
 # Ignore local configuration files.
+/.env
 /behat.yml
 /grumphp.yml
 /runner.yml
diff --git a/README.md b/README.md
index d91b801..bd81a71 100644
--- a/README.md
+++ b/README.md
@@ -44,7 +44,13 @@ takes several minutes. At the end you will be asked whether to remove the
 existing version history. It is recommended to confirm this question so that you
 can start your project with a clean slate.
 
-After installing the dependencies, install a clean installation of your site, using the following command:
+After installing the dependencies, create a .env file based on .env.example and configure the variables to match your setup:
+
+```bash
+cp .env.example .env
+```
+
+Next, perform a clean installation of your site by usin the following command:
 
 ```bash
 ./vendor/bin/run toolkit:install-clean
diff --git a/composer.json b/composer.json
index b6a99fd..3553772 100644
--- a/composer.json
+++ b/composer.json
@@ -22,6 +22,7 @@
         "drupal/console": "~1.6",
         "drupal/drupal-extension": "~4.0",
         "ec-europa/toolkit": "~4.0.0-beta2",
+        "vlucas/phpdotenv": "^3.3",
         "webflo/drupal-core-require-dev": "~8.7"
     },
     "scripts": {
@@ -68,6 +69,7 @@
         ]
     },
     "autoload-dev": {
+        "files": ["load.environment.php"],
         "psr-4": {
             "OpenEuropa\\Site\\Tests\\": "./tests/"
         }
diff --git a/load.environment.php b/load.environment.php
new file mode 100644
index 0000000..e4c18ab
--- /dev/null
+++ b/load.environment.php
@@ -0,0 +1,23 @@
+<?php
+
+/**
+ * @file
+ * Loads the .env file.
+ *
+ * This file is included very early. See autoload.files in composer.json.
+ */
+
+use Dotenv\Dotenv;
+use Dotenv\Exception\InvalidPathException;
+
+/**
+ * Load any .env file. See /.env.example.
+ */
+$dotenv = Dotenv::create(__DIR__);
+
+try {
+  $dotenv->load();
+}
+catch (InvalidPathException $e) {
+  // Do nothing. Production environments rarely use .env files.
+}