Files
lcbp3/specs/08-infrastructure/10_gitea_runner.md
admin 1973c62952
All checks were successful
Build and Deploy / deploy (push) Successful in 9s
260216:1505 4rd Deploy (Prepare CI/CD: Revise .gitea/workflow/deploy.yaml #2)
2026-02-16 15:05:26 +07:00

3.1 KiB

การติดตั้ง Gitea Actions Runner (act_runner) บน ASUSTOR

คู่มือนี้สำหรับติดตั้ง act_runner บน ASUSTOR เพื่อเชื่อมต่อกับ Gitea ที่รันอยู่บน QNAP

⚠️ Note: Gitea อยู่บน QNAP แต่ Runner อยู่บน ASUSTOR ตามหลัก Server Role Separation (QNAP = Application, ASUSTOR = Infrastructure)

🏗️ โครงสร้างการติดตั้ง

  • Platform: ASUSTOR AS5403T (Infrastructure Server)
  • Method: Portainer Stack หรือ Docker Compose
  • Path: /volume1/np-dms/gitea-runner/

🚀 ขั้นตอนการติดตั้ง

1. รับ Registration Token

  1. เข้า Gitea Web UI (https://git.np-dms.work) ไปที่ Site Administration -> Actions -> Runners
  2. กดปุ่ม Create new Runner
  3. คัดลอก Registration Token มาเก็บไว้

2. เตรียม Directory บน ASUSTOR

# SSH เข้า ASUSTOR
ssh admin@192.168.10.9

# สร้างโฟลเดอร์เก็บข้อมูล
mkdir -p /volume1/np-dms/gitea-runner/data

3. สร้าง Docker Compose

สร้างไฟล์ /volume1/np-dms/gitea-runner/docker-compose.yml หรือใช้ Portainer Stack:

# File: /volume1/np-dms/gitea-runner/docker-compose.yml
# Deploy on: ASUSTOR AS5403T
# เชื่อมต่อกับ Gitea บน QNAP ผ่าน Domain URL

version: "3.8"

services:
  runner:
    image: gitea/act_runner:latest
    container_name: gitea-runner
    restart: always
    environment:
      # ใช้ Domain URL เพื่อเชื่อมต่อ Gitea ข้ามเครื่อง (QNAP)
      - GITEA_INSTANCE_URL=https://git.np-dms.work
      - GITEA_RUNNER_REGISTRATION_TOKEN=คัดลอก_TOKEN_มาวางที่นี่
      - GITEA_RUNNER_NAME=asustor-runner
      # Label ต้องตรงกับ runs-on ใน deploy.yaml
      - GITEA_RUNNER_LABELS=ubuntu-latest:docker://node:18-bullseye,self-hosted:docker://node:18-bullseye
    volumes:
      - /volume1/np-dms/gitea-runner/data:/data
      - /var/run/docker.sock:/var/run/docker.sock

4. สั่งรัน Runner

cd /volume1/np-dms/gitea-runner
docker compose up -d

🔍 การตรวจสอบภายหลังการติดตั้ง

  1. กลับไปที่หน้า Settings -> Actions -> Runners ใน Gitea (QNAP)
  2. สถานะควรเปลี่ยนเป็น Total: 1 และมีจุดสีเขียวหน้า asustor-runner
  3. ลองกด Run workflow ในแถบ Actions เพื่อทดสอบ

⚠️ ข้อควรระวัง

  • Network: ASUSTOR ต้องเข้าถึง https://git.np-dms.work ได้ (ผ่าน DNS/NPM)
  • Disk Cleanup: รัน docker image prune -a เป็นระยะเพื่อลบ cache images เก่า