โลโก้ Gitea
อันดับ 30 ใน Top 100 DevOps และ CI/CDMIT (โอเพนซอร์ส)

Gitea คืออะไร และวิธีติดตั้งบน Cloud Server

Gitea คือ Git Server โอเพนซอร์สที่เขียนด้วยภาษา Go แจกเป็นไฟล์เดียว ใช้ทรัพยากรน้อยมากจนรันบน Cloud Server ขนาดเล็กที่สุดได้ เหมาะกับทีมที่ต้องการเก็บโค้ดไว้เองโดยไม่ต้องลงทุนเครื่องใหญ่

หมวดหมู่
DevOps และ CI/CD
ติดตั้งบนเซิร์ฟเวอร์เองได้
ได้
สเปกเริ่มต้นที่แนะนำ
1 vCPU · RAM 1 GB
ไลเซนส์
MIT (โอเพนซอร์ส)
เว็บทางการ
เปิดเว็บไซต์
สร้าง Cloud Server เดี๋ยวนี้
  • ISO/IEC 27001
  • ISO 22301
  • ISO 20000-1
  • CSA-STAR

Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย

Gitea คืออะไร

Gitea ให้สิ่งที่ทีมพัฒนาส่วนใหญ่ต้องการจริงในงานประจำวัน คือที่เก็บโค้ด Pull Request การรีวิว ระบบ Issue และ Wiki โดยไม่มีส่วนเกินที่ทำให้ระบบหนัก

เพราะเป็นไฟล์ปฏิบัติการเดียวที่เขียนด้วย Go การติดตั้งจึงเป็นแค่การดาวน์โหลดไฟล์และตั้งเป็นบริการ ใช้ RAM หลักร้อยเมกะไบต์เท่านั้นสำหรับทีมขนาดเล็ก

รุ่นใหม่มี Gitea Actions ที่ใช้ไวยากรณ์คล้ายกับ GitHub Actions ทำให้ทำงานอัตโนมัติได้โดยไม่ต้องติดตั้ง CI แยก เหมาะกับทีมที่อยากได้ทั้งที่เก็บโค้ดและงานอัตโนมัติแบบเบา

แผนผังการวางระบบ Gitea บน Cloud Server หนึ่งเครื่องที่ Data Center ในประเทศไทย ผู้ใช้เข้าถึงผ่านไฟร์วอลล์ที่เปิดเฉพาะพอร์ต 443, 3000, 2222 ตัว Gitea และข้อมูลอยู่บนเครื่องเดียวกัน เริ่มต้นที่ 1 vCPU แรม 1 GB และมีสำเนาสำรองเขียนออกไปเก็บอีกไซต์หนึ่ง
Gitea ทำงานบน Cloud Server เครื่องเดียวได้ครบ เปิดเฉพาะพอร์ตที่จำเป็น ข้อมูลและสำเนาสำรองอยู่ใน Data Center ในประเทศไทย

ความสามารถเด่นของ Gitea

เบามาก

รันบนเครื่อง 1 vCPU และ RAM 1 GB ได้สบายสำหรับทีมเล็ก

ครบพอสำหรับงานประจำวัน

Pull Request, การรีวิว, Issue, Wiki และ Release ในระบบเดียว

Gitea Actions

ทำงานอัตโนมัติด้วยไวยากรณ์คล้าย GitHub Actions โดยไม่ต้องติดตั้งเซิร์ฟเวอร์ CI แยก

ย้ายจากที่อื่นได้ง่าย

นำเข้าที่เก็บโค้ดจาก GitHub หรือ GitLab พร้อม Issue ได้จากหน้าเว็บ

ใช้ Gitea ทำอะไรได้บ้าง

  • ทีมพัฒนาขนาดเล็กถึงกลางที่ต้องการเก็บโค้ดไว้ในองค์กร
  • เอเจนซีที่ต้องแยกที่เก็บโค้ดของลูกค้าแต่ละราย
  • ระบบสำรองภายในสำหรับที่เก็บโค้ดที่อยู่บนบริการภายนอก
  • สถาบันการศึกษาที่ต้องการ Git Server ให้นักศึกษาใช้

สเปก Cloud Server ที่แนะนำ

แผนภาพเทียบสเปก Cloud Server สำหรับ Gitea 3 ระดับ เริ่มจาก 1 vCPU แรม 1 GB ดิสก์ NVMe 20 GB ไปจนถึง 4 vCPU แรม 8 GB ดิสก์ NVMe 200 GB โดยเทียบขนาดแยกตามแต่ละคอลัมน์
เริ่มจากระดับที่ตรงกับการใช้งานตอนนี้ แล้วเพิ่ม CPU และ RAM ทีหลังได้บนเครื่องเดิม
ระดับการใช้งานvCPURAMDisk
เริ่มต้นทีมไม่เกิน 10 คน1 vCPU1 GBNVMe 20 GB
แนะนำทีมหลายสิบคนพร้อมใช้ Gitea Actions2 vCPU4 GBNVMe 80 GB
ทีมใหญ่ที่เก็บโค้ดจำนวนมากและงานอัตโนมัติต่อเนื่อง4 vCPU8 GBNVMe 200 GB

ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ

วิธีติดตั้ง Gitea บน Cloud Server ของ THAI DATA CLOUD

ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server

สิ่งที่ต้องเตรียม

  • Ubuntu Server 24.04 LTS หรือ Debian 12
  • ฐานข้อมูล SQLite สำหรับทีมเล็ก หรือ PostgreSQL สำหรับทีมใหญ่
  • Git ติดตั้งบนเครื่อง

ทดสอบบน Ubuntu Server 24.04 LTS ที่ติดตั้ง Docker แล้ว

  1. 1

    สร้างไฟล์ compose.yml

    services:
      gitea:
        image: gitea/gitea:latest
        restart: always
        environment:
          USER_UID: 1000
          USER_GID: 1000
          GITEA__database__DB_TYPE: postgres
          GITEA__database__HOST: db:5432
          GITEA__database__NAME: gitea
          GITEA__database__USER: gitea
          GITEA__database__PASSWD: ChangeThisStrongPassword
        volumes:
          - ./gitea:/data
        ports:
          - "3000:3000"
          - "2222:22"
        depends_on: [db]
    
      db:
        image: postgres:16
        restart: always
        environment:
          POSTGRES_USER: gitea
          POSTGRES_PASSWORD: ChangeThisStrongPassword
          POSTGRES_DB: gitea
        volumes:
          - ./postgres:/var/lib/postgresql/data
  2. 2

    สั่งรัน

    docker compose up -d
  3. 3

    ตั้งค่าครั้งแรกผ่านเบราว์เซอร์

    เปิดพอร์ต 3000 แล้วกรอกข้อมูลฐานข้อมูลกับ URL ของเว็บ จากนั้นสร้างบัญชีผู้ดูแลระบบเป็นบัญชีแรก

  4. 4

    วาง Reverse Proxy และ SSL

    server {
      listen 443 ssl;
      server_name git.example.com;
      location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
      }
    }
  5. 5

    ปิดการสมัครสมาชิกเอง

    แก้ไฟล์ตั้งค่า app.ini แล้วรีสตาร์ตบริการ เพื่อไม่ให้คนภายนอกสมัครเข้าใช้ระบบได้

    [service]
    DISABLE_REGISTRATION = true

พอร์ตที่ต้องเปิดบน Firewall

พอร์ตโปรโตคอลใช้ทำอะไร
443TCPหน้าเว็บผ่าน Reverse Proxy
3000TCPพอร์ตภายในของ Gitea
2222TCPGit over SSH (แยกจากพอร์ต SSH ของเครื่อง)

สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ

  • ปิดการสมัครสมาชิกเองและสร้างบัญชีให้เฉพาะคนในทีม
  • เปิดการยืนยันตัวตนสองชั้น
  • ใช้ PostgreSQL แทน SQLite เมื่อมีผู้ใช้หลายสิบคนขึ้นไป
  • สำรองทั้งโฟลเดอร์ข้อมูลและฐานข้อมูลตามรอบ
  • จำกัดสิทธิ์ของ Runner ที่ใช้กับ Gitea Actions

ทำไมควรรัน Gitea บน Cloud Server ของ THAI DATA CLOUD

Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง

รันได้บน Cloud Server สเปกต่ำสุด จึงเป็นวิธีที่ถูกที่สุดในการเก็บซอร์สโค้ดไว้ในไทย

ใช้เป็นสำเนาสำรองของที่เก็บโค้ดบนบริการต่างประเทศ เพื่อความต่อเนื่องเมื่อบริการนั้นล่ม

เพิ่มสเปกได้ทันทีถ้าทีมโตหรือเริ่มใช้งานอัตโนมัติมากขึ้น

คำถามที่พบบ่อยเกี่ยวกับ Gitea

Gitea ต่างจาก GitLab อย่างไร

Gitea เบากว่ามากและติดตั้งง่ายกว่า เหมาะกับทีมที่ต้องการที่เก็บโค้ดกับการรีวิวเป็นหลัก ส่วน GitLab ให้ CI/CD, Registry และเครื่องมือจัดการโครงการครบกว่า แต่ต้องการ RAM อย่างน้อย 8 GB

ใช้ SQLite บนงานจริงได้ไหม

ได้สำหรับทีมเล็กไม่กี่คน แต่เมื่อผู้ใช้เพิ่มขึ้นควรย้ายไป PostgreSQL เพื่อรองรับการเขียนพร้อมกันและทำให้การสำรองข้อมูลเป็นมาตรฐานกว่า

ย้ายจาก GitHub มา Gitea ยากไหม

ไม่ยาก Gitea มีเครื่องมือนำเข้าที่ดึงทั้งโค้ด Issue และ Pull Request จาก GitHub ได้จากหน้าเว็บ เพียงใส่โทเคนเข้าถึงของบัญชีต้นทาง

ให้เราติดตั้ง Gitea ให้ฟรี บน Cloud Server ในไทย

แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด