скидка 50% все планы, ограниченное время. Начиная от $2.48/mo
Гоги

Гоги

Gogs — это простая самостоятельная служба Git. Легче, чем Gitea и GitLab, написан на Go, комфортно работает на VPS с объемом памяти 512 МБ или даже на Raspberry Pi. Исходный сервер Git на базе Go, предшественник Gitea, до сих пор активно поддерживается для пользователей, предпочитающих меньшую площадь поверхности.

Версия

0.14.2

Операционная система

Ubuntu Server 24.04 LTS

Мин. БАРАН

1 GB

Типы IP

ИПВ4, ИПВ6

Доступ

  • Откройте браузер и перейдите по адресу: https://<SERVER_IP>
  • Предупреждение SSL в браузере ожидаемо (самоподписанный сертификат)
  • Зарегистрируйте новую учетную запись
  • Первая зарегистрированная учетная запись становится Администратором.

Отключить саморегистрацию (необязательно)

По умолчанию саморегистрация пользователей включена.

1. Отредактируйте файл конфигурации: /etc/gogs/conf/app.ini

2. Под [auth] раздел, изменить: DISABLE_REGISTRATION = false to DISABLE_REGISTRATION = true

3. Перезапустите Gogs:

systemctl restart gogs

Важные файлы и директории

  • Директория установки: /opt/gogs
  • Конфигурационный файл: /etc/gogs/conf/app.ini
  • Данные приложения: /var/lib/gogs
  • Репозитории: /var/lib/gogs/repositories
  • Журналы: /var/log/gogs
  • Системный сервис: /etc/systemd/system/gogs.service
  • Конфиг NGINX: /etc/nginx/sites-available/gogs.conf
  • TLS-сертификаты: /etc/nginx/ssl/

Использование Git

HTTPS (самозаверяющий сертификат):

GIT_SSL_NO_VERIFY=true git clone https://<SERVER_IP>/<USERNAME>/<REPOSITORY>.git

SSH (Встроенный сервер):

git clone ssh://git@<SERVER_IP>:2222/<USERNAME>/<REPOSITORY>.git

Управление сервисами

Гоги:

systemctl status gogs
systemctl restart gogs

Нгинкс:

systemctl status nginx
systemctl restart nginx

PostgreSQL:

systemctl status postgresql
systemctl restart postgresql

Примечания

  • Основной файл конфигурации находится по адресу /etc/gogs/conf/app.ini. После изменения файла конфигурации перезапустите службу, используя systemctl restart gogs.
  • Ограничение загрузки Nginx определено в /etc/nginx/sites-available/gogs.conf с использованием client_max_body_size. Увеличьте его для больших репозиториев и перезапустите Nginx.
  • Для больших развертываний вы можете раскомментировать LimitMEMLOCK=infinity и LimitNOFILE=65535 in /etc/systemd/system/gogs.service, затем беги systemctl daemon-reload и перезапустите Gogs.
  • Учетные данные базы данных определены в /etc/gogs/conf/app.ini.
  • Для производственного использования рекомендуется заменить самозаверяющий сертификат действительным сертификатом Let’s Encrypt.
  • При использовании самозаверяющего сертификата для клонирования HTTPS требуется GIT_SSL_NO_VERIFY=true.

Включение SSL с доменом

1. Направьте ваш домен на IP сервера.

2. Обновите конфигурацию Gogs (/etc/gogs/conf/app.ini):

EXTERNAL_URL = https://yourdomain.com/
DOMAIN = yourdomain.com
SSH_DOMAIN = yourdomain.com

3. Перезапустите службу Gogs, чтобы применить изменения:

systemctl restart gogs

3. Отредактируйте конфигурацию Nginx и замените обе. server_name <IP>; с вашим доменом (<your-domain>) для блоков HTTP (порт 80) и HTTPS (порт 443):

vim /etc/nginx/sites-available/gogs.conf

4. Установите Certbot:

apt install -y certbot python3-certbot-nginx

5. Запустите следующую команду, чтобы сгенерировать действительный сертификат Let’s Encrypt:

certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com

6. Замените SSL-пути в конфигурации Nginx:

vim /etc/nginx/sites-available/gogs.conf
# Before:
    # ssl_certificate /etc/nginx/ssl/gogs.crt;
    # ssl_certificate_key /etc/nginx/ssl/gogs.key;
# After:
    # ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    # ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;

7. Перезапустите Nginx, чтобы применить изменения:

systemctl restart nginx

8. Откройте браузер и посетите: https://yourdomain.com

Ещё в Инструментах DevOps

Похожие приложения.

Разверните Gogs прямо сейчас. От $2,48/мес.