From 6c7e97149b8c2b4e3da86ec56511981d9151600f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9A=D1=80=D1=83=D0=B3=D0=BB=D0=B8=D1=86=D0=BA=D0=B8?= =?UTF-8?q?=D0=B9=20=D0=9D=D0=B8=D0=BA=D0=B8=D1=82=D0=B0=20=D0=92=D0=B8?= =?UTF-8?q?=D1=82=D0=B0=D0=BB=D1=8C=D0=B5=D0=B2=D0=B8=D1=87?= Date: Thu, 20 Nov 2025 21:26:07 +0600 Subject: [PATCH] deploy --- .gitea/workflows/deploy.yml | 40 +++++++++++++++++++++++++++++++++++++ Dockerfile | 9 +++++++++ 2 files changed, 49 insertions(+) create mode 100644 .gitea/workflows/deploy.yml create mode 100644 Dockerfile diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml new file mode 100644 index 0000000..589400a --- /dev/null +++ b/.gitea/workflows/deploy.yml @@ -0,0 +1,40 @@ +name: Deploy + +on: + push: + branches: + - master + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Keyscan + run: | + ssh-keyscan git.koptilnya.xyz >> ~/.ssh/known_hosts + + - name: Checkout + uses: actions/checkout@v4 + with: + ssh-key: ${{ secrets.SSH_PRIVATE_KEY }} + ssh-strict: false + persist-credentials: false + + - name: Build + run: docker build -t bpmn-api:latest . + + - name: Stop old container + run: docker rm -f bpmn-api || true + + - name: Run + run: | + docker run -d \ + --name bpmn-api \ + --network traefik \ + --label "traefik.enable=true" \ + --label "traefik.http.routers.bpmn-api.rule=Host(\`api.koptilnya.xyz\`) && PathPrefix(\`bpmn\`)" \ + --label "traefik.http.routers.bpmn-api.entrypoints=websecure" \ + --label "traefik.http.routers.bpmn-api.tls.certresolver=myresolver" \ + --label "traefik.http.services.bpmn-api.loadbalancer.server.port=80" \ + bpmn-api:latest diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a2110c6 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,9 @@ +FROM node:22-alpine AS build +WORKDIR /app +RUN corepack enable +COPY package.json yarn.lock ./ +RUN yarn install +COPY . . +EXPOSE 80 +CMD ["HOST=api.koptilnya.xyz/bpmn PORT=80 npx y-websocket"] +