diff --git a/app/wiki/docker-compose.prod.yml b/app/wiki/docker-compose.prod.yml
new file mode 100644
index 0000000..d7142b2
--- /dev/null
+++ b/app/wiki/docker-compose.prod.yml
@@ -0,0 +1,33 @@
+version: "3"
+
+services:
+
+  db:
+    image: postgres:15.2-alpine
+    environment:
+      POSTGRES_DB: wiki
+      POSTGRES_PASSWORD: wikijsrocks
+      POSTGRES_USER: wikijs
+    logging:
+      driver: "none"
+    restart: unless-stopped
+    volumes:
+      - db-data:/var/lib/postgresql/data
+
+  wiki:
+    image: ghcr.io/requarks/wiki:2.5.299
+    depends_on:
+      - db
+    environment:
+      DB_TYPE: postgres
+      DB_HOST: db
+      DB_PORT: 5432
+      DB_USER: wikijs
+      DB_PASS: wikijsrocks
+      DB_NAME: wiki
+    restart: unless-stopped
+    ports:
+      - "${WEB_SERVER_PORT}:3000"
+
+volumes:
+  db-data:
diff --git a/app/wiki/docker-compose.yml b/app/wiki/docker-compose.yml
new file mode 100644
index 0000000..5ae8472
--- /dev/null
+++ b/app/wiki/docker-compose.yml
@@ -0,0 +1,33 @@
+version: "3"
+
+services:
+
+  db:
+    image: postgres:15.2-alpine
+    environment:
+      POSTGRES_DB: wiki
+      POSTGRES_PASSWORD: wikijsrocks
+      POSTGRES_USER: wikijs
+    logging:
+      driver: "none"
+    restart: unless-stopped
+    volumes:
+      - db-data:/var/lib/postgresql/data
+
+  wiki:
+    image: ghcr.io/requarks/wiki:2.5.299
+    depends_on:
+      - db
+    environment:
+      DB_TYPE: postgres
+      DB_HOST: db
+      DB_PORT: 5432
+      DB_USER: wikijs
+      DB_PASS: wikijsrocks
+      DB_NAME: wiki
+    restart: unless-stopped
+    ports:
+      - "9080:3000"
+
+volumes:
+  db-data:
diff --git a/app/wiki/tasks.py b/app/wiki/tasks.py
new file mode 100644
index 0000000..eb1192e
--- /dev/null
+++ b/app/wiki/tasks.py
@@ -0,0 +1,24 @@
+from fabric import Connection
+from invoke import task
+import subprocess
+import shlex
+
+APP_NAME = "wiki"
+SSH_HOST = f"{APP_NAME}@51.250.85.23"
+DOCKER_REGISTRY = "cr.yandex/crplfk0168i4o8kd7ade"
+
+
+def run(args):
+    return subprocess.run(args, check=True, capture_output=True).stdout
+
+
+@task
+def deploy(c):
+    print("Ready to setup remote host")
+    with Connection(SSH_HOST) as c:
+        c.put(
+            "docker-compose.prod.yml",
+            remote=f"/home/{APP_NAME}/docker-compose.yml",
+        )
+        c.run("cp .env .env.prod")
+        c.run(f"docker-compose --project-name {shlex.quote(APP_NAME)} --env-file=.env.prod up --detach --remove-orphans")