Знижка 50%. усі плани, обмежений час. Від $2.48/mo
Гогс

Гогс

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

Версія

0.14.2

Операційна система

Ubuntu Server 24.04 LTS

Хв. ОЗУ

1 GB

Типи IP

IPV4, IPV6

Доступ

  • Відкрийте браузер і перейдіть за адресою: 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
  • Служба Systemd: /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

Nginx:

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/міс.