ติดตั้ง Gitea บน Raspberry Pi เพื่อสร้างที่เก็บโค้ดของคุณเอง

ติดตั้ง Gitea บน Raspberry Pi เพื่อสร้างที่เก็บโค้ดของคุณเอง
ผู้อ่านเช่นคุณช่วยสนับสนุน MUO เมื่อคุณทำการซื้อโดยใช้ลิงก์บนเว็บไซต์ของเรา เราอาจได้รับค่าคอมมิชชั่นจากพันธมิตร อ่านเพิ่มเติม.

Git คือระบบควบคุมเวอร์ชันที่ใช้โดยนักพัฒนาซอฟต์แวร์ ผู้เขียนโค้ด และนักปรับแต่งเพื่อทำงานร่วมกันและเผยแพร่โครงการโอเพ่นซอร์ส เมื่อใช้ Git คุณสามารถจัดการโปรเจ็กต์ขนาดใดก็ได้ ดึงการเปลี่ยนแปลงโค้ดและการผสาน และอนุญาตให้ผู้ใช้โคลนที่เก็บของคุณลงในเครื่องของตนเอง ระบบนิเวศโอเพ่นซอร์สทำงานบน Git และหลายโครงการที่นำเสนอบน MakeUseOf.com เกี่ยวข้องกับการใช้ทรัพยากรจาก GitHub ด้วย Gitea คุณสามารถโฮสต์ที่เก็บ Git ที่ทำงานได้อย่างสมบูรณ์บน Raspberry Pi ในบ้านของคุณเอง





สร้างวิดีโอประจำวัน

ทำไมต้องโฮสต์บริการ Git ของคุณเองบน Raspberry Pi แทนที่จะใช้ GitHub

  หน้าที่เก็บ GitHub แสดงรายการไฟล์จาก React's source code

ด้วยจำนวนผู้ใช้ 55 ล้านคน GitHub เป็นที่เก็บที่ใหญ่ที่สุดของซอฟต์แวร์ฟรีและโอเพ่นซอร์ส บนโลก แต่ Microsoft เจ้าของคนปัจจุบันไม่เหมาะกับบทบาทของผู้ดูแล ซีอีโอคนก่อนๆ ของบริษัทกล่าวถึงลินุกซ์และใบอนุญาตสาธารณะทั่วไปว่าเป็น 'มะเร็ง' และผลิตภัณฑ์ส่วนใหญ่ของไมโครซอฟต์เป็นกรรมสิทธิ์และเป็นแหล่งปิด





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





ด้วยการใช้ GitHub นักพัฒนากำลังสร้างอีกจุดหนึ่งที่ทำให้นวัตกรรมถูกยับยั้ง บ่อนทำลาย และอยู่ภายใต้การแทรกแซงที่ไม่สำคัญ

Gitea ให้คุณตั้งค่าเซิร์ฟเวอร์ Git ของคุณเองบน Raspberry Pi

Gitea เป็นทางแยกของ Gogs และเป็นโซลูชันโฮสติ้งรหัสน้ำหนักเบาที่จัดการโดยชุมชนซึ่งเขียนด้วย Go และเผยแพร่ภายใต้ใบอนุญาต MIT มีจุดมุ่งหมายที่จะมีรูปแบบการพัฒนาที่เปิดกว้างและรวดเร็วกว่ารุ่นก่อน และจะทำงานบนเครื่องที่มีทรัพยากรเพียงเล็กน้อย เช่น Raspberry Pi คุณจะสามารถทำงานกับ dotfiles ของคุณได้ Ubuntu ISO ที่กำหนดเอง , สคริปต์ Bash และยูทิลิตี Java และ Python โดยไม่ต้องกลัวว่าจะถูกลบออก DMCA ใช้เพื่อฝึกซอฟต์แวร์ที่เป็นอันตราย หรืออยู่นอกเหนือการควบคุมของคุณ



วิธีการติดตั้ง Gitea บน Raspberry Pi ของคุณ

