diff --git a/build.sh b/build.sh
index 9430442030af1418d15b607eb7aec43ef166be09..a89fb3a623e2add76e5a8e7c76946f301d6e5e0d 100755
--- a/build.sh
+++ b/build.sh
@@ -2,4 +2,5 @@
 
 ./halt.sh
 docker-compose -f ./docker-compose_build.yml build
-docker-compose -f ./docker-compose_build.yml up
+docker-compose -f ./docker-compose_build.yml up -d
+docker-compose stop db
\ No newline at end of file
diff --git a/config/application.yml b/config/application.yml
index f1470a8e9974a9979390318ea9892f0667ea8511..2750ccff04707030e9452d7f8962fdb45213538f 100644
--- a/config/application.yml
+++ b/config/application.yml
@@ -2,9 +2,9 @@
 
 spring:
   datasource:
-    url: jdbc:postgresql://portaldb:5432/postgres
+    url: jdbc:postgresql://db:5432/postgres
     username: postgres
-    password: test
+    password: pass
     driver-class-name: org.postgresql.Driver
   jpa:
     hibernate:
diff --git a/docker-compose.yml b/docker-compose.yml
index 3902ae28d99a031ce64bb3d938e24bc5f48926a0..df1c7f0bf7cbb8478ac6fa14ce9f92dd99d5b5e1 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -6,5 +6,18 @@ services:
     build:
       context: .
       dockerfile: ./src/docker/run/Dockerfile
+    depends_on:
+      - "db"
     ports:
       - "8080:8080"
+    links:
+      - "db"
+  db:
+      container_name: db
+      image: postgres:9.5.3
+      ports:
+        - "5432:5432"
+      volumes:
+        - ./data:/var/lib/postgres/data
+      environment:
+        POSTGRES_USER: postgres
diff --git a/docker-compose_build.yml b/docker-compose_build.yml
index b29bf59ecd0f6a068269bcc0fed3f0498bb9505d..877c4ebf353bf279ee36812e982f0a271ed32bc6 100644
--- a/docker-compose_build.yml
+++ b/docker-compose_build.yml
@@ -4,8 +4,21 @@ services:
   backend_build:
     container_name: backend_build
     build: ./src/docker/build/
+    depends_on:
+      - "db"
     volumes:
       - ./:/opt/portal/
       - .m2:/root/.m2/
     ports:
       - "8080:8080"
+    links:
+      - "db"
+  db:
+    container_name: db
+    image: postgres:9.5.3
+    ports:
+      - "5432:5432"
+    volumes:
+      - ./data:/var/lib/postgres/data
+    environment:
+      POSTGRES_USER: postgres
diff --git a/pom.xml b/pom.xml
index f0a335858cb7cc813ad2b1a29c62bde419f115bc..e89986f5bd2c337128f30e11f08fe4698dbc7fd9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,6 +27,8 @@
         <sonar.host.url>http://dockerhost:9000</sonar.host.url>
         <sonar.projectName>MIP Backend</sonar.projectName>
         <sonar.sources>src/main/java/</sonar.sources>
+        <flyway.url>jdbc:postgresql://db:5432/postgres</flyway.url>
+        <flyway.user>postgres</flyway.user>
     </properties>
 
     <dependencies>
diff --git a/src/docker/build/Dockerfile b/src/docker/build/Dockerfile
index b4318d788f65cf01d672e59aab38c69b6e4aa17f..b9164761d8fc45e049b5d161f8ca383e372cb443 100644
--- a/src/docker/build/Dockerfile
+++ b/src/docker/build/Dockerfile
@@ -5,4 +5,6 @@ COPY ./build-in-docker.sh /build-in-docker.sh
 VOLUME /opt/portal/
 WORKDIR /opt/portal/
 
+RUN apt-get update && apt-get install -y postgresql
+
 CMD ["bash", "/build-in-docker.sh"]
diff --git a/src/docker/build/build-in-docker.sh b/src/docker/build/build-in-docker.sh
index a6f31bcc3a9d24e6ab764e47c242f78201760c99..70736859ae4b73ec68b63ed8fec5cfe1596ff8d5 100644
--- a/src/docker/build/build-in-docker.sh
+++ b/src/docker/build/build-in-docker.sh
@@ -3,5 +3,13 @@
 rm -r target/
 mvn package
 
+echo 'Waiting for postgres to be ready...'
+until psql -h "db" -U "postgres" -c '\l'; do
+  >&2 echo "Postgres is unavailable - sleeping"
+  sleep 1
+done
+
+mvn flyway:baseline flyway:migrate
+
 # Uncomment to generate a PDF API documentation
 # mvn swagger2markup:convertSwagger2markup asciidoctor:process-asciidoc