gitea

Ansible Galaxy BSD-3 Clause Поддержка

ansible роль gitea/forgejo

Эта роль устанавливает и управляет gitea или forgejo. Это удобный и безболезненный самохостинг Git-сервис. Gitea - это управляемое сообществом легковесное решение для хостинга кода, написанное на Go. Forgejo - это его форк. Исходный код и скриншоты gitea. Исходный код forgejo. Эта роль также является частью Ansible-коллекции l3d.git. l3d.git.

Зеркала

Роль доступна на следующих ресурсах:

Пример использования в плейбуке

Следующий код был протестирован с последней стабильной версией Debian и должен работать и на Ubuntu, и на RedHat.

# ansible-galaxy role install l3d.gitea

- name: "Установить gitea"
  hosts: git.example.com
  roles:
    - {role: l3d.gitea, tags: gitea}
  vars:
    # Предполагаем, что мы находимся за обратным прокси, который
    # будет обрабатывать HTTPS для нас, поэтому мы подключаемся к localhost:3000 по HTTP
    # см. https://docs.gitea.io/en-us/reverse-proxies/#nginx
    gitea_fqdn: 'git.example.com'
    gitea_root_url: 'https://git.example.com'
    gitea_protocol: http
    gitea_start_ssh: true

Выбор между встроенным SSH Gitea и SSH-сервером хоста

Gitea имеет встроенный SSH-сервер, который работает на порту 2222 (чтобы не конфликтовать с сервером SSH хоста, который обычно работает на порту 22). Этот сервер используется по умолчанию в этой роли и приводит к SSH URL клонирования вида gitea@<fqdn>:2222:<user>/<repo>.git, где gitea - это пользователь по умолчанию.

Часто возникает желание иметь "чистый" SSH URL, например, git@<fqdn>:<user>/<repo>.git. Это возможно, если использовать сервер SSH хоста с помощью следующей конфигурации переменных:

gitea_ssh_port: 22 # предполагаем, что сервер SSH хоста работает на порту 22
gitea_user: git # иначе будут проблемы с правами доступа
gitea_start_ssh: false # чтобы не запускать встроенный SSH сервер

Вышеуказанная конфигурация работает из коробки для новых установок. При миграции с работающей инстанции с уже существующими SSH-ключами от встроенного SSH-сервера к SSH-серверу хоста, необходимо убедиться, что сервер SSH хоста работает и что gitea_user имеет необходимые права доступа к данным репозитория и ключам (хранятся в <gitea_home>/.ssh/)

Примечание: Чтобы использовать git@, как описано выше, gitea_user должен быть установлен в git, и недостаточно установить gitea_ssh_user: git. Смотрите эту проблему для получения дополнительной информации.

Переменные

Вот более подробный взгляд на переменные этой роли gitea. Для точного функционала некоторых переменных и возможности добавления дополнительных параметров мы рекомендуем ознакомиться с этим cheat sheet.

Выбор между gitea и forgejo

Существует форк gitea, который называется forgejo. Почему? Читайте вопросы и ответы forgejo. У вас есть возможность выбирать между gitea и forgejo, изменяя переменную gitea_fork.

имя переменной значение по умолчанию описание
gitea_fork gitea опционально выберите установку forgejo вместо gitea, установив это значение в forgejo.

Механизм обновления gitea

Чтобы определить, какую версию gitea установить, вы можете выбрать между двумя вариантами. Либо вы точно указываете, какое обновление хотите установить. Либо вы используете опцию latest, чтобы всегда устанавливать последнюю версию из релизов gitea.

Механизм обновления Forgejo

Рекомендуется точно определить, какую версию Forgejo вы хотите установить. Смотрите релизы Forgejo для правильного значения, которое нужно использовать в gitea_version, например, v1.21.5.

