Как установить Forgejo на Ubuntu 25.04
Дата публикации: 2025-04-29T18:27:51
Теги: ["forgejo", "ubuntu"]
Forgejo - это безболезненный Git-сервис, созданный самостоятельно и подобный GitHub, Bitbucket и Gitlab.
Главная цель Forgejo - предоставить самый быстрый, самый простой и самый безболезненный способ настройки сервиса Git для собственного размещения. Будучи написанным на Go, он распространяется в виде двоичного пакета, который работает на всех платформах и архитектурах, которые поддерживает Go.
Предпосылки
- Сервер с Ubuntu 25.04 в качестве ОС
- Права пользователя: пользователь root или обычный пользователь с привилегиями sudo
Конвенции
# - данные команды должны выполняться с правами root либо непосредственно от имени пользователя root, либо с помощью команды sudo. $ - данные команды должны выполняться от имени обычного пользователя.
Обновите систему
Свежая установка Ubuntu 25.04 требует обновления пакетов до последних доступных версий.
$ sudo apt update -y && sudo apt upgrade -y
Установите PostgreSQL
Установите пакет PostgreSQL вместе с пакетом `-contrib`, который добавляет некоторые дополнительные утилиты и функции:
sudo apt install postgresql postgresql-contrib
После установки запустите и включите службу PostgreSQL.
sudo systemctl enable postgresql.service && sudo systemctl start postgresql.service
Создание базы данных
Нам нужно создать базу данных для Forgejo для работы.
sudo -u postgres psql -c "CREATE USER forgejo WITH PASSWORD 'strong_password';" sudo -u postgres psql -c "CREATE DATABASE forgejo_db OWNER forgejo;" sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE forgejo_db TO forgejo;"
Подготовьте среду Forgejo
Создайте пользователя для запуска forgejo.
sudo adduser \ --system \ --shell /bin/bash \ --gecos 'Git Version Control' \ --group \ --disabled-password \ --home /home/git \ git
Создайте необходимую структуру каталогов.
sudo mkdir -p /var/lib/forgejo/{custom,data,indexers,public,log}
sudo chown git:git /var/lib/forgejo/{data,indexers,log}
sudo chmod 750 /var/lib/forgejo/{data,indexers,log}
sudo mkdir /etc/forgejo
sudo chown root:git /etc/forgejo
sudo chmod 770 /etc/forgejo
Структура каталогов, приведенная выше, рекомендована официальной документацией forgejo.
Разрешения для каталога `/etc/forgejo` установлены на `770`, чтобы мастер установки мог создать файл конфигурации.
Установите Forgejo
Мы установим Forgejo, измените путь, где это необходимо, если вы хотите установить его в другом месте.
wget -O /tmp/forgejo https://codeberg.org/forgejo/forgejo/releases/download/v11.0.0/forgejo-11.0.0-linux-amd64
И переместите в `/usr/local/bin/` каталог:
sudo mv forgejo /usr/local/bin/forgejo
Сделайте файл forgejo исполняемый
sudo chmod +x /usr/local/bin/forgejo sudo setcap 'cap_net_bind_service=+ep' /usr/local/bin/forgejo
Убедитесь, что возможность добавлена:
getcap /usr/local/bin/forgejo /usr/local/bin/forgejo = cap_net_bind_service+ep
Обратите внимание, что вам придется сделать эту операцию каждый раз, когда вы обновляете Forgejo.
Создайте служебный файл для автоматического запуска Forgejo
Создайте файл службы Linux.
sudo nano /etc/systemd/system/forgejo.service
Заполните файл следующим.
[Unit] Description=forgejo After=syslog.target After=network.target After=postgresql.service [Service] RestartSec=2s Type=simple User=git Group=git WorkingDirectory=/var/lib/forgejo/ ExecStart=/usr/local/bin/forgejo web --config /etc/forgejo/app.ini Restart=always Environment=USER=git HOME=/home/git FORGEJO_WORK_DIR=/var/lib/forgejo [Install] WantedBy=multi-user.target
Включите и запустите Forgejo при загрузке.
sudo systemctl daemon-reload sudo systemctl start forgejo.service sudo systemctl enable forgejo.service
Настройте Nginx в качестве обратного прокси
sudo apt -y install nginx
Создайте конфигурацию обратного прокси для forgejo.
sudo nano /etc/nginx/sites-available/forgejo.conf
Заполните файл следующей конфигурацией.
server {
listen 80;
index index.php index.html index.htm;
server_name git.example.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $http_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;
}
}
Включите конфигурацию обратного прокси-сервера forgejo Nginx.
sudo ln -s /etc/nginx/sites-available/forgejo.conf /etc/nginx/sites-enabled/forgejo.conf
Затем перезагрузите сервис Nginx.
sudo systemctl reload nginx.service
Затем откройте браузер и перейдите к имени хоста или IP-адресу сервера.
`http://git.example.com/install`
Следуйте инструкциям на экране для завершения настройки Forgejo.
Когда вы закончите настройку, нажмите кнопку «Install forgejo», чтобы завершить установку. При успешной установке вы должны войти в консоль администрирования forgejo.
Вы успешно установили forgejo на сервер Ubuntu 25.04.
Обновление Forgejo
Обновления до последней версии Forgejo просто загрузите и замените двоичный файл.
Остановите службу Forgejo:
sudo systemctl stop forgejo.service
Загрузите последнюю версию Forgejo.
wget -O /tmp/forgejo https://codeberg.org/forgejo/forgejo/releases/download/v11.0.0/forgejo-11.0.0-linux-amd64
И переместите в `/usr/local/bin/` каталог:
sudo mv forgejo /usr/local/bin/forgejo
Сделайте двоичный исполняемый файл:
sudo chmod +x /usr/local/bin/forgejo sudo setcap 'cap_net_bind_service=+ep' /usr/local/bin/forgejo
Запустите сервис Forgejo:
sudo systemctl start forgejo.service
Завершение
Если вам понравился этот пост об установке Forgejo на сервере Ubuntu 25.04, пожалуйста, поделитесь им со своими друзьями в социальных сетях, которым может быть интересна эта статья или оставьте комментарий ниже.