Gitea มาพร้อมกับวิธีการติดตั้งหลายวิธี แต่วิธีที่ง่ายที่สุดคือผ่าน Docker หากคุณไม่ได้ใช้งาน Raspberry Pi อยู่แล้ว ติดตั้ง Docker และ Docker Compose ตอนนี้.

อะไรจะร้อนสำหรับซีพียู

ไฟล์ที่คุณจัดเก็บไว้ในเซิร์ฟเวอร์ Gitea อาจใช้พื้นที่มาก ดังนั้นเราขอแนะนำ ใช้ที่จัดเก็บข้อมูลภายนอกกับ Raspberry Pi ของคุณ และใช้สิ่งนั้นเป็นที่ตั้งสำหรับการติดตั้ง Gitea ของคุณ





เชื่อมต่อกับ Pi ของคุณผ่าน SSH จากนั้นไปที่ตำแหน่งที่คุณต้องการติดตั้ง Gitea และสร้างไดเร็กทอรีใหม่ จากนั้นย้ายเข้าไป:

 mkdir gitea 
cd gitea

สร้างไฟล์ใหม่ด้วยนาโน:





 nano docker-compose.yml

...และวางโค้ดต่อไปนี้ลงไป:

 version: "3" 

networks:
  gitea:
    external: false

services:
  server:
    image: gitea/gitea:latest
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - GITEA__database__DB_TYPE=mysql
      - GITEA__database__HOST=db:3306
      - GITEA__database__NAME=gitea
      - GITEA__database__USER=gitea
      - GITEA__database__PASSWD=gitea
    restart: always
    networks:
      - gitea
    volumes:
      - ./gitea:/data
      - /etc/timezone:/etc/timezone:gb
      - /etc/localtime:/etc/localtime:gb
    ports:
      - "3000:3000"
      - "222:22"
    depends_on:
      - db

  db:
    image: mysql:8
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=gitea
      - MYSQL_USER=gitea
      - MYSQL_PASSWORD=gitea
      - MYSQL_DATABASE=gitea
    networks:
      - gitea
    volumes:
      - ./mysql:/var/lib/mysql

เปลี่ยนเขตเวลาเป็นโลแคลของคุณเองและเลือกรหัสผ่านที่รัดกุมสำหรับฐานข้อมูลของคุณ จากนั้นบันทึกและออกจากนาโนด้วย Ctrl + O , แล้ว Ctrl + X

เข้า:

 docker-compose up -d 

…เพื่อเรียกการเขียนนักเทียบท่าในโหมดเดี่ยว Docker-compose จะดึงหลายภาพสำหรับ Gitea และ Maria DB และตั้งค่าคอนเทนเนอร์ อาจใช้เวลาสักครู่ขึ้นอยู่กับความเร็วในการเชื่อมต่อของคุณ

  docker-compose ps แสดง gitea และ gitea_db_1 เป็น up

เมื่อคุณกลับไปที่พรอมต์คำสั่ง:

 docker-compose ps

…ควรแสดง 'gitea' และ 'gitea_db_1' เป็น 'ขึ้น' ตอนนี้คุณสามารถไปที่หน้าการกำหนดค่าเริ่มต้นสำหรับไซต์ Gitea ของคุณได้ที่ your.pi.local.ip.address:3000 .

อย่าเพิ่งแก้ไขอะไร หากคุณวางแผนที่จะเข้าถึงอินสแตนซ์ Gitea ของคุณทางอินเทอร์เน็ต คุณต้องเตรียมการเพิ่มเติมเล็กน้อยก่อน

เข้าถึงอินสแตนซ์ Gitea ของคุณผ่านทางอินเทอร์เน็ต

คุณต้องการพิมพ์ URL มาตรฐานเพื่อเข้าถึงอินสแตนซ์ Gitea ของคุณ ดังนั้นคุณจะต้องใช้ Apache เพื่อจัดการกับพร็อกซี ติดตั้ง Apache ด้วย:

 sudo apt install apache2

ตอนนี้ เริ่มต้นและเปิดใช้งาน Apache ด้วยคำสั่งต่อไปนี้:

 sudo systemctl start apache2 
sudo systemctl enable apache2

เปิดใช้งานโมดูลพร็อกซีของ Apache ด้วย:

 sudo a2enmod proxy 
sudo a2enmod proxy_http

เลือกชื่อโดเมนหรือชื่อโดเมนย่อย จากนายทะเบียนที่มีชื่อเสียง จากนั้น จากหน้าการตั้งค่าของผู้รับจดทะเบียน ค้นหาตัวเลือก 'DNS ขั้นสูง' และเพิ่มใหม่ บันทึก. ตั้งค่า เจ้าภาพ ฟิลด์เป็น ' @' และฟิลด์ค่าไปยังที่อยู่ IP แบบคงที่ของคุณ ตั้งค่า TTL (เวลาที่จะเช่า) ให้ต่ำที่สุด จากนั้นบันทึก

เปิดหน้าผู้ดูแลระบบเราเตอร์ของคุณ และค้นหาส่วนที่ชื่ออย่างใดอย่างหนึ่ง การส่งต่อพอร์ต , การทำแผนที่พอร์ต , หรือ การจัดการพอร์ต

วิธีรับกระจก Aero บน Windows 10

สร้างรายการใหม่สำหรับคำขอ HTTP ตั้งค่าทั้งพอร์ตในเครื่องและพอร์ตสาธารณะเป็น 80 และที่อยู่ IP ในเครื่องไปยังที่อยู่ IP ของ Raspberry Pi ของคุณ

จำเป็นต้องมีพอร์ตเปิดที่สองสำหรับคำขอ HTTPS ตั้งค่าทั้งพอร์ตในเครื่องและพอร์ตสาธารณะเป็น 443 และอีกครั้ง ที่อยู่ IP ในเครื่องไปยังที่อยู่ IP ของ Pi ของคุณ

สุดท้าย คุณต้องเปิดพอร์ตสำหรับคำขอ SSH ไปยังเซิร์ฟเวอร์ Git ของคุณ ตั้งค่าทั้งพอร์ตในเครื่องและพอร์ตสาธารณะเป็น 222 และที่อยู่ IP ในเครื่องไปยังที่อยู่ IP ของ Pi ของคุณ

คุณจะใช้ Certbot เพื่อรับใบรับรองความปลอดภัยและคีย์ เพิ่มที่เก็บ Certbot อัปเดต จากนั้นติดตั้ง Certbot:

 sudo add-apt-repository ppa:certbot/certbot 
sudo apt update
sudo apt-get install python3-certbot-apache

เปลี่ยนไดเรกทอรีและสร้างไฟล์ใหม่ด้วยนาโน:

 cd /etc/apache2/sites-available/ 
nano gitea.conf

ในไฟล์ใหม่ ให้วางสิ่งต่อไปนี้ อย่าลืมคัดลอกในชื่อโดเมนของคุณเอง:

 <VirtualHost *:80>ServerName your-domain-name.tldProxyPass / http://127.0.0.1:3000/ProxyPassReverse / http:/127.0.0.1:3000/ProxyPreserveHost On</VirtualHost>

บันทึกและออกจากนาโนด้วย Ctrl + , แล้ว Ctrl + เอ็กซ์ และเปิดใช้งานไฟล์ conf ใหม่ของคุณด้วย:

 sudo a2ensite gitea.conf

รีสตาร์ท Apache:

 sudo service apache2 restart

เรียกใช้ Certbot ด้วย:

 sudo certbot

…และเลือกชื่อโดเมนของคุณจากรายการ Certbot จะดึงและติดตั้งใบรับรองและคีย์ เมื่อคุณกลับมาที่พรอมต์ ให้รีสตาร์ท Apache อีกครั้ง:

ดาวน์โหลดภาพยนตร์ฟรีเพื่อดูออฟไลน์
 sudo service apache2 restart