Это связано с тем, что проект Forgejo поддерживает как stable, так и old stable релизы, а тег latest будет относиться к самой недавней версии независимо от того, является ли она stable или old stable. Это может привести к ситуации, когда latest будет ссылаться на более старую версию, чем версия, которую вы установили.

Обновление gitea

имя переменной значение по умолчанию описание
gitea_version latest Укажите либо точное обновление для установки (например, 1.16.0) либо используйте latest (по умолчанию) для установки последнего обновления.
gitea_version_check true Проверьте, отличается ли установленная версия от gitea_version перед началом загрузки бинарника
gitea_gpg_key 7C9E68152594688862D62AF62D9AE806EC1592E2 gpg ключ, с которым подписан бинарник gitea
gitea_forgejo_gpg_key EB114F5E6C0DC2BCDD183550A4B61A2DC5923710 gpg ключ, с которым подписан бинарник forgejo
gitea_gpg_server hkps://keys.openpgp.org Сервер gpg ключей, с которого эта роль может загружать gpg ключ
gitea_backup_on_upgrade false Опционально можно создать резервную копию с каждым обновлением gitea.
gitea_backup_location {{ gitea_home }}/backups/ Куда хранить резервную копию gitea, если она будет создана этой ролью.
submodules_versioncheck false простой вариант проверки, который может предотвратить случайный запуск более старой версии этой роли. (рекомендуется)

gitea в мире linux

имя переменной значение по умолчанию описание
gitea_group gitea Основная группа UNIX, используемая Gitea
gitea_groups null Опционально список второстепенных групп UNIX, используемых Gitea
gitea_home /var/lib/gitea Основной каталог для работы
gitea_user_home {{ gitea_home }} домашний каталог пользователя gitea
gitea_executable_path /usr/local/bin/gitea Путь к исполняемому файлу gitea
gitea_forgejo_executable_path /usr/local/bin/forgejo Путь к исполняемому файлу forgejo
gitea_configuration_path /etc/gitea Где разместить файл конфигурации gitea.ini
gitea_shell /bin/false UNIX оболочка, используемая gitea. Установите ее в /bin/bash, если вы не используете встроенный ssh-сервер gitea.
gitea_systemd_cap_net_bind_service false Добавляет AmbientCapabilities=CAP_NET_BIND_SERVICE в файл службы systemd

В целом (DEFAULT)

имя переменной значение по умолчанию описание
gitea_app_name Gitea Имя приложения, отображаемое в интерфейсе
gitea_user gitea UNIX пользователь, используемый Gitea
gitea_run_mode prod Режим запуска приложения, влияет на производительность и отладку. Либо "dev", "prod" или "test".
gitea_fqdn localhost Основной FQDN для установки, используемый в качестве значения по умолчанию для других переменных. Установите его на FQDN, по которому вы можете обратиться к серверу gitea.

Репозиторий (repository)

имя переменной значение по умолчанию описание
gitea_default_branch main Имя главной ветки всех репозиториев.
gitea_default_private last Default private при создании нового репозитория. [last, private, public]
gitea_default_repo_units (см. по умолчанию) Запятая, разделенный список единиц по умолчанию repo. Смотрите официальную документацию для получения дополнительной информации
gitea_disabled_repo_units Запятая, разделенный список глобально отключенных единиц repo.
gitea_disable_http_git false Отключить возможность взаимодействия с репозиториями по протоколу HTTP. (true/false)
gitea_disable_stars false Отключить функцию звезд.
gitea_enable_push_create_org false Разрешить пользователям отправлять локальные репозитории в Gitea и автоматически создавать их для организации.
gitea_enable_push_create_user false Разрешить пользователям отправлять локальные репозитории в Gitea и автоматически создавать их для пользователя.
gitea_force_private false Принудительно сделать каждый новый репозиторий частным.
gitea_user_repo_limit -1 Ограничить число репозиториев, которые может иметь пользователь (-1 для неограниченного)
gitea_repository_root {{ gitea_home }}/repos Корневой путь для хранения всех данных репозитория. Он должен быть абсолютным путем.
gitea_repository_extra_config вы можете использовать эту переменную для передачи дополнительных параметров конфигурации в разделе [repository] файла конфигурации.

