feat: add Gitea workflow for deploying Kekbot to NAS via SSH

This commit is contained in:
2025-12-24 20:38:13 -05:00
parent 2ac855b765
commit 7795662584
2 changed files with 134 additions and 0 deletions
+55
View File
@@ -0,0 +1,55 @@
name: Deploy to NAS
on:
push:
branches:
- main
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build Docker image
uses: docker/build-push-action@v5
with:
context: .
push: false
load: true
tags: kekbot:latest
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Save Docker image
run: docker save kekbot:latest -o kekbot.tar
- name: Install SSH dependencies
run: |
sudo apt-get update
sudo apt-get install -y sshpass
- name: Deploy to NAS
env:
SSH_PASSWORD: ${{ secrets.NAS_SSH_PASSWORD }}
run: |
# Create app directory on NAS
sshpass -p "$SSH_PASSWORD" ssh -o StrictHostKeyChecking=no hllywluis@luis-nas.lan "mkdir -p /mnt/kCloud/Home/hllywluis/kekbot"
# Copy Docker files
sshpass -p "$SSH_PASSWORD" scp -o StrictHostKeyChecking=no docker-compose.yml Dockerfile .env hllywluis@luis-nas.lan:/mnt/kCloud/Home/hllywluis/kekbot/
sshpass -p "$SSH_PASSWORD" scp -o StrictHostKeyChecking=no kekbot.tar hllywluis@luis-nas.lan:/mnt/kCloud/Home/hllywluis/kekbot/
# Load Docker image and deploy
sshpass -p "$SSH_PASSWORD" ssh -o StrictHostKeyChecking=no hllywluis@luis-nas.lan << 'EOF'
cd /mnt/kCloud/Home/hllywluis/kekbot
docker load -i kekbot.tar
docker-compose down || true
docker-compose up -d
EOF