diff --git a/vmchecker-next-ui/.env b/vmchecker-next-ui/.env
new file mode 100644
index 0000000000000000000000000000000000000000..2fa0bb4fec8c26f13d30dba82adc8b28a4dfb86e
--- /dev/null
+++ b/vmchecker-next-ui/.env
@@ -0,0 +1,26 @@
+#############
+# UI Config #
+#############
+
+# Django secret key
+SECRET_KEY_UI=very-secret-key
+DATABASE_USER_UI=databaseUser
+DATABASE_PASSWORD_UI=password
+
+LDAP_SERVER_URI=ldap://openldap:1389
+LDAP_BIND_DN=cn=reader,ou=users,dc=school,dc=com
+LDAP_BIND_PASSWORD=readerpassword
+LDAP_USER_TREE=ou=users,dc=school,dc=com
+LDAP_USER_FILTER=(uid=%(user)s)
+
+##################
+# Backend Config #
+##################
+
+# Django secret key
+SECRET_KEY_BACKEND=another-very-secret-key
+GITLAB_URL=https://gitlab.com
+MINIO_ACCESS_KEY=1234
+MINIO_SECRET_KEY=123456789
+DATABASE_USER_BACKEND=anotherDatabaseUser
+DATABASE_PASSWORD_BACKEND=password
diff --git a/vmchecker-next-ui/docker-compose.yml b/vmchecker-next-ui/docker-compose.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f43880702cce233b6567e150c23997fb354adaa7
--- /dev/null
+++ b/vmchecker-next-ui/docker-compose.yml
@@ -0,0 +1,132 @@
+version: "3.3"
+services:
+  ui:
+    image: jokeswar/vmchecker_ui:master
+    restart: always
+    depends_on:
+      - database-ui
+      - backend
+      - openldap
+    environment:
+      VMCK_BACKEND_URL: "http://backend:8000/api/v1/"
+      DATABASE_ENGINE: "django.db.backends.postgresql"
+      DATABASE_NAME: "ui"
+      DATABASE_USER: "root"
+      DATABASE_PASSWORD: "${DATABASE_PASSWORD_UI}"
+      DATABASE_HOST: "database-ui"
+      DATABASE_PORT: "5432"
+      SECRET_KEY: "${SECRET_KEY_UI}"
+      LDAP_SERVER_URI: "${LDAP_SERVER_URI}"
+      LDAP_BIND_DN: "${LDAP_BIND_DN}"
+      LDAP_BIND_PASSWORD: "${LDAP_BIND_PASSWORD}"
+      LDAP_USER_TREE: "${LDAP_USER_TREE}"
+      LDAP_USER_FILTER: "${LDAP_USER_FILTER}"
+    ports:
+      - "7000:7000"
+    networks:
+      - database-ui-network
+      - backend-network
+
+  database-ui:
+    image: postgres:12.0-alpine
+    restart: always
+    environment:
+      POSTGRES_DB: "ui"
+      POSTGRES_USER: "root"
+      POSTGRES_PASSWORD: "${DATABASE_PASSWORD_UI}"
+    volumes:
+      - db-data-ui:/var/lib/postgresql/data
+    networks:
+      - database-ui-network
+
+  backend:
+    image: jokeswar/vmchecker_api:master
+    restart: always
+    depends_on:
+      - database-backend
+      - storage-backend
+    environment:
+      GITLAB_URL: "${GITLAB_URL}"
+      SUBMISSION_STORAGE_TYPE: "MINIO"
+      MINIO_ADDRESS: "storage-backend:9000"
+      MINIO_ACCESS_KEY: "${MINIO_ACCESS_KEY}"
+      MINIO_SECRET_KEY: "${MINIO_SECRET_KEY}"
+      DATABASE_NAME: "backend"
+      DATABASE_USER: "root"
+      DATABASE_PASSWORD: "${DATABASE_PASSWORD_BACKEND}"
+      DATABASE_HOST: "database-backend"
+      DATABASE_PORT: "5432"
+      SECRET_KEY: "${SECRET_KEY_BACKEND}"
+      UWSGI_PROCESS_COUNT: "2"
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "5m"
+    networks:
+      - database-backend-network
+      - storage-backend-network
+      - backend-network
+
+  database-backend:
+    image: postgres:12.0-alpine
+    restart: always
+    environment:
+      POSTGRES_DB: "backend"
+      POSTGRES_USER: "root"
+      POSTGRES_PASSWORD: "${DATABASE_PASSWORD_BACKEND}"
+    volumes:
+      - db-data:/var/lib/postgresql/data
+    networks:
+      - database-backend-network
+
+  storage-backend:
+    image: minio/minio:RELEASE.2022-10-24T18-35-07Z
+    restart: always
+    command: [ "server", "/data" ]
+    environment:
+      MINIO_ACCESS_KEY: "${MINIO_ACCESS_KEY}"
+      MINIO_SECRET_KEY: "${MINIO_SECRET_KEY}"
+    volumes:
+      - storage-data:/data
+    networks:
+      - storage-backend-network
+
+  runner:
+    image: gitlab/gitlab-runner:latest
+    restart: always
+    privileged: true
+    networks:
+      - runner-network
+    volumes:
+      - 'runner_volume:/etc/gitlab-runner'
+      - '/var/run/docker.sock:/var/run/docker.sock'
+
+  openldap:
+    image: bitnami/openldap:2
+    ports:
+      - '1389:1389'
+      - '1636:1636'
+    environment:
+      LDAP_ADMIN_USERNAME: "admin"
+      LDAP_ADMIN_PASSWORD: "adminpassword"
+      LDAP_USERS: "reader,user01,user02"
+      LDAP_PASSWORDS: "readerpassword,password1,password2"
+      LDAP_ROOT: "dc=school,dc=com"
+    networks:
+      - backend-network
+    volumes:
+      - 'openldap_data:/bitnami/openldap'
+
+volumes:
+  db-data-ui:
+  storage-data:
+  db-data:
+  openldap_data:
+
+
+networks:
+  database-ui-network:
+  database-backend-network:
+  storage-backend-network:
+  backend-network:
+  runner-network: