gogs.md 2.0 KB

https://hackmd.io/@erikguru/Sk_jZ-Vfj

$ sudo apt install git sqlite3 -y
$ adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Контроль версий Git' git # создать пользователя для gogs

Скачать архив с https://dl.gogs.io

$ wget https://dl.gogs.io/0.13.0/gogs_0.13.0_linux_amd64.zip # скачать архив с 
$ unzip gogs_0.13.0_linux_amd64.zip

Перенести папку в /home/git и изменить права

$ mv gogs /home/git
$ chown -R git:git /home/git/gogs/

Скопировать готовый файл модуля systemd в каталог с сервисами.

$ cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system

Запустить сервис и добавить в автозагрузку.

$ sudo systemctl start gogs
$ sudo systemctl enable gogs

Далее настройка gogs происходит в web-интерфейсе.

  • Тип базы данных - SQLite3
  • Путь /home/git/gogs/gogs.db
  • Домен - IP сервера Далее создать первый аккаунт администратора - аккаунт администратора.

    Настройка SSL
    Установить nginx

    $ sudo apt install nginx
    

    Создать директорию /etc/nginx/ssl Генерируем самоподписанный ssl сертификат.

    $sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt
    

    Создать конфиг gogs_ssl.conf в директории /etc/nginx/conf.d

    server{
    	listen 443 ssl http2;
    	server_name 94.232.244.161;
    	
    	ssl_certificate /etc/nginx/ssl/nginx.crt;
    	ssl_certificate_key /etc/nginx/ssl/nginx.key;
    
    	location / {
    	proxy_pass 'http://94.232.244.161:3000/';
    }
    }
    

Удалить стартовую страницу nginx:

/usr/share/nginx/html/index.html
/var/www/html/index/html

Далее настроить [[ufw]]