diff --git a/.env.example b/.env.example
index ebfc96a356be68ca9cde77b3e922610dfae7f7cd..55f11d2bdb11ab88e25842a2e549256befb2bfc2 100644
--- a/.env.example
+++ b/.env.example
@@ -5,3 +5,10 @@ API_TOKEN_SALT=tobemodified
 ADMIN_JWT_SECRET=tobemodified
 TRANSFER_TOKEN_SALT=tobemodified
 JWT_SECRET=tobemodified
+DATABASE_CLIENT=postgresql
+DATABASE_HOST=strapiDB
+DATABASE_PORT=5433
+DATABASE_NAME=strapi
+DATABASE_USERNAME=strapi_user
+DATABASE_PASSWORD=123mudar
+NODE_ENV=production
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index bea5dca291cd73f9718439d0984587d6859e2472..3c02b185879440151f73a14f01ce295a967c9821 100644
--- a/.gitignore
+++ b/.gitignore
@@ -109,3 +109,4 @@ dist
 build
 .strapi-updater.json
 .strapi-cloud.json
+.pnpm-store
diff --git a/.tmp/data.db b/.tmp/data.db
index b11b3bf1adc319a334e6c2c99ef5d13a79d560d4..fbd9c9e19d865fadd43a6284dc3b4d0d2658ba1b 100644
Binary files a/.tmp/data.db and b/.tmp/data.db differ
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..3df4d522ca72c2b9fde2dd679ace8d3da894b616
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,30 @@
+# Creating multi-stage build for production
+FROM node:18-alpine AS build
+RUN apk update && apk add --no-cache build-base gcc autoconf automake zlib-dev libpng-dev vips-dev git > /dev/null 2>&1
+ARG NODE_ENV=production
+ENV NODE_ENV=${NODE_ENV}
+
+WORKDIR /opt/
+COPY package.json pnpm-lock.yaml ./
+RUN npm install -g node-gyp
+RUN npm config set fetch-retry-maxtimeout 600000 -g && npm install --only=production
+ENV PATH /opt/node_modules/.bin:$PATH
+WORKDIR /opt/app
+COPY . .
+RUN npm run build
+
+# Creating final production image
+FROM node:18-alpine
+RUN apk add --no-cache vips-dev
+ARG NODE_ENV=production
+ENV NODE_ENV=${NODE_ENV}
+WORKDIR /opt/
+COPY --from=build /opt/node_modules ./node_modules
+WORKDIR /opt/app
+COPY --from=build /opt/app ./
+ENV PATH /opt/node_modules/.bin:$PATH
+
+RUN chown -R node:node /opt/app
+USER node
+EXPOSE 1337
+CMD ["npm", "run", "start"]
diff --git a/docker-compose.yaml b/docker-compose.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..c9b5abf6ca41fe9c90a6418b7a24e1aa5267f973
--- /dev/null
+++ b/docker-compose.yaml
@@ -0,0 +1,30 @@
+services:
+  strapi:
+    container_name: strapi
+    build: .
+    image: strapi:latest
+    restart: unless-stopped
+    env_file: .env
+    environment:
+      DATABASE_CLIENT: ${DATABASE_CLIENT}
+      DATABASE_HOST: strapiDB
+      DATABASE_PORT: ${DATABASE_PORT}
+      DATABASE_NAME: ${DATABASE_NAME}
+      DATABASE_USERNAME: ${DATABASE_USERNAME}
+      DATABASE_PASSWORD: ${DATABASE_PASSWORD}
+      JWT_SECRET: ${JWT_SECRET}
+      ADMIN_JWT_SECRET: ${ADMIN_JWT_SECRET}
+      APP_KEYS: ${APP_KEYS}
+      NODE_ENV: ${NODE_ENV}
+    volumes:
+      - ./config:/opt/app/config
+      - ./src:/opt/app/src
+      - ./package.json:/opt/package.json
+      - ./yarn.lock:/opt/yarn.lock
+      - ./.env:/opt/app/.env
+      - ./public/uploads:/opt/app/public/uploads
+    ports:
+      - "1337:1337"
+
+volumes:
+  strapi-data:
\ No newline at end of file