---
canonical: https://koalavps.com/th/guides-self-host-git-server-on-a-vps/
language: th
generated: 2026-10-21T13:34:18.852Z
---

[หน้าแรก](https://koalavps.com/th/) / [สำรวจ](https://koalavps.com/th/resources/) /  บันทึกภาคสนาม KoalaVPS

บันทึกภาคสนาม KoalaVPS

# โรงตีเหล็กเล็ก ๆ ที่คุณสร้างใหม่ได้

บริการ Git สามารถเก็บรักษาที่เก็บโค้ดและการทำงานร่วมกันไว้ภายใต้การควบคุมของคุณ ปกป้องโค้ด ฐานข้อมูล และระบบบิลด์แยกจากกัน

[ค้นหา VPS ของคุณ](https://koalavps.com/th/vps/)

## ในเอกสารนี้

[เลือกชั้นการทำงานร่วมกัน](https://koalavps.com/th/guides-self-host-git-server-on-a-vps/#section-1)[แยกบิลด์ออกจาก forge](https://koalavps.com/th/guides-self-host-git-server-on-a-vps/#section-2)[ปกป้องการเข้าถึงและการลงทะเบียน](https://koalavps.com/th/guides-self-host-git-server-on-a-vps/#section-3)[สำรองข้อมูลบริการทั้งหมด](https://koalavps.com/th/guides-self-host-git-server-on-a-vps/#section-4)[รายการตรวจสอบการกู้คืน forge](https://koalavps.com/th/guides-self-host-git-server-on-a-vps/#section-5)[จำกัดสิทธิ์การติดตั้งให้แคบ](https://koalavps.com/th/guides-self-host-git-server-on-a-vps/#section-6)[ใช้บริการทำงานร่วมกันที่เล็กที่สุดที่เพียงพอ](https://koalavps.com/th/guides-self-host-git-server-on-a-vps/#section-7)[แยกเส้นทางเว็บ SSH และฐานข้อมูลออกจากกัน](https://koalavps.com/th/guides-self-host-git-server-on-a-vps/#section-8)[ตรวจสอบการโคลน การพุช และการดำเนินการที่ถูกปฏิเสธ](https://koalavps.com/th/guides-self-host-git-server-on-a-vps/#section-9)[กู้คืนการสนทนาพร้อมกับรีโพซิทอรี](https://koalavps.com/th/guides-self-host-git-server-on-a-vps/#section-10)[ฐานความรู้](https://koalavps.com/th/resources/)

## เลือกชั้นการทำงานร่วมกัน

Forgejo และ Gitea เป็นตัวอย่างของซอฟต์แวร์ forge แบบเบา Git SSH ธรรมดาอาจเพียงพอสำหรับเวิร์กโฟลว์ที่เล็กกว่า จับคู่ประเด็น การตรวจสอบ พื้นที่จัดเก็บแพ็กเกจ และข้อกำหนดด้านตัวตนให้เข้ากับโครงการ ตรวจสอบเวอร์ชันที่รองรับในปัจจุบันและใบอนุญาต

## แยกบิลด์ออกจาก forge

CI runner รันโค้ดที่ควบคุมโดยโปรเจกต์และไม่ควรถือข้อมูลรับรอง forge หรือโฮสต์แบบไม่จำกัด แยก runner ออก ขอบเขตโทเค็น และหลีกเลี่ยงการรันงานที่ไม่น่าเชื่อถือบนบัญชีที่มีสิทธิ์สูงเดียวกับบริการที่เก็บโค้ด

## ปกป้องการเข้าถึงและการลงทะเบียน

ปิดการสมัครสมาชิกสาธารณะเมื่อบริการเป็นส่วนตัว ใช้บัญชีแยกบุคคล การยืนยันตัวตนที่แข็งแกร่ง และคีย์การติดตั้งใช้งานที่กำหนดขอบเขตอย่างระมัดระวัง บันทึกพอร์ต SSH และคีย์โฮสต์ไว้ อย่าฝึกให้ผู้ใช้เพิกเฉยต่อคำเตือนคีย์โฮสต์โดยไม่แจ้ง

## สำรองข้อมูลบริการทั้งหมด

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

## รายการตรวจสอบการกู้คืน forge

ส่งออกฐานข้อมูลอย่างสม่ำเสมอ และเก็บพื้นที่จัดเก็บของรีโพซิทอรี ไฟล์แนบ พื้นที่จัดเก็บไฟล์ขนาดใหญ่หากเปิดใช้ การกำหนดค่า และความลับการเข้ารหัส ตรวจสอบโคลนผ่านเส้นทาง SSH หรือ HTTPS ที่ตั้งใจไว้หลังการกู้คืน แยกฟอร์จและเวิร์กเกอร์ CI ใดๆ ออกจากกัน เพื่อให้การบิลด์ไม่สามารถเขียนทับการกำหนดค่าของบริการเองได้

## จำกัดสิทธิ์การติดตั้งให้แคบ

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

## ใช้บริการทำงานร่วมกันที่เล็กที่สุดที่เพียงพอ

สำหรับที่เก็บข้อมูลส่วนตัวเพียงไม่กี่แห่ง Git แบบ bare ผ่าน SSH ที่จำกัดอาจเพียงพอ Forgejo หรือ Gitea เพิ่มบัญชี คำขอดึง ปัญหา และแพ็กเกจเสริม โดยมีต้นทุนเป็นฐานข้อมูล การอัปเดตแอปพลิเคชัน และสถานะที่คงอยู่มากขึ้น บันทึกว่าทีมจะใช้ฟีเจอร์ใดจริง ๆ กันงบประมาณการเติบโตของที่เก็บข้อมูล ออบเจกต์ไฟล์ขนาดใหญ่ ไฟล์แนบ และอาร์ติแฟกต์บิลด์แยกต่างหาก การประมวลผล CI อาจเกินกว่าตัว forge เอง

- เลือกชื่อ HTTPS แบบมาตรฐานและปกป้องบัญชี DNS ของมัน

- ตัดสินใจว่าการสมัครสมาชิกจะปิดรับ แบบเชิญเท่านั้น หรือแบบมีผู้ดูแล

- มอบตัวตนที่ไม่มีสิทธิ์พิเศษและที่จัดเก็บส่วนตัวแบบถาวรให้กับบริการ forge

เอกสารอย่างเป็นทางการ: [การติดตั้งคอนเทนเนอร์ Forgejo](https://forgejo.org/docs/latest/admin/installation/docker/)

## แยกเส้นทางเว็บ SSH และฐานข้อมูลออกจากกัน

ใช้การกำหนดค่าต้นทางสำหรับรีลีสที่เลือกและปักหมุดเวอร์ชันอิมเมจที่ต้องการ รีเวิร์สพร็อกซี TLS ควรเข้าถึงตัวรับฟังเว็บภายใน; ฐานข้อมูลควรเข้าถึงได้จาก forge เท่านั้น หาก Git SSH ใช้พอร์ตคอนเทนเนอร์ ให้คงโฮสต์ที่ประกาศไว้และพอร์ตภายนอกให้สอดคล้องกับการแมป อย่าแทนที่หรือเปิดเผยตัวรับฟัง SSH ของผู้ดูแลโฮสต์โดยไม่ตั้งใจขณะเปลี่ยน forge ปิดการเข้าถึงการติดตั้ง/ตั้งค่าทันทีที่สร้างเจ้าของเริ่มต้นเสร็จ

- ตรวจสอบความเป็นเจ้าของ persistent volume ก่อนเริ่มแอปพลิเคชัน

- ใช้ผู้ใช้ฐานข้อมูลที่จำกัดเฉพาะฐานข้อมูล forge

- เก็บ CI runner ไว้ในขอบเขตความเชื่อถือแยกต่างหาก โดยเฉพาะสำหรับรีโพซิทอรีที่ไม่น่าเชื่อถือ

เอกสารอย่างเป็นทางการ: [เครือข่าย Docker และการคงอยู่ของข้อมูล Forgejo](https://forgejo.org/docs/latest/admin/installation/docker/)

## ตรวจสอบการโคลน การพุช และการดำเนินการที่ถูกปฏิเสธ

สร้างรีโพซิทอรีส่วนตัวแบบใช้แล้วทิ้งและทดสอบการโคลน HTTPS หรือ SSH URL จากบัญชีนักพัฒนาปกติ คอมมิตและพุชไฟล์ที่ไม่เป็นอันตราย จากนั้นตรวจสอบว่าผู้อ่านที่ได้รับอนุญาตรายอื่นสามารถดึงข้อมูลได้ บัญชีที่ไม่ได้รับเชิญต้องอ่านรีโพซิทอรีส่วนตัวไม่สำเร็จ ตรวจสอบการจัดการไฟล์ขนาดใหญ่และอีเมลแจ้งเตือนหากเปิดใช้งาน สำหรับเครื่องที่ใช้เฉพาะการติดตั้งใช้งาน ให้ทดสอบว่าคีย์แบบอ่านอย่างเดียวสามารถดึงข้อมูลได้และพุชไม่ได้ การยืนยันตัวตนสำเร็จเพียงอย่างเดียวไม่ได้พิสูจน์ขอบเขตสิทธิ์ที่ตั้งใจไว้

```
# Use the disposable repository URL advertised by your forge:
git clone ssh://git@git.example.com:2222/team/check.git
# In a clone, inspect which remote is configured:
git remote -v
```

## กู้คืนการสนทนาพร้อมกับรีโพซิทอรี

สำรองข้อมูลแอปพลิเคชัน/ฐานข้อมูลอย่างสอดคล้องกัน ที่เก็บรีโพซิทอรี ไฟล์แนบ ข้อมูล LFS การกำหนดค่า และความลับการเข้ารหัสที่จำเป็น ปฏิบัติตามขั้นตอนสำรองข้อมูลของเวอร์ชันฟอร์จที่ติดตั้งไว้ คำสั่งสำรองข้อมูลของ Gitea ไม่สามารถใช้แทนกันได้โดยอัตโนมัติกับทุกเวอร์ชันของ Forgejo สร้างใหม่ในสภาพแยกและตรวจสอบ issue ไฟล์แนบ การเข้าสู่ระบบ และการโคลน หาก push ล้มเหลวหลังย้าย ให้ตรวจสอบโฮสต์/พอร์ต SSH การแมปคีย์ สิทธิ์ที่เก็บข้อมูล และ URL ของการโคลนที่ประกาศไว้ ก่อนเปลี่ยนสิทธิ์รีโพซิทอรีทั่วทั้งระบบ

เอกสารอย่างเป็นทางการ: [การสำรองและกู้คืน Gitea](https://docs.gitea.com/administration/backup-and-restore/)

สำรวจต่อ

## อ่านต่อ

[กรณีการใช้งาน ### โฮสต์ด้วยตนเองพร้อมแผนการบำรุงรักษา เซิร์ฟเวอร์สามารถทำให้เครื่องมือของคุณพกพาได้และปรับแต่งได้ ประโยชน์จะคงอยู่เมื่อการอัปเดต การสำรองข้อมูล และการกู้คืนเป็นส่วนหนึ่…](https://koalavps.com/th/self-hosting/)[คู่มือ ### ข้อมูลสำรองมีความหมายเมื่อกู้คืนได้ ออกแบบการสำรองข้อมูลโดยอิงจากข้อมูลที่คุณไม่สามารถสร้างใหม่ได้และเวลาที่บริการของคุณสามารถยอมสูญเสียได้ การอัปโหลดสำเร็จเป็นเพียงจ…](https://koalavps.com/th/backups/)[คู่มือ ### เครื่องยังคงเป็นของคุณ ความปลอดภัยคือกิจวัตรที่ต้องทำต่อเนื่อง: ลดพื้นผิวที่เปิดเผย จำกัดสิทธิ์ อัปเดตแพตช์อย่างตั้งใจ และทำให้การกู้คืนเป็นไปได้…](https://koalavps.com/th/server-security/)

กำหนดค่าโครงสร้างพื้นฐานของคุณ

## ควบคุมด้วยตัวคุณเอง ติดตั้งตามเงื่อนไขของคุณ

ไม่มีเอกสารยืนยันตัวตน เข้าถึงผู้ดูแลระบบเต็มรูปแบบ การเรียกเก็บเงินแบบคริปโตโดยกำเนิด

[เลือกการกำหนดค่า](https://koalavps.com/th/vps/)
