-
Notifications
You must be signed in to change notification settings - Fork 5
36 lines (30 loc) · 1.2 KB
/
hetzner.yaml
File metadata and controls
36 lines (30 loc) · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
name: Publish to Hetzner
on:
push:
branches:
- main
paths:
- "apps/meshjs-rag/**"
jobs:
publish_images:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: build image
run: docker build -t ${{ secrets.DOCKER_HUB_USERNAME }}/meshai-backend:latest -f apps/meshjs-rag/Dockerfile apps/meshjs-rag
- name: push image to the docker hub
run: |
echo ${{ secrets.DOCKER_HUB_TOKEN }} | docker login -u ${{ secrets.DOCKER_HUB_USERNAME }} --password-stdin
docker push ${{ secrets.DOCKER_HUB_USERNAME }}/meshai-backend:latest
- name: Deploy to Hetzner via SSH
uses: appleboy/ssh-action@v1.0.0
with:
host: ${{ secrets.HETZNER_HOST }}
username: ${{ secrets.HETZNER_USERNAME }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
docker pull ${{ secrets.DOCKER_HUB_USERNAME }}/meshai-backend:latest
docker stop meshai-backend || true
docker rm meshai-backend || true
docker run -d --name meshai-backend --env-file ./.env --restart always -p 127.0.0.1:8000:8000 ${{ secrets.DOCKER_HUB_USERNAME }}/meshai-backend:latest