از صفر تا 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 به تولید نیست.