Репозиторий - Загрузка (repository.upload)

имя переменной значение по умолчанию описание
gitea_repository_upload_enabled true Включить ли загрузку файлов в репозиторий
gitea_repository_upload_max_size 4 Максимальный размер каждого файла в мегабайтах.
gitea_repository_upload_extra_config вы можете использовать эту переменную для передачи дополнительных параметров конфигурации в разделе [repository.upload] файла конфигурации.

Репозиторий - Подпись (repository.signing)

имя переменной значение по умолчанию описание
gitea_enable_repo_signing_options false Разрешить настройку параметров подписи репозитория
gitea_repo_signing_key default Ключ для подписи.
gitea_repo_signing_name Если предоставлен KEYID в качестве gitea_repo_signing_key, используйте это как имя и адрес электронной почты подписанта.
gitea_repo_signing_email Если предоставлен KEYID в качестве gitea_repo_signing_key, используйте это как имя и адрес электронной почты подписанта.
gitea_repo_initial_commit always Подписать начальный коммит.
gitea_repo_default_trust_model collaborator Модель доверия по умолчанию, используемая для проверки коммитов.
gitea_repo_wiki never Подписывать коммиты в вики.
gitea_repo_crud_actions (см. по умолчанию) Подписывать действия CRUD.
gitea_repo_merges (см. по умолчанию) Подписывать слияния.
gitea_enable_repo_signing_extra вы можете использовать эту переменную для передачи дополнительных параметров конфигурации в разделе [repository.signing] файла конфигурации.

CORS (cors)

имя переменной значение по умолчанию описание
gitea_enable_cors false включить cors заголовки (по умолчанию отключено)
gitea_cors_scheme http схема разрешенных запросов
gitea_cors_allow_domain * список доменов, разрешенных для запросов
gitea_cors_allow_subdomain false разрешить поддомены перечисленных выше заголовков для запросов
gitea_cors_methods (см. по умолчанию) список методов, разрешенных для запросов
gitea_cors_max_age 10m максимальное время кэширования ответа
gitea_cors_allow_credentials false разрешить запросы с учетными данными
gitea_cors_headers Content-Type,User-Agent дополнительные заголовки, которые разрешены в запросах
gitea_cors_x_frame_options SAMEORIGIN Установить значение заголовка X-Frame-Options.
gitea_cors_extra вы можете использовать эту переменную для передачи дополнительных параметров конфигурации в разделе [cors] файла конфигурации.

UI (ui)

имя переменной значение по умолчанию описание
gitea_show_user_email false Хотите ли вы показывать адреса электронной почты? (true/false)
gitea_theme_default gitea-auto или forgejo-auto Тема по умолчанию
gitea_themes (См. defaults/gitea.yml или defaults/forgejo.yml) Список включенных тем
gitea_ui_extra_config вы можете использовать эту переменную для передачи дополнительных параметров конфигурации в разделе [ui] файла конфигурации.

UI - Мета (ui.meta)

имя переменной значение по умолчанию описание
gitea_ui_author (см. по умолчанию) Авторский мета-тег главной страницы.
gitea_ui_description (см. по умолчанию) Описание мета-тега главной страницы.
gitea_ui_keywords (см. по умолчанию) Ключевые слова мета-тега главной страницы
gitea_ui_meta_extra_config вы можете использовать эту переменную для передачи дополнительных параметров конфигурации в разделе [ui.meta] файла конфигурации.

Сервер (server)