การตั้งค่าอินสแตนซ์ Gitea

ตอนนี้คุณสามารถเยี่ยมชมอินสแตนซ์ Gitea ของคุณในเบราว์เซอร์ด้วยที่อยู่ https://your-domain-name.tld . คุณจะสามารถตั้งค่าประเภทฐานข้อมูล รหัสผ่าน และตัวแปรอื่นๆ ได้ในส่วนแรก ค่าเหล่านี้จะเป็นค่าที่คุณระบุไว้ในไฟล์ docker-compose และควรกรอกไว้แล้ว ดังนั้นจึงไม่จำเป็นต้องเปลี่ยนค่าเหล่านี้

ใน การตั้งค่าทั่วไป , ตั้งค่า ชื่อไซต์ ให้เหมาะสม โดเมนเซิร์ฟเวอร์ ควรเป็นชื่อโดเมนของคุณและ พอร์ตเซิร์ฟเวอร์ SSH จะต้องตั้งค่าเป็น 222 . URL พื้นฐานควรเป็นชื่อโดเมนของคุณรวมถึง 'HTTPS://'

เมื่อคุณทำเสร็จแล้ว ให้กดสีน้ำเงินขนาดใหญ่ ติดตั้ง Gitea ปุ่ม. คุณจะได้รับการต้อนรับด้วยถ้วยชาเขียวใบใหญ่ ชื่อและทากอะไรก็ตามที่คุณตั้งให้กับอินสแตนซ์ หากต้องการสร้างผู้ใช้รายแรก ให้คลิกลงทะเบียนที่ด้านบนขวาของหน้า จากนั้นป้อนรายละเอียดของคุณ ยินดีด้วย!

หากต้องการหยุดไม่ให้ใครก็ตามลงทะเบียนและโฮสต์ที่เก็บของตนเองบนเซิร์ฟเวอร์ Git ของคุณ คุณต้องแก้ไข แอพ. ini ไฟล์. หากคุณเริ่มสร้าง แนะนำ ไดเร็กทอรีใน / (รูท) ไดเร็กทอรี ให้ป้อน:

 nano /gitea/gitea/gitea/conf/app.ini

เลื่อนลงไปที่ส่วนบริการและตั้งค่า DISABLE_REGISTRATION เป็นจริง

  การลงทะเบียน gitea diable ตั้งค่าเป็นจริง

บันทึกและออกจากนาโนด้วย Ctrl + , แล้ว Ctrl + เอ็กซ์, จากนั้นรีสตาร์ทคอนเทนเนอร์ของคุณ:

 docker-compose downdocker-compose up -d

การใช้ Gitea

หากคุณเคยใช้ GitHub คุณจะรู้สึกเหมือนอยู่บ้านทันทีใน Gitea หลังจากที่คุณเข้าสู่ระบบ คุณจะเห็นว่าไม่มีที่เก็บ สร้างโดยคลิกที่ + ลงชื่อทางด้านขวาของหน้าและตั้งชื่อที่เหมาะสม

  การสร้างพื้นที่เก็บข้อมูลเริ่มต้นของ Gitea

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

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

 cat ~/.ssh/id_rsa.pub

ในอินเทอร์เฟซเว็บ Gitea ของคุณ คลิกรูปโปรไฟล์ของคุณ แล้วเลือก การตั้งค่า > คีย์ SSH/ GPG . คลิกที่ เพิ่มคีย์ และวางคีย์ที่คุณเพิ่งคัดลอก

  เพิ่มคีย์ ssh ให้กับ gitea

ตอนนี้คุณสามารถโต้ตอบกับที่เก็บ Git ของคุณเองบนเซิร์ฟเวอร์ Git ของคุณเองบน Raspberry Pi ของคุณเองได้แล้ว!

ใช้อินสแตนซ์ Gitea ของคุณเพื่อสร้างโครงการซอฟต์แวร์ที่ยอดเยี่ยม

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

หมวดหมู่ DIY