Forgejo (Русский)

Состояние перевода:
На этой странице представлен перевод статьи
Forgejo
. Дата последней синхронизации: 26 сентября 2025. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
Related articles
Gitea
Gogs
Git_(Русский)
Forgejo
это
hard fork
Gitea
разрабатываемый некоммерческой организацией Codeberg, представляющий из себя "lightweight code hosting solution" написанный на Go и опубликованный под лицензией GPLv3+.
Установка
Установить
forgejo
или
forgejo-git
AUR
.
Forgejo требует использования бэкенд базы данных. Вот список поддерживаемых:
PostgreSQL (Русский)
MariaDB
/
MySQL
SQLite
Конфигурация
Конфигурационные файлы расположены в
/etc/forgejo/app.ini
.
Посмотрите
документацию Forgejo
для примеров.
Если вы переходите из Gitea посмотрите
гайд по миграции
для Forgejo
PostgreSQL
Установите
и
настройте
PostgreSQL (Русский)
.
Выберите между TCP или UNIX Сокетом, и перейдите на соответствующий раздел.
Note
Когда Forgejo и PostgreSQL на одной машине, вы должны использовать Unix сокет, так как он быстрее и более безопасный.
С TCP сокетом
Создайте нового пользователя при подключении к серверу как
postgres
пользователь (вам будет предложено ввести пароль для нового пользователя):
[postgres]$ createuser -P forgejo
Создайте базу данных Forgejo, владелец которого
user forgejo
:
[postgres]$ createdb -O forgejo forgejo
PostgreSQL (Русский)#Доступ с удалённых хостов
Убедитесь что он работает:
$ psql --host=
ip_address
--dbname=forgejo --username=forgejo --password
Настройте Forgejo при первом запуске или через
app.ini
:
/etc/forgejo/app.ini
DB_TYPE             = postgres
HOST                =
hostadress:port
NAME                = forgejo
USER                = forgejo
; Use PASSWD = `your password` for quoting if you use special characters in the password.
PASSWD              =
password
С Unix сокетом
Создайте нового пользователя при подключении к серверу как user
postgres
:
[postgres]$ createuser forgejo
Создайте базу данных Forgejo, которой владеет user
forgejo
:
[postgres]$ createdb -O forgejo forgejo
Настройте Unix сокет путем добавления к
/var/lib/postgres/data/pg_hba.conf
:
/var/lib/postgres/data/pg_hba.conf
local    forgejo           forgejo           peer
Перезапустите
postgresql.service
.
Проверьте что он работает:
[forgejo]$ psql --dbname=forgejo --username=forgejo
Настройте Forgejo при первом запуске или через
app.ini
:
/etc/forgejo/app.ini
DB_TYPE             = postgres
HOST                = /run/postgresql/
NAME                = forgejo
USER                = forgejo
PASSWD              =
MariaDB/MySQL
Note
Поддержка MySQL сокета может быть включена используя
/var/run/mysqld/mysqld.sock
как listen адрес.
Пример установки
MariaDB
, с установкой желаемого вами пароль:
$ mysql -u root -p
mysql> CREATE DATABASE `forgejo` DEFAULT CHARACTER SET `utf8mb4` COLLATE `utf8mb4_unicode_ci`;
mysql> CREATE USER `forgejo`@'localhost' IDENTIFIED BY '
password'
;
mysql> GRANT ALL PRIVILEGES ON `forgejo`.* TO `forgejo`@`localhost`;
mysql> FLUSH PRIVILEGES;
mysql> \q
Попробуйте подключиться к новой базе данных с новый пользователем:
$ mysql -u
forgejo
-p -D forgejo
Настройте MariaDB или при первом запуске или путем изменения
app.ini
:
/etc/forgejo/app.ini
DB_TYPE  = mysql
HOST     = 127.0.0.1:3306 ; or /var/run/mysqld/mysqld.sock
NAME     = forgejo
USER     =
forgejo
PASSWD   =
password
SQLite
Никаких уникальных настроек для SQLite не требуется.
Настройте SQLite или при первой установке или путем изменения
app.ini
:
/etc/forgejo/app.ini
DB_TYPE = sqlite3
PATH= /var/lib/forgejo/data/forgejo.db
Использование
Запустить
forgejo.service
, веб-интерфейс должен быть запущен на
http://localhost:3000
.
При первом запуске Forgejo, должно быть перенаправление на
http://localhost:3000/install
.
Note
* Если вы захотите добавить прокси, для удаленного доступа, например
nginx
.
Если вы хотите, что бы Forgejo listen на всех интерфейсах interfaces, установите
HTTP_ADDR = 0.0.0.0
в
/etc/forgejo/app.ini
.
Tips and tricks
Локальный консольный клиент (forgejo)
Forgejo идет в комплекте с локальным консольным инструментом для администрирования. Файл расположен в
/bin/forgejo
Больше информации вы можете найти на
https://forgejo.org/docs/latest/admin/command-line/
Настройте свой домен
Вы можете установить свой
SSH_DOMAIN
, пример:
/etc/forgejo/app.ini
SSH_DOMAIN                 = git.domain.tld
Note
Если вы установите
PROTOCOL
как
http+unix
, тогда вам нужно обнулить
LOCAL_ROOT_URL
или установить на
http://unix/
. Посмотрите этот
комментарий
Включите поддержку SSH
Убедитесь что
OpenSSH (Русский)
правильно настроен и запущен.
Настройте SSH
По умолчанию, Forgejo будет запущен как пользователь
forgejo
; Этот же аккаунт будет использован для доступа к ssh репозиторию. По умолчанию этот user будет в статусе "expired" и вы можете столкнуться с ошибкой при авторизации: "Your account has expired; please contact your system administrator".
Используйте
chage
что бы убрать условие "expiration":
# chage -E -1 forgejo
Для того, что бы ssh доступ заработал, вы должны включить PAM. В другом случае, вам понадобится разблокировать аккаунт "service".
/etc/ssh/sshd_config
...
UsePAM yes
...
Если вы используете
AllowUsers
в вашей
SSH настройке
, добавьте
AllowUsers forgejo
в:
/etc/ssh/sshd_config
...
AllowUsers archie
forgejo
...
Перезапустите
sshd.service
если вы им пользуетесь (ничего не нужно делать, если вы используете
sshd.socket
).
Отключение HTTP протокола
По умолчанию включена возможность взаимодействия с репозиторием по HTTP протоколу. Если вы хотите отключить HTTP при использовании
OpenSSH (Русский)
, установите
DISABLE_HTTP_GIT
на
true
.
Включение темной темы
В
ui
разделе, вы можете установить
DEFAULT_THEME
на
forgejo-dark
для изменения фона веб-интерфейса на темный.
Настройте внешний вид Forgejo
Посмотрите документацию Forgejo
[1]
для деталей.
Note
Forgejo официально не поддерживает кастомизацию интерфейса, поскольку это может сломать интерфейсы. Посмотрите
https://forgejo.org/docs/latest/admin/customization/#a-word-of-warning-here-be-dragons
для больших деталей.
Настройка Proxy
Для дополнительной информации и примеров, посмотрите раздел
Reverse Proxies
на странице документации Forgejo
[2]
.
Отладка
Permission denied
Если вы вручную создали пользователя
forgejo
в домашней папке
/home/forgejo
служба forgejo не запустится, и появится ошибка, примерно как:
Sep 04 04:44:32 systemd[1]: forgejo.service: Failed with result 'exit-code'.
Sep 04 04:44:32 systemd[1]: forgejo.service: Main process exited, code=exited, status=200/CHDIR
Sep 04 04:44:32 (forgejo)[30727]: forgejo.service: Failed at step CHDIR spawning /usr/bin/forgejo: Permission denied
Sep 04 04:44:32 (forgejo)[30727]: forgejo.service: Changing to the requested working directory failed: Permission denied
Службе ожидает, что домашняя папка пользователя является основной папкой для forgejo, но стандартной является
/var/lib/forgejo
исправление примерно следующее:
$ usermod -d /var/lib/forgejo forgejo