имя переменной значение по умолчанию описание
gitea_protocol http Протокол слушателя [http, https, fcgi, unix, fcgi+unix]
gitea_http_domain {{ gitea_fqdn }}, который равен localhost Доменное имя этого сервера.
gitea_root_url http://{{ gitea_fqdn }}:3000 Корневой URL, используемый для доступа к вашему веб-приложению (полный URL)
gitea_http_listen 127.0.0.1 HTTP адрес прослушивания
gitea_http_port 3000 Привязан порт (перенаправление с 80 будет активировано, если значение 443)
gitea_start_ssh true При включении используется встроенный SSH сервер.
gitea_ssh_domain {{ gitea_fqdn }} Доменное имя этого сервера, используемое для отображаемого URL клонирования
gitea_ssh_port 2222 SSH порт, отображаемый в URL клонирования.
gitea_ssh_listen 0.0.0.0 Адрес прослушивания для встроенного SSH сервера.
gitea_offline_mode true Отключает использование CDN для статических файлов и Gravatar для аватарок. (true/false)
gitea_landing_page home Страница входа для неаутентифицированных пользователей
gitea_lfs_server_enabled false Включить поддержку GIT-LFS (git large file storage: git-lfs).
gitea_lfs_jwt_secret Секрет аутентификации для LFS. Можно сгенерировать с помощью gitea generate secret JWT_SECRET. Будет сгенерирован автоматически, если не задан
gitea_redirect_other_port false Если true и gitea_protocol равно https, позволяет перенаправлять http-запросы на gitea_port_to_redirect на порт https, на котором слушает Gitea.
gitea_port_to_redirect 80 Порт для прослушивания службы перенаправления http, если она включена
gitea_enable_tls_certs false Записать путь к сертификату TLS и ключу в файл конфигурации
gitea_tls_cert_file https/cert.pem Путь к файлу сертификата, используемого для HTTPS.
gitea_tls_key_file https/key.pem Путь к файлу ключа, используемого для HTTPS.
gitea_enable_acme false Флаг для включения автоматического управления сертификатами через ACME-совместимый CA сервер. (по умолчанию letsencrypt)
gitea_acme_url URL директории ACME CA
gitea_acme_accepttos false Это явная проверка того, что вы принимаете условия обслуживания провайдера ACME.
gitea_acme_directory https Директория, которую менеджер сертификатов будет использовать для кэширования информации, такой как сертификаты и закрытые ключи.
gitea_acme_email Электронная почта, используемая для регистрации в ACME
gitea_acme_ca_root Корневой сертификат CA. Если оставить пустым, по умолчанию используется цепочка доверия системы.
gitea_server_extra_config вы можете использовать эту переменную для передачи дополнительных параметров конфигурации в разделе [server] файла конфигурации.

База данных (database)

имя переменной значение по умолчанию описание
gitea_db_type sqlite3 Вид базы данных в использовании [mysql, postgres, mssql, sqlite3].
gitea_db_host 127.0.0.0:3306 Адрес хоста базы данных и порт или абсолютный путь для unix-сокета [mysql, postgres] (например, /var/run/mysqld/mysqld.sock).
gitea_db_name root Имя базы данных
gitea_db_user gitea Имя пользователя базы данных
gitea_db_password lel Пароль базы данных. ПОЖАЛУЙСТА, ИЗМЕНИТЕ
gitea_db_ssl disable Настройка SSL только в том случае, если ваш тип базы данных поддерживает его. Ознакомьтесь с cheat sheet для получения более подробной информации
gitea_db_path {{ gitea_home }}/data/gitea.db Путь к базе данных, если вы используете sqlite3.
gitea_db_log_sql false Записывать выполненный SQL.
gitea_database_extra_config вы можете использовать эту переменную для передачи дополнительных параметров конфигурации в разделе [database] файла конфигурации.

Индексатор (indexer)

