diff --git a/.gitignore b/.gitignore
index 13bbe5b9112f9828a4f0eae28e0eb34e5fdb58d1..4c6249f9a716a1969888a084da3517b44c25ddf3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
 .idea/
-
+volumes/
diff --git a/README.md b/README.md
index b91668584791e04ff47e7a3d24eef9d8ce2c39d9..e0534d746d1aa9e7b26212ebdbf9b03e836c77e4 100644
--- a/README.md
+++ b/README.md
@@ -92,6 +92,19 @@ https://github.com/decentralized-identity/universal-resolver/blob/main/.env
 
 The services access DID resolver from their containers as `uni-resolver-web:8080`
 
+### MongoDB
+
+MongoDB is used to store policies and act as a synchronization point and single 
+source of truth for the current policy state.
+
+In the workspace it's initialized with the script 
+[mongo-init.js](./mongo/docker-entrypoint-initdb.d/mongo-init.js) to
+populate a collection with some policies suitable for local development. 
+
+The server can be reached at `localhost:27017` from your machine. 
+The services access MongoDB from their containers as `mongo:27017`.
+
+> Because of some license requirements, we're using MongoDB 3.6.
 
 ### Redis
 
diff --git a/docker-compose.yml b/docker-compose.yml
index 3aef873dc8ce56089dd43f28483b2392f37cf52a..8b0fbbd0783336e4eb316a4ddd6de7d5fab96e95 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -12,6 +12,8 @@ services:
       - ./env/policy.env
     ports:
       - "8081:8080"
+    depends_on:
+      - mongo
 
   task:
     container_name: task
@@ -59,3 +61,17 @@ services:
     container_name: redis
     ports:
       - "6379:6379"
+
+  mongo:
+    container_name: mongo
+    image: mongo:3.6
+    environment:
+      MONGO_INITDB_DATABASE: policy
+      MONGO_INITDB_ROOT_USERNAME: root
+      MONGO_INITDB_ROOT_PASSWORD: root
+    ports:
+      - "27017:27017"
+    volumes:
+      - ./mongo/docker-entrypoint-initdb.d/mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
+      - ./volumes/mongodb:/data/db
+
diff --git a/env/policy.env b/env/policy.env
index bbc58995c60f7bf025a166bb5f02d9de0805e9c6..60ce19185dca214b2954b15a0b528146da74d8b5 100644
--- a/env/policy.env
+++ b/env/policy.env
@@ -1,3 +1,4 @@
+LOG_LEVEL="debug"
 HTTP_HOST=""
 HTTP_PORT="8080"
 HTTP_IDLE_TIMEOUT="120s"
@@ -7,4 +8,9 @@ REDIS_ADDR="redis:6379"
 REDIS_USER=""
 REDIS_PASS=""
 REDIS_DB=1
-REDIS_EXPIRATION="1h"
\ No newline at end of file
+REDIS_EXPIRATION="1h"
+MONGO_ADDR="mongodb://mongo:27017/policy?authSource=admin"
+MONGO_USER="root"
+MONGO_PASS="root"
+MONGO_DBNAME="policy"
+MONGO_COLLECTION="policies"
\ No newline at end of file
diff --git a/mongo/docker-entrypoint-initdb.d/mongo-init.js b/mongo/docker-entrypoint-initdb.d/mongo-init.js
new file mode 100644
index 0000000000000000000000000000000000000000..78642cf320b0d4441e4bc86b76b38a56625ae2cb
--- /dev/null
+++ b/mongo/docker-entrypoint-initdb.d/mongo-init.js
@@ -0,0 +1,19 @@
+b = db.getSiblingDB('policy');
+db.createCollection('policies');
+db.policies.insertMany(
+    [
+        {
+            filename: "example_1.0.rego",
+            name: "example",
+            group: "example",
+            version: "1.0",
+            locked: false,
+            lastUpdate: new Date(),
+            rego: `package gaiax
+		
+			default result = {}
+
+			result = {"taskID":123}`
+        },
+    ]
+);