Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим комисионна за партньор. Прочетете още.

Git е система за контрол на версиите, използвана от разработчици на софтуер, програмисти и майстори за сътрудничество и разпространение на проекти с отворен код. Използвайки Git, можете да управлявате проекти от всякакъв размер, да изтегляте промени в кода и сливания и да позволявате на потребителите да клонират вашите хранилища на собствените си машини. Екосистемата с отворен код работи на Git и много от проектите, представени на MakeUseOf.com, включват използване на ресурси от GitHub. С Gitea можете да хоствате свои собствени напълно функционални Git хранилища на Raspberry Pi в собствения си дом.

Защо да хоствате своя собствена Git услуга на Raspberry Pi, вместо да използвате GitHub?

С 55 милиона потребители, GitHub е най-голямото хранилище на безплатен софтуер с отворен код на Земята, но сегашният му собственик, Microsoft, не е естествено подходящ за ролята на попечител. Предишни изпълнителни директори на компанията описаха Linux и General Public License като "рак", а повечето от собствените продукти на Microsoft са патентовани и със затворен код.

instagram viewer

Собствеността на Microsoft също видя GitHub да проучва някои съмнителни от етична гледна точка технологии – по-специално с GitHub Copilot, AI инструмент, който помага на програмистите да генерират код. Copilot беше обучен на данни от GitHub, което е възможно нарушение на условията на лицензите Creative Commons, използвани от програмистите.

Използвайки GitHub, разработчиците създават още една запушваща точка, в която иновациите могат да бъдат задушени, подкопани и подложени на несериозна намеса.

Gitea ви позволява да настроите свой собствен Git сървър на Raspberry Pi

Gitea е разклонение на Gogs и е управлявано от общността леко решение за хостване на код, написано на Go и публикувано под лиценза на MIT. Той има за цел да има по-отворен и по-бърз модел на разработка от своя предшественик и ще работи на машини с дори скромни ресурси, като Raspberry Pi. Ще можете да работите върху вашите dotfiles, потребителски ISO на Ubuntu, Bash скриптове и помощни програми на Java и Python, без да се страхуват, че ще бъдат обект на сваляне от DMCA, ще бъдат използвани за обучение на злонамерен софтуер или по друг начин ще бъдат извън вашия контрол.

Как да инсталирате Gitea на вашия Raspberry Pi

Gitea се предлага с няколко метода за инсталиране, но най-лесният е чрез Docker. Ако те вече не работят на вашия Raspberry Pi, инсталирайте Docker и Docker Compose сега.

Файловете, които съхранявате във вашия сървър Gitea, потенциално ще заемат много място, затова ви предлагаме като използвате външно хранилище с вашия Raspberry Piи да използвате това като местоположение за вашата инсталация на Gitea.

Свържете се с вашия Pi чрез SSH, след това отидете до мястото, където искате да инсталирате Gitea, и създайте нова директория, след което се преместете в нея:

mkdir gitea
cd гитеа

Създайте нов файл с nano:

нанодокер-съставяне.yml

...и поставете следния код в него:

версия: "3"

мрежи:
гитеа:
външен: невярно

услуги:
сървър:
изображение: gitea/gitea: последно
име на контейнер: gitea
заобикаляща среда:
- USER_UID=1000
- USER_GID=1000
- GITEA__база данни__DB_TYPE=mysql
- GITEA__база данни__HOST=db: 3306
- GITEA__база данни__NAME=gitea
- GITEA__база данни__ПОТРЕБИТЕЛ=gitea
- GITEA__база данни__PASSWD=gitea
рестартиране: винаги
мрежи:
- гитеа
томове:
- ./gitea:/data
- /etc/timezone:/etc/timezone: gb
- /etc/localtime:/etc/localtime: gb
портове:
- "3000:3000"
- "222:22"
зависи от:
- дб

db:
изображение: mysql: 8
рестартиране: винаги
заобикаляща среда:
- MYSQL_ROOT_PASSWORD=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=gitea
- MYSQL_DATABASE=gitea
мрежи:
- гитеа
томове:
- ./mysql:/var/lib/mysql

Променете часовите зони към вашия собствен локал и изберете силна парола за вашата база данни, след това запазете и излезте от nano с Ctrl + O, тогава Ctrl + X.

Въведете:

докер-съставяне -d

... за извеждане на docker-compose в отделен режим. Docker-compose ще изтегли множество изображения за Gitea и Maria DB и ще настрои контейнери. В зависимост от скоростта на вашата връзка това може да отнеме известно време.

Когато се върнете към командния ред:

docker-compose ps

...трябва да показва "gitea" и "gitea_db_1" като "нагоре". Вече можете да посетите страницата за първоначална конфигурация за вашия сайт Gitea на вашият.pi.local.ip.address: 3000.

Все още не променяйте нищо. Ако планирате да получите достъп до вашия Gitea екземпляр през интернет, първо трябва да направите малко повече подготовка.

Осъществете достъп до вашето копие на Gitea през интернет

Искате да можете да въвеждате стандартен URL адрес, за да можете да достигнете до вашия екземпляр на Gitea, така че ще ви трябва Apache, за да се справите с прокси. Инсталирайте Apache с:

sudo apt Инсталирай apache2

Сега стартирайте и активирайте Apache със следните команди:

sudo systemctl започнете apache2
sudo systemctl активирайте apache2

Активирайте прокси модулите на Apache с:

sudo a2enmod прокси
sudo a2enmod proxy_http

Изберете име на домейн или име на поддомейн от реномиран регистратор. След това от страницата с настройки на вашия регистратор намерете опциите „Разширен DNS“ и добавете нов А запис. Нагласи Домакин поле до "@" и полето за стойност към вашия статичен IP адрес. Задайте възможно най-ниска стойност на TTL (Time to Lease), след което запазете.

Отворете страницата за администриране на вашия рутер и намерете раздел със заглавие Пренасочване на портове, Картографиране на портове, или Управление на портове.

Създайте нов запис за 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 актуализация
sudo apt-получавам инсталирайте python3-certbot-apache

Променете директориите и създайте нов файл с nano:

cd /etc/apache2/sites-available/
наногитеа.conf

В новия файл поставете следното, като се уверите, че копирате в собственото си име на домейн:

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

Запазете и излезте от nano с Ctrl + О, тогава Ctrl + хи активирайте новия си conf файл с:

sudoa2ensiteгитеа.conf

Рестартирайте Apache:

sudo service apache2 рестартиране

Стартирайте Certbot с:

sudo certbot

…и изберете името на вашия домейн от списък. Certbot ще извлече и инсталира сертификати и ключове. Когато се върнете към подканата, рестартирайте отново Apache:

sudo service apache2 рестартиране

Настройка на екземпляр на Gitea

Вече можете да посетите вашето копие на Gitea в браузър с адрес https://your-domain-name.tld. Ще можете да зададете типа на базата данни, паролата и други променливи в първия раздел. Това ще бъдат стойности, които сте посочили във вашия docker-compose файл и трябва вече да са попълнени, така че няма нужда да ги променяте.

в Основни настройки, нагласи заглавие на сайта към подходящ, Домейн на сървъра трябва да бъде името на вашия домейн и SSH сървърен порт трябва да се настрои на 222. Основният URL трябва да бъде името на вашия домейн, включително "HTTPS://".

Когато сте готови, натиснете голямото синьо Инсталирайте Gitea бутон. Ще бъдете посрещнати от голяма зелена чаша чай и каквото и име и охлюв дадохте на инстанцията. За да създадете своя първи потребител, щракнете върху регистрация в горния десен ъгъл на страницата, след което въведете данните си. Честито!

За да попречите на някой друг да се регистрира и хоства свои собствени хранилища на вашия Git сървър, трябва да редактирате app.ini файл. Ако първоначално сте създали своя гитеа директория в / (главна) директория, въведете:

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

Превъртете надолу до раздела за услуги и задайте ИЗКЛЮЧВАНЕ_РЕГИСТРАЦИЯ до вярно.

Запазете и излезте от nano с Ctrl + О, тогава Ctrl + Х, след това рестартирайте вашите контейнери:

docker-compose downdocker-compose up -d

Използване на Gitea

Ако някога сте използвали GitHub, веднага ще се почувствате като у дома си в Gitea. След като влезете, ще видите, че няма налични хранилища. Създайте такъв, като щракнете върху + подпишете вдясно на страницата и му дайте разумно име.

Можете да изберете да направите хранилището частно, като поставите отметка в квадратчето, или да го оставите отворено, за да го вижда светът. Поставете отметка в квадратчето, за да инициализирате с readme файл, след което щракнете Създаване на хранилище за да създадете първото си хранилище! Можете да правите и извършвате промени, да качвате файлове и да редактирате точно като GitHub.

Кликнете върху SSH за да копирате адреса и няма да можете да клонирате хранилища на вашата локална машина, като вместо това получавате грешка: „Моля, уверете се, че имате правилните права за достъп и хранилището съществува“. Първо трябва да добавите SSH ключа на вашата локална машина към Gitea. За да направите това, копирайте изхода от:

котка ~/.ssh/id_rsa.pub

Във вашия уеб интерфейс на Gitea щракнете върху снимката на вашия профил, след което изберете настройки> SSH/ GPG ключове. Кликнете върху Добавяне на ключи поставете ключа, който току-що сте копирали.

Вече можете да взаимодействате с вашето собствено Git хранилище на вашия собствен Git сървър на вашия собствен Raspberry Pi!

Използвайте вашия екземпляр на Gitea, за да създадете страхотни софтуерни проекти

Git е страхотен инструмент за сътрудничество по невероятни проекти, но дори и без екип, той е фантастичен за организиране на собствен работен процес и създаване на невероятен софтуер или конфигурации. Използвайте го, за да ви помогне да следите вашите файлове, докато изучавате нов език за програмиране или персонализирате настолната си система, за да бъде възможно най-добрата.