diff --git a/.forgejo/workflows/build+release.yml b/.forgejo/workflows/build+release.yml
deleted file mode 100644
index 2b43104..0000000
--- a/.forgejo/workflows/build+release.yml
+++ /dev/null
@@ -1,95 +0,0 @@
-name: 'Build and Release Docker Image'
-author: 'Neshura'
-
-on:
-  push:
-    tags:
-      - '[0-9]+.[0-9]+.[0-9]+'
-      - '[0-9]+.[0-9]+.[0-9]+-rc.[0-9]+'
-jobs:
-  test:
-    runs-on: docker
-    steps:
-      -
-        name: Checking Out Repository Code
-        uses: https://code.forgejo.org/actions/checkout@v3
-      -
-        name: Get Yarn Cache Directory
-        id: yarn-cache-dir-path
-        run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
-      -
-        name: Set Up Yarn Cache
-        uses: actions/cache@v3
-        id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
-        with:
-          path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
-          key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
-          restore-keys: |
-            ${{ runner.os }}-yarn-
-      -
-        name: Install Dependencies
-        run: yarn install
-      -
-        name: Run Linter
-        run: yarn lint
-      -
-        name: Check if Version in package.json matches Tag
-        run: |
-          VERSION=$(cat package.json | grep "version" | sed 's/.*://' | tr -d , | tr -d \" | tr -d " " )
-          if test $VERSION != "${{  github.ref_name }}"; then 
-            echo "Expected Version is: '${{  github.ref_name }}' actual Version is: '$VERSION'"; 
-            exit 1
-          else 
-            echo "Version is: '$VERSION'"; 
-          fi                                        
-
-  build:
-    needs: test
-    if: success()
-    runs-on: dind
-    steps:
-      -
-        name: Set up Docker Buildx
-        uses: docker/setup-buildx-action@v3
-        with:
-          config-inline: |
-            [registry."docker.io"]
-              mirrors = ["https://docker-cache.neshweb.net"]
-      -
-        name: Login to Docker Hub
-        uses: docker/login-action@v3
-        with:
-          registry: forgejo.neshweb.net
-          username: ${{ secrets.FORGEJO_USERNAME }}
-          password: ${{ secrets.FORGEJO_TOKEN }}
-      -
-        name: Determine Docker tags
-        id: tags
-        run: |
-          if echo ${{ github.ref_name }} | grep -qi '\-rc' ; then
-            echo latest=forgejo.neshweb.net/neshweb-sites/${{ github.event.repository.name }}:preview >> $GITHUB_OUTPUT;
-          else
-            echo latest=forgejo.neshweb.net/neshweb-sites/${{ github.event.repository.name }}:latest >> $GITHUB_OUTPUT;
-          fi
-          echo version=forgejo.neshweb.net/neshweb-sites/${{ github.event.repository.name }}:${{ github.ref_name }} >> $GITHUB_OUTPUT;
-      -
-        name: Push to Package Registry
-        uses: docker/build-push-action@v5
-        with:
-          push: true
-          tags: ${{ steps.tags.outputs.version }}, ${{ steps.tags.outputs.latest }}
-
-  release:
-    needs: build
-    if: success()
-    runs-on: docker
-    steps:
-      -
-        name: Release New Version
-        uses: actions/forgejo-release@v1
-        with:
-          direction: upload
-          url: https://forgejo.neshweb.net
-          release-dir: release
-          token: ${{ secrets.FORGEJO_TOKEN }}
-          tag: ${{  github.ref_name }}
\ No newline at end of file
diff --git a/.forgejo/workflows/test.yml b/.forgejo/workflows/test.yml
deleted file mode 100644
index 570d370..0000000
--- a/.forgejo/workflows/test.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-name: 'Run Tests on Code'
-author: 'Neshura'
-
-on:
-  push:
-    tags-ignore:
-      - '**'
-    branches:
-      - '**'
-jobs:
-  test:
-    runs-on: docker
-    steps:
-      -
-        name: Checking Out Repository Code
-        uses: https://code.forgejo.org/actions/checkout@v3
-      -
-        name: Get Yarn Cache Directory
-        id: yarn-cache-dir-path
-        run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
-      -
-        name: Set Up Yarn Cache
-        uses: actions/cache@v3
-        id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
-        with:
-          path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
-          key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
-          restore-keys: |
-            ${{ runner.os }}-yarn-
-      -
-        name: Install Dependencies
-        run: yarn install
-      -
-        name: Run Linter
-        run: yarn lint
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 72d7a01..c29dfdc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,5 +17,3 @@ yarn-error.log*
 build/
 data/
 confs/
-
-.idea/
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..e8e1c18
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,65 @@
+stages:
+  - lint
+  #- test
+  - build
+  - deploy
+
+variables:
+  IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
+  IMAGE_LATEST: $CI_REGISTRY_IMAGE:develop
+
+
+.node:
+  image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/node:latest
+
+
+.docker:
+  image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/docker:20
+  rules:
+  - if: $CI_COMMIT_TAG && $CI_COMMIT_TAG !~ /(^t)+.*/
+    variables:
+      IMAGE_LATEST: $CI_REGISTRY_IMAGE:latest
+  - if: $CI_COMMIT_TAG
+
+
+linter:
+  image: !reference [.node, image]
+  stage: lint
+  before_script:
+    - yarn install
+  script:
+    - yarn lint
+
+
+build:
+  image: !reference [.docker, image]
+  stage: build
+  before_script:
+    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
+  script:
+    - docker build -t $IMAGE_TAG .
+  after_script:
+    - docker save $IMAGE_TAG > docker.tar
+  artifacts:
+    expire_in: 30 mins
+    paths:
+      - docker.tar
+  rules:
+    - !reference [.docker, rules]
+
+
+push:
+  image: !reference [.docker, image]
+  stage: deploy
+  needs: 
+    - job: build
+      artifacts: true
+  before_script:
+    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
+    - docker load -i docker.tar
+  script:
+    - docker tag $IMAGE_TAG $IMAGE_LATEST
+    - docker push $IMAGE_TAG
+    - docker push $IMAGE_LATEST
+  rules:
+    - !reference [.docker, rules]
diff --git a/Dockerfile b/Dockerfile
index 645c82d..cc2de22 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,18 +1,17 @@
 ## INIT STEP
 # Install dependencies only when needed
-FROM node:18-alpine AS deps
+FROM node:16-alpine AS deps
 
 RUN apk add --no-cache libc6-compat
 WORKDIR /app
 
 # Copy the files needed to install deps
 COPY package.json yarn.lock ./
-RUN yarn add sharp
 RUN yarn install --frozen-lockfile
 
 ## BUILD STEP
 # Rebuild the source code only when needed
-FROM node:18-alpine AS builder
+FROM node:16-alpine AS builder
 
 WORKDIR /app
 
@@ -24,10 +23,10 @@ COPY . .
 RUN yarn build
 
 ## RUN STEP
-FROM node:18-alpine AS runner
+FROM node:16-alpine AS runner
 
-LABEL author="neshura@neshweb.net"
-WORKDIR /usr/src/app
+LABEL author="neshura@proton.me"
+WORKDIR /usr/src/ap
 
 ENV NODE_ENV production
 
diff --git a/components/layout.tsx b/components/layout.tsx
index 7425eee..6163070 100644
--- a/components/layout.tsx
+++ b/components/layout.tsx
@@ -11,12 +11,12 @@ const LayoutReadyOrNot = ({ children }: { children: React.ReactNode }) => {
         var _paq = window._paq = window._paq || [];
         /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
         _paq.push(["setDocumentTitle", document.domain + "/" + document.title]);
-        _paq.push(["setCookieDomain", "readyornot.neshweb.net"]);
+        _paq.push(["setCookieDomain", "readyornot.neshura-server.net"]);
         _paq.push(["disableCookies"]);
         _paq.push(['trackPageView']);
         _paq.push(['enableLinkTracking']);
         (function() {
-          var u="//tracking.neshweb.net/";
+          var u="//temp.neshura-server.net/";
           _paq.push(['setTrackerUrl', u+'matomo.php']);
           _paq.push(['setSiteId', '2']);
           var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
diff --git a/package.json b/package.json
index f5d1313..19e5582 100644
--- a/package.json
+++ b/package.json
@@ -1,12 +1,12 @@
 {
   "name": "readyornot",
-  "version": "0.1.8",
+  "version": "0.1.0",
   "private": true,
   "scripts": {
-    "dev:debug": "NODE_OPTIONS='--inspect' next dev -H :: -p 8002",
-    "dev": "next dev -H :: -p 8002",
+    "dev:debug": "NODE_OPTIONS='--inspect' next dev -p 4042",
+    "dev": "next dev",
     "build": "next build",
-    "start": "next start -H :: -p 8002",
+    "start": "next start",
     "lint": "next lint"
   },
   "dependencies": {
@@ -17,10 +17,9 @@
     "swr": "^1.3.0"
   },
   "devDependencies": {
-    "@types/node": "18.14.6",
-    "@types/react": "^18.0.14",
     "eslint": "^8.23.1",
     "eslint-config-next": "12.2.0",
+    "@types/react": "^18.0.14",
     "typescript": "4.9.3"
   }
 }
diff --git a/pages/api/navbar.tsx b/pages/api/navbar.tsx
index 1ec8953..18ea552 100644
--- a/pages/api/navbar.tsx
+++ b/pages/api/navbar.tsx
@@ -3,7 +3,7 @@ import fsPromises from 'fs/promises'
 import path from 'path'
 import ReadyOrNotMap from '../../interfaces/ReadyOrNot'
 
-export default async function SidebarAPI(req: any, res: any) {
+export default async function TobarApi(req: any, res: any) {
   try {
     // get list of all folders(maps) in the readyornot folder - maybe there is a cleaner way to do this?
     var fs = require('fs')
diff --git a/yarn.lock b/yarn.lock
index b9af874..23a6f54 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -166,11 +166,6 @@
   resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
   integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
 
-"@types/node@18.14.6":
-  version "18.14.6"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-18.14.6.tgz#ae1973dd2b1eeb1825695bb11ebfb746d27e3e93"
-  integrity sha512-93+VvleD3mXwlLI/xASjw0FzKcwzl3OdTCzm1LaRfqgS21gfFtK3zDXM5Op9TeeMsJVOaJ2VRDpT9q4Y3d0AvA==
-
 "@types/prop-types@*":
   version "15.7.5"
   resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf"