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")