From 20739ccc2467ac908d7295cf52954d12f5a5a2db Mon Sep 17 00:00:00 2001 From: Anton Vakhrushev Date: Sun, 18 Jun 2023 15:17:49 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BD=D0=B5=D1=81=20?= =?UTF-8?q?=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B8=20=D1=81?= =?UTF-8?q?=D0=B5=D1=80=D0=B2=D0=B8=D1=81=D0=B0=20=D0=B4=D0=BB=D1=8F=20wik?= =?UTF-8?q?i?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/wiki/docker-compose.prod.yml | 33 ++++++++++++++++++++++++++++++++ app/wiki/docker-compose.yml | 33 ++++++++++++++++++++++++++++++++ app/wiki/tasks.py | 24 +++++++++++++++++++++++ 3 files changed, 90 insertions(+) create mode 100644 app/wiki/docker-compose.prod.yml create mode 100644 app/wiki/docker-compose.yml create mode 100644 app/wiki/tasks.py 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")