Меню

Собственный репозиторий на Gitea с веб-интерфейсом (аналог GitHub)

RSS
Собственный репозиторий на Gitea с веб-интерфейсом (аналог GitHub)
 
Собственный репозиторий на Gitea с веб-интерфейсом (аналог GitHub)

Задача: Развернуть git-репозиторий на собственном сервере с помощью Gitea — для ведения проектов, с веб-интерфейсом и поддержкой многопользовательской работы.
 
Дополнительно можно настроить systemd-сервис для автоматического запуска Gitea при перезагрузке сервера, что бы не запускать бинарник вручную
Создаем файл:
Код
nano /etc/systemd/system/gitea.service

С содержимым:
Код
[Unit]
Description=Gitea
After=network.target

[Service]
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
Environment=GITEA_WORK_DIR=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
ExecReload=/bin/kill -HUP $MAINPID
Restart=always

[Install]
WantedBy=multi-user.target

Включаем:
Код
systemctl daemon-reload  # Перезагружаем systemd, чтобы он увидел новый сервис
systemctl enable gitea    # Включаем автозапуск при старте системы
systemctl start gitea     # Запускаем сервис

И редактируем файл:
Код
nano /etc/letsencrypt/renew-hook.sh

Вместо перезапуска бинарника перезапускаем сервис gitea:
Код
#!/bin/bash
chown -R git:git /etc/letsencrypt/live/git.camouf.ru/
chown -R git:git /etc/letsencrypt/archive/git.camouf.ru/
chmod -R 755 /etc/letsencrypt/live/
chmod -R 755 /etc/letsencrypt/archive/

systemctl restart gitea
Изменено: Михаил Базаров - 23.02.2025 07:40:24
 
Более простой вариант, что бы не мучаться с systemd:
- Устанавливаем на сервер nginx,
- убираем все настройки letsencrypt из конфигурации gitea
- В nginx добавляем проксирование на порт gitea
Код
server {
    listen 443;
    server_name ВАШ_ДОМЕН;

    #Здесь certbot сам пропишет пути к сертификатам

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

После этого ваша gitea будет доступна по домену, с https и без указания порта 3000.
Изменено: Михаил Базаров - 05.04.2025 10:42:14
Читают тему
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить файлы
 

Блог-note: заметки разработчика

Как выводить пользовательские поля и названия разделов инфоблока в Битриксе

Если вам необходимо вывести дополнительное пользовательское поле типа "Привязка к разделам инфоблока", эта записка может...

Сравнение двух типов цен для иммитации системы скидок, в Битрикс

Встала задачка, иммититровать систему скидок в интернет магазине на Битрикс. Из 1С-УТ, на сайт, выгружается два типа цен...

AJAX корзина с отправкой количества из раздела каталога

Столкнулся с задачкой: нужно было на одном сайте реализовать интерактивный прайс лист. При этом, у пользователя должна б...

Вывести информацию, только на первом уровне раздела каталога, в 1С-Битрикс

Задача: на сайте, в каталоге, выводится два фильтра - боковой и верхний. Оба компонента подключены в файле section.php к...

СЕО настройки сайта перед запуском

В видео рассказано о первоначальной СЕО настройке сайта перед запуском. Все показанное является компилицией из собственн...

Увидеть файл заказов который передаст Битрикс в 1С

Для диагностики обмена заказов, интернет-магазина на 1С Битрикс с 1С Управление Торговлей, нужно увидеть xml файл с зака...

Вывести производителей на сайте с отбором его товаров из каталога

Достаточно частая задачка для каталога или интернет-магазина: вывести список производителей с подробными описаниями, а т...

Изменить размер картинок по ID файла, в 1C-Битрикс

Задача: изменить размер картинок загруженных в элементы инфоблока, для оптимизации их размера и подгонки под содержимое...

Как вывести свойства инфоблока по отдельности и немного плюшек не в тему

Если у инфоблока несколько свойств- то при выводе их всех, скажем в детальном описании новости, они выводятся все вместе...