Меню

Собственный репозиторий на 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
Читают тему
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить файлы
 
Поблагодарить и поддержать:
Или подписаться на boosty канал: Видео на Bst

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

Информация о службе доставки по ее ID, в 1С-Битрикс

Задача: зная ID службы доставки получить необходимую информацию о ней, с помощью API 1С-Битрикс

Обновить страницу Inapbrowser в приложении Apache Cordova, при выходе из фона

Задача: Мобильное приложение, созданное на Apache Cordova должно перезагрузить текущую страницу, открытую с помощью плаг...

Регистрация пользователя в определенную группу сайта на Битрикс

Достаточно часто требуется регистрировать пользователя в определенную группу, в зависимости от того какую форму регистра...

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

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

Запретить оплату с внутреннего счета, если в корзине есть определенный товар

Задача: пользователи могут оплачивать заказы с бонусного счета (штатный внутренний счет), но если в корзине ...

Получить и вывести пользовательские свойства склада в 1С-Битрикс

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

Перенос Битрикс сайта с хостинга на хостинг, инструкция

Достаточно часто спрашивают как перенести сайт работающий на 1С Битрикс с одного хостинга на другой, как раз подвернулас...

Обновление 1С-Битрикс с PHP 7, до поддержки версии PHP 8.3

Задача: обновить устаревший сайт на платформе 1С-Битрикс, который не получал обновлений уже более 4 лет и работает на PH...

Дать пользователю возможность быстро отредактировать материал

На одном из разрабатываемых сайтов, пользователи формируют его контент. После регистрации, становится доступен персональ...