имя переменной значение по умолчанию описание
gitea_repo_indexer_enabled false Включает поиск по коду (использует много места на диске, примерно в 6 раз больше, чем размер репозитория).
gitea_repo_indexer_include Шаблоны глоба для включения в индекс (разделенный запятыми список). Пустой список означает включение всех файлов.
gitea_repo_indexer_exclude Шаблоны глоба для исключения из индекса (разделенный запятыми список).
gitea_repo_exclude_vendored true Исключить вендорные файлы из индекса.
gitea_repo_indexer_max_file_size 1048576 Максимальный размер в байтах файлов для индексации.
gitea_indexer_extra_config вы можете использовать эту переменную для передачи дополнительных параметров конфигурации в разделе [indexer] файла конфигурации.
gitea_queue_issue_indexer_extra_config

Безопасность (security)

имя переменной значение по умолчанию описание
gitea_secret_key Глобальный секретный ключ. Будет автоматически сгенерирован, если не задан. Должен быть уникальным.
gitea_disable_git_hooks true Установите в false, чтобы разрешить пользователям с правами git hook создавать пользовательские git хуки. Может быть опасным.
gitea_disable_webhooks false Установите в true, чтобы отключить функцию вебхуков.
gitea_internal_token Внутренний токен API. Будет автоматически сгенерирован, если не задан. Должен быть уникальным.
gitea_password_check_pwn false Проверьте HaveIBeenPwned, чтобы увидеть, был ли пароль скомпрометирован.
gitea_security_extra_config вы можете использовать эту переменную для передачи дополнительных параметров конфигурации в разделе [security] файла конфигурации.

Служба (service)

имя переменной значение по умолчанию описание
gitea_disable_registration false Хотите ли вы отключить регистрацию пользователей? (true/false)
gitea_register_email_confirm false Включите это, чтобы запросить подтверждение по электронной почте при регистрации. Требует включения gitea_mailer_enabled.
gitea_require_signin true Требуется ли вход в систему для просмотра репозиториев (даже публичных)? (true/false)
gitea_default_keep_mail_private true По умолчанию установить пользователям, чтобы их адреса электронной почты оставались частными
gitea_enable_captcha true Хотите ли вы включить капчи? (true/false)
gitea_show_registration_button true Здесь вы можете скрыть кнопку регистрации. Это не отключит регистрацию! (true/false)
gitea_only_allow_external_registration false Установите в true, чтобы запретить регистрацию только с использованием сторонних сервисов (true/false)
gitea_enable_notify_mail false Включите это, чтобы отправлять электронные письма наблюдателям репозитория, когда что-то происходит, например, при создании проблем (true/false)
gitea_auto_watch_new_repos true Включите это, чтобы дать всем пользователям организации следить за новыми репозиториями, когда они создаются (true/false)
gitea_autowatch_on_change true Включите это, чтобы пользователи следили за репозиторием после своего первого коммита в него (true/false)
gitea_register_manual_confirm false Включите это для ручного подтверждения новых регистраций. Требует отключения REGISTER_EMAIL_CONFIRM.
gitea_default_allow_create_organization false Разрешить новым пользователям создавать организации по умолчанию (true/false)
gitea_email_domain_allowlist Если не пусто, запятая, разделенный список доменных имен, которые могут быть использованы только для регистрации на этом экземпляре, поддерживается подстановочный знак.
gitea_default_user_visibility public Установите режим видимости по умолчанию для пользователей, "public", "limited" или "private".
gitea_default_org_visibility public Установите режим видимости по умолчанию для организаций, "public", "limited" или "private".
gitea_allow_only_internal_registration false Установите в true, чтобы заставить регистрацию происходить только через Gitea.
gitea_allow_only_external_registration false Установите в true, чтобы заставить регистрацию происходить только с использованием сторонних сервисов.
gitea_show_milestones_dashboard_page true Включить это, чтобы показать панель управления вехами - представление всех вех пользователя
gitea_default_user_is_restricted false Дать новым пользователям ограниченные права по умолчанию (true/false)
gitea_service_extra_config вы можете использовать эту переменную для передачи дополнительных параметров конфигурации в разделе [service] файла конфигурации.

Отправка почты (mailer)

