diff --git a/README.md b/README.md
index dd359cd5e4387b855be465e9bd1dedf54ae21f66..1e2a3ff6ec86298c52de71c6f26a0fb1cd39cbd8 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,38 @@
-This repository contains the structure to create the public opi screens running at the address http://pos.esss.lu.se
\ No newline at end of file
+# ESS Public OPI Screens
+
+This repository contains the structure to create the public opi screens running at the address http://pos.esss.lu.se
+
+
+## Development
+
+You should use docker for development:
+
+1. Clone the repository
+
+2. Build the docker images
+
+   ```
+   $ docker-compose build
+   ```
+
+3. Start the application
+
+   ```
+   $ docker-compose up
+   ```
+
+4. Open your browser and go to http://localhost:8000
+
+
+You only need to rebuild the docker images if changing the nginx configuration or python server requirements.
+During development, the WebSites and PythonServer directories are mounted as volumes so you don't need to rebuild the images
+when changing the code.
+
+The docker images are automatically built by giltab-runners when pushing to GitLab.
+
+To deploy to production, you should tag and push to GitLab:
+
+```
+$ git tag -a <x.x.x>
+$ git push --tags
+```