refactor: simplify docker deployment without ssh acting as native socket executor

This commit is contained in:
2026-04-15 17:02:29 +03:00
parent 7c65ffdd58
commit 6b194314c4
+23 -27
View File
@@ -2,38 +2,34 @@ name: Deploy Iddaai Backend
on:
push:
branches:
- main
branches: [main]
jobs:
deploy:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
- name: Kodu Cek
uses: actions/checkout@v4
- name: Install sshpass
run: sudo apt-get update && sudo apt-get install -y sshpass
- name: Docker Build
run: docker build -t iddaai-be:latest .
- name: Deploy to Raspberry Pi via rsync
env:
SERVER_PASSWORD: ${{ secrets.SERVER_PASSWORD }}
SERVER_IP: "95.70.252.214"
SERVER_PORT: "2222"
SERVER_USER: "haruncan"
- name: Eski Konteyneri Sil
run: docker rm -f iddaai-be || true
- name: Yeni Versiyonu Baslat
run: |
export SSHPASS=$SERVER_PASSWORD
sshpass -e rsync -avz --exclude node_modules --exclude .git --exclude dist --exclude .next --exclude .DS_Store --exclude venv --exclude 'ai-engine/venv' --exclude __pycache__ -e "ssh -o StrictHostKeyChecking=no -p $SERVER_PORT" ./ $SERVER_USER@$SERVER_IP:~/apps/iddaai/be/
- name: Restart Backend Docker Service
uses: appleboy/ssh-action@v1.0.3
with:
host: "95.70.252.214"
port: "2222"
username: "haruncan"
password: ${{ secrets.SERVER_PASSWORD }}
script: |
cd ~/apps/iddaai
docker compose build backend
docker compose up -d backend
docker run -d \
--name iddaai-be \
--restart unless-stopped \
--network iddaai_iddaai-network \
-p 127.0.0.1:1810:3000 \
-e NODE_ENV=production \
-e DATABASE_URL='postgresql://iddaai_user:IddaA1_S4crET!@iddaai-postgres:5432/iddaai_db?schema=public' \
-e REDIS_HOST='iddaai-redis' \
-e REDIS_PORT='6379' \
-e REDIS_PASSWORD='IddaA1_Redis_Pass!' \
-e AI_ENGINE_URL='http://iddaai-ai-engine:8000' \
-e JWT_SECRET='b7V8jM2wP1L5mQxs2RdfFkAsLpI2oG!w' \
-e JWT_ACCESS_EXPIRATION='1d' \
iddaai-be:latest /bin/sh -c "npx prisma migrate deploy && node dist/src/main.js"