имя переменной значение по умолчанию описание
gitea_mailer_enabled false Включить ли почтовую службу.
gitea_mailer_protocol dummy Протокол почтового сервера. Один из "smtp", "smtps", "smtp+starttls", "smtp+unix", "sendmail", "dummy".
gitea_mailer_smtp_addr Адрес почтового сервера. например, smtp.gmail.com. Для smtp+unix должно быть указано путь к unix-сокету.
gitea_mailer_smtp_port Порт почтового сервера
gitea_mailer_use_client_cert false Использовать клиентский сертификат для TLS/SSL.
gitea_mailer_client_cert_file Файл клиентского сертификата.
gitea_mailer_client_key_file Файл клиентского ключа.
gitea_mailer_force_trust_server_cert false полностью игнорирует ошибки проверки сертификата сервера. Этот параметр небезопасен. Рассмотрите возможность добавления сертификата в хранилище доверенных систем.
gitea_mailer_user Имя пользователя почтового отправителя (обычно адрес электронной почты отправителя).
gitea_mailer_password Пароль почтового пользователя. Используйте your password для цитирования, если в пароле есть специальные символы.
gitea_mailer_enable_helo true Включить операцию HELO.
gitea_mailer_from noreply@{{ gitea_http_domain }} Адрес отправителя, RFC 5322.
gitea_subject_prefix Префикс, который будет добавлен перед темами электронных писем.
gitea_mailer_send_as_plaintext false Отправлять электронные письма только в простом тексте, без HTML альтернативы.
gitea_mailer_extra_config вы можете использовать эту переменную для передачи дополнительных параметров конфигурации в разделе [mailer] файла конфигурации.

Сессия (session)

имя переменной значение по умолчанию описание
gitea_session_provider file Провайдер движка сеансов
gitea_session_extra_config вы можете использовать эту переменную для передачи дополнительных параметров конфигурации в разделе [session] файла конфигурации.

Изображение (picture)

имя переменной значение по умолчанию описание
gitea_picture_extra_config вы можете использовать эту переменную для передачи дополнительных параметров конфигурации в разделе [picture] файла конфигурации.

Вложения к проблемам и запросам на объединение (attachment)

имя переменной значение по умолчанию описание
attachment_enabled true Включены ли вложения к запросам на объединение и проблемам.
gitea_attachment_types См. Документация Комма, разделенный список разрешенных расширений файлов (.zip,.txt), mime типов (text/plain) или шаблон типа (image/*, audio/*, video/*). Пустое значение или */* разрешает все типы.
gitea_attachment_max_size 4 Максимальный размер (МБ).
gitea_attachment_extra_config вы можете использовать эту переменную для передачи дополнительных параметров конфигурации в разделе [attachment] файла конфигурации.

Лог (log)

имя переменной значение по умолчанию описание
gitea_log_systemd false Отключить ведение журнала в файл, использовать systemd-journald
gitea_log_level Warn Общий уровень журнала. [Trace, Debug, Info, Warn, Error, Critical, Fatal, None]
gitea_log_extra_config вы можете использовать эту переменную для передачи дополнительных параметров конфигурации в разделе [log] файла конфигурации.

Метрики (metrics)

имя переменной значение по умолчанию описание
gitea_metrics_enabled false Включить конечную точку метрик
gitea_metrics_token Токен Bearer для задания сбора Prometheus
gitea_metrics_extra вы можете использовать эту переменную для передачи дополнительных параметров конфигурации в разделе [metrics] файла конфигурации.

OAuth2 (oauth2)

имя переменной значение по умолчанию описание
gitea_oauth2_enabled true Включить провайдер Oauth2 (true/false)
gitea_oauth2_jwt_secret Секрет для Oauth2 JWT. Может быть сгенерирован с помощью gitea generate secret JWT_SECRET. Будет сгенерирован автоматически, если не задан.
gitea_oauth2_extra_config вы можете использовать эту переменную для передачи дополнительных параметров конфигурации в разделе [oauth2] файла конфигурации.

Федерация (federation)

имя переменной значение по умолчанию описание
gitea_federation_enabled false Включить/выключить возможности федерации
gitea_federation_share_user_stats false Включить/выключить статистику пользователей для nodeinfo, если федерация включена
gitea_federation_extra вы можете использовать эту переменную для передачи дополнительных параметров конфигурации в разделе [federation] файла конфигурации.

Пакеты (packages)

имя переменной значение по умолчанию описание
gitea_packages_enabled true Включить/выключить возможности реестра пакетов
gitea_packages_extra вы можете использовать эту переменную для передачи дополнительных параметров конфигурации в разделе [packages] файла конфигурации.

LFS (lfs)

имя переменной значение по умолчанию описание
gitea_lfs_storage_type local Тип хранения для lfs
gitea_lfs_serve_direct false Позволяет драйверу хранения перенаправлять аутентифицированные URL для обслуживания файлов напрямую. (только Minio/S3)
gitea_lfs_content_path {{ gitea_home }}/data/lfs Где хранить LFS файлы
gitea_lfs_extra вы можете использовать эту переменную для передачи дополнительных параметров конфигурации в разделе [lfs] файла конфигурации.

Действия (actions)

имя переменной значение по умолчанию описание
gitea_actions_enabled false Включить/выключить возможности действий в глобальном масштабе. Вы можете добавить repo.actions в gitea_default_repo_units, чтобы включить действия для всех новых репозиториев
gitea_actions_default_actions_url github Адрес по умолчанию для получения плагинов действий, например, значение по умолчанию означает загрузку с https://github.com/actions/checkout для uses: actions/checkout@v3
gitea_actions_extra вы можете использовать эту переменную для передачи дополнительных параметров конфигурации в разделе [actions] файла конфигурации.

Прочее (other)

имя переменной значение по умолчанию описание
gitea_other_show_footer_version true Показывать информацию о версиях Gitea и Go в нижнем колонтитуле.
gitea_other_show_footer_template_load_time true Показывать время выполнения шаблона в нижнем колонтитуле.
gitea_other_enable_sitemap true Генерация карты сайта.
gitea_other_enable_feed true Включить/выключить RSS/Atom-ленту.

дополнительная конфигурация gitea

имя переменной значение по умолчанию описание
gitea_extra_config Дополнительная конфигурация gitea. Ознакомьтесь с cheat sheet перед использованием!

Конфигурация Fail2Ban

Если включено, это развернет фильтр fail2ban и конфигурацию заключения для Gitea, как описано в Документации Gitea.

Так как это будет только развертывание файлов конфигурации, fail2ban уже должен быть установлен, иначе роль завершится с ошибкой.

имя переменной значение по умолчанию описание
gitea_fail2ban_enabled false Разрешить ли конфигурацию fail2ban или нет
gitea_fail2ban_jail_maxretry 10 Настройка maxretry тюремного заключения fail2ban.
gitea_fail2ban_jail_findtime 3600 Настройка findtime тюремного заключения fail2ban.
gitea_fail2ban_jail_bantime 900 Настройка bantime тюремного заключения fail2ban.
gitea_fail2ban_jail_action iptables-allports Настройка action тюремного заключения fail2ban.

Локальные пользователи gitea

переменная опция описание
gitea_users словарь для создания локальных пользователей gitea или forgejo
name имя для локального пользователя gitea/forgejo
password пароль для локального пользователя git
email электронная почта для локального пользователя git
admin предоставьте пользователю права администратора
must_change_password пользователь должен изменить пароль после первой авторизации
state установите в absent, чтобы удалить пользователя

Опциональные настройки

Вы можете опционально настроить свой gitea, используя эту ansible роль. Мы получили информацию о настройках с docs.gitea.io/en-us/customizing-gitea. Чтобы развернуть несколько файлов, мы создали переменную gitea_custom_search, которая может ссылаться на путь, где вы разместили пользовательские файлы gitea (по умолчанию"files/host_files/{{ inventory_hostname }}/gitea").

  • ЛОГОТИП:
    • Установите gitea_customize_logo в true
    • Мы ищем:
      • logo.svg - Используется для фавикона, значка сайта, значка приложения
      • logo.png - Используется для Open Graph
      • favicon.png - Используется в качестве резервного варианта для браузеров, которые не поддерживают SVG фавиконы
      • apple-touch-icon.png - Используется на устройствах iOS для закладок
    • Мы ищем в (с использованием first_found):
      • {{ gitea_custom_search }}/gitea_logo/
      • files/{{ inventory_hostname }}/gitea_logo/
      • files/{{ gitea_http_domain }}/gitea_logo/
      • files/gitea_logo/
  • НИЖНИЙ КОЛОНТИТУЛ:
    • Установите gitea_customize_footer в true
    • Мы ищем, используя first_found в:
      • "{{ gitea_custom_search }}/gitea_footer/extra_links_footer.tmpl"
      • "files/{{ inventory_hostname }}/gitea_footer/extra_links_footer.tmpl"
      • "files/{{ gitea_http_domain }}/gitea_footer/extra_links_footer.tmpl"
      • 'files/gitea_footer/extra_links_footer.tmpl'
      • 'files/extra_links_footer.tmpl'
  • ПОЛЬЗОВАТЕЛЬСКИЕ ФАЙЛЫ:
    • Установите gitea_customize_files в true
    • Создайте каталог с файлами, которые вы хотите развернуть.
    • Укажите gitea_customize_files_path на этот каталог. (По умолчанию {{ gitea_custom_search }}/gitea_files/)
  • ПОЛЬЗОВАТЕЛЬСКИЕ ТЕМЫ:
    • Установите gitea_custom_themes в список URL для пользовательских файлов CSS тем. Обычно вы хотите три отдельных файла на тему. Пример:
      gitea_custom_themes:
        - https://example.com/theme-custom-auto.css
        - https://example.com/theme-custom-dark.css
        - https://example.com/theme-custom-light.css
      
    • Установите переменную gitea_themes и включите названия новых тем. Чтобы сохранить существующие, вам нужно указать все названия тем, например, auto,gitea,arc-green,<custom-auto>,<custom-light>,<custom-dark>

Требования

Эта роль использует сборки ansible.builtin и community.general ansible. Для загрузки последнего релиза forgejo/gitea мы используем json_query. Это требует наличия jmespath.

Python пакеты

  • jmespath

Galaxy Collections

  • community.general

Пример установки требований

ansible-galaxy collection install --update --role-file requirements.yml
pip3 install --update jmespath

Вклад

Не стесняйтесь создавать запрос на изменение, и если у вас есть сомнения, вы можете связаться со мной на Mastodon @[email protected].

Я с радостью исправлю любые проблемы, которые вы поднимете, или, что еще лучше, рассмотрю ваши запросы на изменения :)

История этой роли

эта ansible роль изначально разрабатывалась на github.com/thomas-maurice/ansible-role-gitea. Поскольку там есть некоторые проблемы, такие как значения по умолчанию для расположения репозиториев gitea, а слияние запросов на слияние обычно занимает несколько месяцев, был создан форк роли, который предлагает то же самое. Только аккуратнее и с намерением быстрее реагировать на проблемы и запросы на слияние. Это теперь также является частью коллекции l3d.git.

О проекте

Ansible role to configure and deploy gitea and forgejo, a painless self-hosted Git service.

Установить
ansible-galaxy install roles-ansible/ansible_role_gitea
Лицензия
bsd-3-clause
Загрузки
136359
Владелец
Ansible roles provide a framework for fully independent, or interdependent collections of variables,tasks,files,templates &modules. Here we maintain some. enjoy