برنامه نویسی

از صفر تا Git Hero: میزبانی GitHub خود با Gitea در لینوکس

Dev که از گروگان گیری خودداری کرد

شرح تصویر

همیشه همین کار را شروع می کند.
شما در حال ساختن چیز عالی هستید – شاید یک پروژه جانبی ، شاید پس زمینه استارتاپ شما باشد. شما اولین تعهد خود را تحت فشار قرار می دهید ، یک readme زیبا ایجاد می کنید ، و شروع به خواب بزرگ می کنید.

سپس واقعیت بازدید می کند.

ناگهان ، شما به سمت ردیف قیمت گذاری حق بیمه ، روبرو شدن با محدودیت های ذخیره سازی یا نگرانی در مورد اینکه آیا در واقع repo خصوصی شما خصوصی است ، مورد توجه قرار می گیرید. و در اعماق ، چیزی به شما می گوید: من باید این را داشته باشم.

این من بودم و اگر این را می خوانید ، شاید این شما هم باشید.

چه می شود اگر من به شما بگویم که می توانید میزبان جایگزین سبک وزن و سریع GitHub خود باشید … کاملاً به صورت رایگان … در سرور خود؟

در این راهنما ، شما را از طریق نصب Gitea ، یک پلت فرم خدمات مدرن و حداقل GIT ، روی جعبه لینوکس خود پیاده می کنم. دیگر هرگز به GitHub نگاه نخواهید کرد.

بیایید قدرت را پس بگیریم.

Gitea چیست؟

Gitea یک منبع باز و سرویس دهنده GIT است. به GitHub فکر کنید ، اما:

  • سبک وزن
  • خیلی سریع
  • نوشته شده در GO
  • نصب و نگهداری آسان است
  • اگر می خواهید کنترل ، حریم خصوصی و وابستگی صفر به سیستم عامل های شخص ثالث داشته باشید ، برای توسعه دهندگان و تیم های انفرادی مناسب است.

پیش نیازهای

  • یک سرور مبتنی بر لینوکس (آزمایش شده در اوبونتو 22.04)
  • امتیازات ریشه یا سودو
  • git نصب شده
  • نام دامنه (اختیاری ، اما توصیه می شود)

[Step 1: Install Required Packages & Create a Dedicated Gitea User]

– نصب بسته های مورد نیاز

sudo apt update && sudo apt upgrade -y
sudo apt install git wget curl unzip -y
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

– ایجاد کاربر Gitea اختصاصی

sudo adduser \
  --system \
  --shell /bin/bash \
  --gecos 'Git Version Control' \
  --group \
  --disabled-password \
  --home /home/git \
  git
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

[Step 2: Download Gitea Binary & Create Necessary Directories]

*– بارگیری باینری Gitea *
برای دریافت آخرین نسخه به https://dl.gitea.io/gitea مراجعه کنید. سپس:

wget -O gitea https://dl.gitea.io/gitea/1.21.11/gitea-1.21.11-linux-amd64
chmod +x gitea
sudo mv gitea /usr/local/bin/
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

توجه: بر اساس آخرین نسخه ، نسخه را مطابق نیاز جایگزین کنید.

– ایجاد دایرکتوری های لازم

sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo chown -R git:git /var/lib/gitea/
sudo chmod -R 750 /var/lib/gitea/

sudo mkdir /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

[Step 3: Create a Gitea Systemd Service File]

sudo nano /etc/systemd/system/gitea.service
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

محتوای زیر را بچسبانید:

[Unit]
Description=Gitea (Git with a cup of tea)
After=network.target

[Service]
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea

[Install]
WantedBy=multi-user.target
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

سپس بارگیری مجدد و شروع کنید:

sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable --now gitea
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

[Step 4: Access the Web Interface]

بازدید:
http: //: 3000
به عنوان مثال 192.168.1.123
شما در صفحه نصب فرود خواهید آمد. پر کردن:

  • پایگاه داده: SQLITE (برای آزمایش) یا PostgreSQL/MySQL (برای تولید)
  • مسیر ریشه مخزن:/var/lib/gitea/data/git/repositories
  • کاربر را اجرا کنید: git
  • دامنه: IP یا دامنه سرور شما
  • بندر SSH: 22
  • درگاه HTTP: 3000

پس از پیکربندی ، روی نصب Gitea کلیک کنید.

BOOM 💥 – GitHub خود شما زنده است

پایان

با میزبانی Gitea روی سرور خود ، شما فقط ابزار دیگری را تنظیم نمی کنید –
شما استقلال خود را پس می گیرید.

شما اکنون:

  • پایگاه کد خود را داشته باشید
  • کنترل کاربر را کنترل کنید
  • از قفل فروشنده خودداری کنید
  • در هنگام مقیاس 0 دلار خرج کنید

این یک قدم کوچک برای ترمینال شماست ، اما یک جهش غول پیکر برای استقلال توسعه دهنده شما است.

و سلام – اگر شما در حال ساختن یک تیم ، یک استارتاپ هستید یا فقط می خواهید لبه DevOps خود را تیز کنید ، هیچ چیز قدرتمندتر از داشتن خط لوله از Git Init به تولید نیست.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا