From 138225401df0738d182c631ec107f148c4436245 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9D=D0=B8=D0=BA=D0=B8=D1=82=D0=B0=20=D0=9A=D1=80=D1=83?= =?UTF-8?q?=D0=B3=D0=BB=D0=B8=D1=86=D0=BA=D0=B8=D0=B9?= Date: Tue, 25 Nov 2025 14:44:13 +0600 Subject: [PATCH] deploy --- .gitea/workflows/deploy.yml | 40 +++++++++++++++++++++++++++++++++++++ Dockerfile | 14 +++++++++++++ 2 files changed, 54 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..b4a51d7 --- /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 old-bpmn:latest . + + - name: Stop old container + run: docker rm -f old-bpmn || true + + - name: Run + run: | + docker run -d \ + --name old-bpmn \ + --network traefik \ + --label "traefik.enable=true" \ + --label "traefik.http.routers.old-bpmn.rule=Host(\`old.bpmn.koptilnya.xyz\`)" \ + --label "traefik.http.routers.old-bpmn.entrypoints=websecure" \ + --label "traefik.http.routers.old-bpmn.tls.certresolver=myresolver" \ + --label "traefik.http.services.old-bpmn.loadbalancer.server.port=80" \ + old-bpmn:latest diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..92ac6bf --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +FROM node:22-alpine AS build +WORKDIR /app +RUN corepack enable +COPY package.json yarn.lock ./ +RUN yarn install +COPY . . +RUN yarn build + + +FROM node:22-alpine +RUN npm i -g serve +WORKDIR /app +COPY --from=build /app/dist ./dist +CMD ["serve", "-s", "dist", "-p", "80"] \ No newline at end of file