diff --git a/.gitignore b/.gitignore
index e82ec8aa..8a065cb2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -202,3 +202,6 @@ $RECYCLE.BIN/
###### BBEdit ######
*.bbprojectd
*.bbproject
+
+###### VS Code ######
+/.vscode
\ No newline at end of file
diff --git a/docs/_includes/links/examples.rst b/docs/_includes/links/examples.rst
index 121568c1..c211bf0c 100644
--- a/docs/_includes/links/examples.rst
+++ b/docs/_includes/links/examples.rst
@@ -28,6 +28,12 @@
Official Drupal Documentation
+.. |ext_lnk_example_expressionengine_documentation| raw:html
+
+
+ Official ExpressionEngine Documentation
+
+
.. |ext_lnk_example_joomla_documentation| raw:: html
diff --git a/docs/examples/setup-expressionengine.rst b/docs/examples/setup-expressionengine.rst
new file mode 100644
index 00000000..7b828a95
--- /dev/null
+++ b/docs/examples/setup-expressionengine.rst
@@ -0,0 +1,176 @@
+.. include:: /_includes/all.rst
+.. include:: /_includes/snippets/__ANNOUNCEMENTS__.rst
+
+.. _example_setup_expressionengine:
+
+**********************
+Setup ExpressionEngine
+**********************
+
+This example will use ``curl`` to install ExpressionEngine from within the Devilbox PHP container.
+
+After completing the below listed steps, you will have a working ExpressionEngine setup ready to be
+served via http and https.
+
+.. seealso:: |ext_lnk_example_expressionengine_documentation|
+
+
+**Table of Contents**
+
+.. contents:: :local:
+
+
+Overview
+========
+
+The following configuration will be used:
+
++--------------+--------------------------+-------------+------------+-------------------------------------------------+
+| Project name | VirtualHost directory | Database | TLD_SUFFIX | Project URL |
++==============+==========================+=============+============+=================================================+
+| my-ee | /shared/httpd/my-ee | n.a. | loc | http://my-ee.loc |br| https://my-ee.loc |
++--------------+--------------------------+-------------+------------+-------------------------------------------------+
+
+.. note::
+ * Inside the Devilbox PHP container, projects are always in ``/shared/httpd/``.
+ * On your host operating system, projects are by default in ``./data/www/`` inside the
+ Devilbox git directory. This path can be changed via :ref:`env_httpd_datadir`.
+
+
+Walk through
+============
+
+It will be ready in six simple steps:
+
+1. Enter the PHP container
+2. Create a new VirtualHost directory
+3. Download and extract ExpressionEngine
+4. Symlink webroot directory
+5. Setup DNS record
+6. Visit http://my-ee.loc in your browser
+
+
+1. Enter the PHP container
+--------------------------
+
+All work will be done inside the PHP container as it provides you with all required command line
+tools.
+
+Navigate to the Devilbox git directory and execute ``shell.sh`` (or ``shell.bat`` on Windows) to
+enter the running PHP container.
+
+.. code-block:: bash
+
+ host> ./shell.sh
+
+.. seealso::
+ * :ref:`enter_the_php_container`
+ * :ref:`work_inside_the_php_container`
+ * :ref:`available_tools`
+
+
+2. Create new vhost directory
+-----------------------------
+
+The vhost directory defines the name under which your project will be available. |br|
+( ``.TLD_SUFFIX`` will be the final URL ).
+
+.. code-block:: bash
+
+ devilbox@php-7.0.20 in /shared/httpd $ mkdir my-ee
+
+.. seealso:: :ref:`env_tld_suffix`
+
+
+3. Download and extract ExpressionEngine
+------------------------------
+
+Navigate into your newly created vhost directory and install ExpressionEngine.
+
+.. code-block:: bash
+
+ devilbox@php-7.0.20 in /shared/httpd $ cd my-ee
+ devilbox@php-7.0.20 in /shared/httpd/my-ee $ curl 'https://expressionengine.com/?ACT=243' -H 'Connection: keep-alive' -H 'Pragma: no-cache' -H 'Cache-Control: no-cache' -H 'Upgrade-Insecure-Requests: 1' -H 'DNT: 1' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36' -H 'Sec-Fetch-Dest: document' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9' -H 'Sec-Fetch-Site: same-origin' -H 'Sec-Fetch-Mode: navigate' -H 'Sec-Fetch-User: ?1' -H 'Referer: https://expressionengine.com/' -H 'Accept-Language: en-US,en;q=0.9' --compressed -o ee.zip
+ devilbox@php-7.0.20 in /shared/httpd/my-ee $ mkdir ee
+ devilbox@php-7.0.20 in /shared/httpd/my-ee $ unzip ee.zip -d ee
+
+How does the directory structure look after installation:
+
+.. code-block:: bash
+
+ devilbox@php-7.0.20 in /shared/httpd/my-ee $ tree -L 1
+ .
+ ├── ee.zip
+ └── ee
+
+ 1 directory, 1 file
+
+
+4. Symlink webroot
+------------------
+
+Symlinking the actual webroot directory to ``htdocs`` is important. The web server expects every
+project's document root to be in ``/htdocs/``. This is the path where it will serve
+the files. This is also the path where your frameworks entrypoint (usually ``index.php``) should
+be found.
+
+Some frameworks however provide its actual content in nested directories of unknown levels.
+This would be impossible to figure out by the web server, so you manually have to symlink it back
+to its expected path.
+
+.. code-block:: bash
+
+ devilbox@php-7.0.20 in /shared/httpd/my-ee $ ln -s ee/ htdocs
+
+How does the directory structure look after symlinking it:
+
+.. code-block:: bash
+
+ devilbox@php-7.0.20 in /shared/httpd/my-ee $ tree -L 1
+ .
+ ├── ee.zip
+ ├── ee
+ └── htdocs -> ee
+
+ 2 directories, 1 file
+
+As you can see from the above directory structure, ``htdocs`` is available in its expected
+path and points to the frameworks entrypoint.
+
+.. important::
+ When using **Docker Toolbox**, you need to **explicitly allow** the usage of **symlinks**.
+ See below for instructions:
+
+ * Docker Toolbox and :ref:`howto_docker_toolbox_and_the_devilbox_windows_symlinks`
+
+
+5. DNS record
+-------------
+If you **have** Auto DNS configured already, you can skip this section, because DNS entries will
+be available automatically by the bundled DNS server.
+
+If you **don't have** Auto DNS configured, you will need to add the following line to your
+host operating systems ``/etc/hosts`` file (or ``C:\Windows\System32\drivers\etc`` on Windows):
+
+.. code-block:: bash
+ :caption: /etc/hosts
+
+ 127.0.0.1 my-ee.loc
+
+.. seealso::
+
+ * :ref:`howto_add_project_hosts_entry_on_mac`
+ * :ref:`howto_add_project_hosts_entry_on_win`
+ * :ref:`setup_auto_dns`
+
+
+6. Open your browser
+--------------------
+
+All set now, you can visit http://my-ee.loc or https://my-ee.loc in your browser.
+
+
+Next steps
+==========
+
+.. include:: /_includes/snippets/examples/next-steps.rst
diff --git a/docs/getting-started/create-your-first-project.rst b/docs/getting-started/create-your-first-project.rst
index 25cad716..615a4d0d 100644
--- a/docs/getting-started/create-your-first-project.rst
+++ b/docs/getting-started/create-your-first-project.rst
@@ -200,6 +200,7 @@ their articles:
* :ref:`example_setup_codeigniter`
* :ref:`example_setup_craftcms`
* :ref:`example_setup_drupal`
+ * :ref:`example_setup_expressionengine`
* :ref:`example_setup_joomla`
* :ref:`example_setup_laravel`
* :ref:`example_setup_magento`
diff --git a/docs/index.rst b/docs/index.rst
index 044443e1..375ad45f 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -178,6 +178,7 @@ host is ready to be served with your custom domain.
examples/setup-contao
examples/setup-craftcms
examples/setup-drupal
+ examples/setup-expressionengine
examples/setup-joomla
examples/setup-laravel
examples/setup-magento2
diff --git a/docs/support/faq.rst b/docs/support/faq.rst
index 64f809f1..8acc96a1 100644
--- a/docs/support/faq.rst
+++ b/docs/support/faq.rst
@@ -180,7 +180,12 @@ Does it work with Drupal?
Yes, see :ref:`example_setup_drupal`
-Does it work with Joomla?
+Does it work with ExpressionEngine?
+-------------------------
+
+Yes, see :ref:`example_setup_expressionengine`
+
+Does it work with ExpressionEngine?
-------------------------
Yes, see :ref:`example_setup_joomla`