l3d.gitea

Rola Ansible gitea/forgejo

Ta rola instaluje i zarządza gitea lub forgejo. Jest to prosta, samodzielnie hostowana usługa Git. Gitea to rozwiązanie do hostingu kodu, zarządzane przez wspólnotę, napisane w Go. Forgejo to jego fork.
Źródło kodu i zrzuty ekranu gitea.
Źródło kodu forgejo.
Ta rola jest częścią kolekcji Ansible l3d.git.

Lustra

Rola jest lustrzana w:

Przykładowe użycie w playbooku

Poniższy kod został przetestowany na najnowszym Debian Stable i powinien działać również na Ubuntu i RedHat.

# ansible-galaxy role install l3d.gitea

- name: "Zainstaluj gitea"
  hosts: git.example.com
  roles:
    - {role: l3d.gitea, tags: gitea}
  vars:
    gitea_fqdn: 'git.example.com'
    gitea_root_url: 'https://git.example.com'
    gitea_protocol: http
    gitea_start_ssh: true

Wybór między wbudowanym SSH Gitea a serwerem SSH gospodarza

Gitea ma wbudowany serwer SSH, który działa na porcie 2222 (aby nie kolidował z serwerem SSH gospodarza, który zwykle działa na porcie 22). Domyślnie jest on używany w tej roli, co skutkuje SSH URL klonowania w postaci gitea@<fqdn>:2222:<user>/<repo>.git, ponieważ gitea jest domyślnym użytkownikiem RUN_AS.

Często jednak chcemy mieć „czysty” adres URL SSH, np. git@<fqdn>:<user>/<repo>.git. Można to osiągnąć, używając serwera SSH gospodarza z następującą konfiguracją zmiennych:

gitea_ssh_port: 22 # zakładając, że serwer SSH gospodarza działa na porcie 22
gitea_user: git # w przeciwnym razie wystąpią problemy z uprawnieniami
gitea_start_ssh: false # aby nie uruchamiać wbudowanego serwera SSH

Powyższa konfiguracja działa od razu w nowych instalacjach. Podczas migracji z działającego serwera z istniejącymi kluczami SSH z wbudowanego serwera SSH do serwera SSH gospodarza, musisz upewnić się, że serwer SSH gospodarza działa oraz że gitea_user ma odpowiednie uprawnienia do dostępu do danych repozytoriów i kluczy (przechowywanych w <gitea_home>/.ssh/).

Zwróć uwagę: Aby używać git@ jak opisano powyżej, gitea_user musi być git i nie wystarczy ustawić gitea_ssh_user: git. Zobacz ten problem po więcej informacji.

Zmienne

Oto bliższe spojrzenie na zmienne tej roli gitea. Aby poznać dokładne funkcje niektórych zmiennych oraz możliwość dodania większej ilości opcji, zalecamy zapoznanie się z tym arkuszem oszustw.

Wybór między gitea a forgejo

Istnieje fork gitea nazwany forgejo. Dlaczego? Przeczytaj FAQ forgejo.
Możesz wybrać między gitea a forgejo, modyfikując zmienną gitea_fork.

nazwa zmiennej wartość domyślna opis
gitea_fork gitea opcjonalnie wybierz instalację forgejo zamiast gitea, ustawiając tę wartość na forgejo.

mechanizm aktualizacji gitea

Aby określić, którą wersję gitea zainstalować, możesz wybierać między dwiema wersjami.
Możesz dokładnie określić, którą wersję zainstalować lub użyć opcji latest, aby zainstalować najnowszą wersję z wydań gitea.

mechanizm aktualizacji Forgejo

Zaleca się dokładne określenie, którą wersję Forgejo chcesz zainstalować. Zobacz Wydania Forgejo po poprawną wartość do użycia w gitea_version, np. v1.21.5.
Dzieje się tak, ponieważ projekt Forgejo utrzymuje zarówno wersje stable, jak i old stable, a znacznik latest będzie odnosił się do najnowszego wydania bez względu na to, czy jest to stable, czy old stable. Może to prowadzić do sytuacji, w której latest odnosi się do starszego wydania niż wersja, którą masz zainstalowaną.

aktualizacja gitea

nazwa zmiennej wartość domyślna opis
gitea_version latest Określ dokładnie wydanie do zainstalowania (np. 1.16.0) lub użyj latest (domyślnie), aby zainstalować najnowsze wydanie.
gitea_version_check true Sprawdź, czy zainstalowana wersja != gitea_version przed rozpoczęciem pobierania binarnego
gitea_gpg_key 7C9E68152594688862D62AF62D9AE806EC1592E2 klucz gpg, którym podpisany jest binarny plik gitea
gitea_forgejo_gpg_key EB114F5E6C0DC2BCDD183550A4B61A2DC5923710 klucz gpg, którym podpisany jest binarny plik forgejo
gitea_gpg_server hkps://keys.openpgp.org serwer kluczy gpg, z którego ta rola może pobrać klucz gpg
gitea_backup_on_upgrade false Opcjonalnie można utworzyć kopię zapasową przy każdej aktualizacji gitea.
gitea_backup_location {{ gitea_home }}/backups/ Gdzie przechować kopię zapasową gitea, jeśli zostanie utworzona za pomocą tej roli.
submodules_versioncheck false prosta kontrola wersji, która może zapobiec przypadkowemu uruchomieniu starszej wersji tej roli. (zalecane)

gitea w światzie linuxa

nazwa zmiennej wartość domyślna opis
gitea_group gitea Główna grupa UNIX używana przez Gitea
gitea_groups null Opcjonalnie lista dodatkowych grup UNIX używanych przez Gitea
gitea_home /var/lib/gitea Katalog roboczy
gitea_user_home {{ gitea_home }} katalog domowy użytkownika gitea
gitea_executable_path /usr/local/bin/gitea Ścieżka do pliku wykonywalnego gitea
gitea_forgejo_executable_path /usr/local/bin/forgejo Ścieżka do pliku wykonywalnego forgejo
gitea_configuration_path /etc/gitea Gdzie umieścić plik konfiguracyjny gitea.ini
gitea_shell /bin/false powłoka UNIX używana przez gitea. Ustaw ją na /bin/bash, jeśli nie używasz wbudowanego serwera ssh gitea.
gitea_systemd_cap_net_bind_service false Dodaje AmbientCapabilities=CAP_NET_BIND_SERVICE do pliku usługi systemd

Ogólnie (DOMYŚLNE)

nazwa zmiennej wartość domyślna opis
gitea_app_name Gitea Nazwa aplikacji wyświetlana
gitea_user gitea Użytkownik UNIX używany przez Gitea
gitea_run_mode prod Tryb pracy aplikacji, wpływa na wydajność i debugowanie. Może być “dev”, “prod” lub “test”.
gitea_fqdn localhost Podstawowy FQDN dla instalacji, używany jako domyślny dla innych zmiennych. Ustaw go na FQDN, pod którym możesz dotrzeć do swojego serwera gitea.

Repozytorium (repozytorium)

nazwa zmiennej wartość domyślna opis
gitea_default_branch main Domyślna nazwa gałęzi wszystkich repozytoriów.
gitea_default_private last Domyślnie prywatne podczas tworzenia nowego repozytorium. [last, private, public]
gitea_default_repo_units (zobacz domyślnie) Lista jednostek repozytoriów, rozdzielonych przecinkami. Zobacz oficjalną dokumentację po więcej.
gitea_disabled_repo_units Lista zglobalizowanych, wyłączonych jednostek repozytoriów.
gitea_disable_http_git false Wyłącz możliwość interakcji z repozytoriami za pomocą protokołu HTTP. (true/false)
gitea_disable_stars false Wyłącz funkcję gwiazdek.
gitea_enable_push_create_org false Zezwól użytkownikom na przesyłanie lokalnych repozytoriów do Gitea i automatyczne ich tworzenie dla organizacji.
gitea_enable_push_create_user false Zezwól użytkownikom na przesyłanie lokalnych repozytoriów do Gitea i automatyczne ich tworzenie dla użytkownika.
gitea_force_private false Wymuś, aby każde nowe repozytorium było prywatne.
gitea_user_repo_limit -1 Ograniczenie liczby repozytoriów, które użytkownik może mieć (-1 dla nieograniczonej liczby)
gitea_repository_root {{ gitea_home }}/repos Główna ścieżka do przechowywania wszystkich danych repozytoriów. Musi to być ścieżka absolutna.
gitea_repository_extra_config Możesz użyć tej zmiennej, aby przekazać dodatkowe parametry konfiguracyjne w sekcji [repozytorium] pliku konfiguracyjnego.

Repozytorium - Przesyłanie (repository.upload)

nazwa zmiennej wartość domyślna opis
gitea_repository_upload_enabled true Czy przesyłanie plików do repozytoriów jest włączone?
gitea_repository_upload_max_size 4 Maksymalny rozmiar każdego pliku w megabajtach.
gitea_repository_upload_extra_config możesz użyć tej zmiennej, aby przekazać dodatkowe parametry konfiguracyjne w sekcji [repository.upload] pliku konfiguracyjnego.

Repozytorium - Podpisywanie (repository.signing)

nazwa zmiennej wartość domyślna opis
gitea_enable_repo_signing_options false Pozwól skonfigurować opcje podpisywania repozytoriów.
gitea_repo_signing_key default Klucz używany do podpisywania.
gitea_repo_signing_name jeśli podano KEYID jako gitea_repo_signing_key, użyj tego jako Nazwy i adresu e-mail podpisującego.
gitea_repo_signing_email jeśli podano KEYID jako gitea_repo_signing_key, użyj tego jako Nazwy i adresu e-mail podpisującego.
gitea_repo_initial_commit always Podpisz początkowy commit.
gitea_repo_default_trust_model collaborator Domyślny model zaufania używany do weryfikacji commitów.
gitea_repo_wiki never Podpisz commity w wiki.
gitea_repo_crud_actions (zobacz domyślnie) Podpisz akcje CRUD.
gitea_repo_merges (zobacz domyślnie) Podpisz scalania.
gitea_enable_repo_signing_extra Możesz użyć tej zmiennej do przekazania dodatkowych parametrów konfiguracyjnych w sekcji [repository.signing] pliku konfiguracyjnego.

CORS (cors)

nazwa zmiennej wartość domyślna opis
gitea_enable_cors false włącz nagłówki cors (domyślnie wyłączone)
gitea_cors_scheme http schemat dozwolonych żądań
gitea_cors_allow_domain * lista dozwolonych domen zapytań
gitea_cors_allow_subdomain false zezwól subdomenom wymienionym powyżej na wysyłanie żądań
gitea_cors_methods (zobacz domyślnie) lista metod dozwolonych do wykonywania zapytań
gitea_cors_max_age 10m maksymalny czas przechowywania odpowiedzi
gitea_cors_allow_credentials false zezwól na żądanie z danymi uwierzytelniającymi
gitea_cors_headers Content-Type,User-Agent dodatkowe nagłówki dozwolone w zapytaniach
gitea_cors_x_frame_options SAMEORIGIN Ustaw wartość nagłówka X-Frame-Options.
gitea_cors_extra możesz użyć tej zmiennej do przekazania dodatkowych parametrów konfiguracyjnych w sekcji [cors] pliku konfiguracyjnego.

UI (ui)

nazwa zmiennej wartość domyślna opis
gitea_show_user_email false Czy chcesz wyświetlać adresy e-mail? (true/false)
gitea_theme_default gitea-auto lub forgejo-auto Domyślny motyw
gitea_themes (Zobacz defaults/gitea.yml lub defaults/forgejo.yml) Lista włączonych motywów
gitea_ui_extra_config możesz użyć tej zmiennej do przekazania dodatkowych parametrów konfiguracyjnych w sekcji [ui] pliku konfiguracyjnego.

UI - Meta (ui.meta)

nazwa zmiennej wartość domyślna opis
gitea_ui_author (zobacz domyślnie) Tag meta autora na stronie głównej.
gitea_ui_description (zobacz domyślnie) Tag meta opisu na stronie głównej.
gitea_ui_keywords (zobacz domyślnie) Tag meta słów kluczowych na stronie głównej
gitea_ui_meta_extra_config możesz użyć tej zmiennej do przekazania dodatkowych parametrów konfiguracyjnych w sekcji [ui.meta] pliku konfiguracyjnego.

Serwer (server)

nazwa zmiennej wartość domyślna opis
gitea_protocol http Protokół nasłuchujący [http, https, fcgi, unix, fcgi+unix]
gitea_http_domain {{ gitea_fqdn }} , który wynosi localhost Nazwa domeny tego serwera.
gitea_root_url http://{{ gitea_fqdn }}:3000 Główny adres URL używany do uzyskiwania dostępu do aplikacji webowej (pełny URL)
gitea_http_listen 127.0.0.1 Adres nasłuchujący HTTP
gitea_http_port 3000 Port wiązania (przekierowanie z 80 zostanie aktywowane, jeśli wartość wynosi 443)
gitea_start_ssh true Gdy jest włączone, użyj wbudowanego serwera SSH.
gitea_ssh_domain {{ gitea_fqdn }} Nazwa domeny tego serwera, używana do wyświetlanego adresu URL klonowania
gitea_ssh_port 2222 Port SSH wyświetlany w adresie URL klonowania.
gitea_ssh_listen 0.0.0.0 Adres nasłuchujący dla wbudowanego serwera SSH.
gitea_offline_mode true Wyłącza użycie CDN dla plików statycznych oraz Gravatar dla zdjęć profilowych. (true/false)
gitea_landing_page home Strona startowa dla nieautoryzowanych użytkowników
gitea_lfs_server_enabled false Włącz wsparcie GIT-LFS (git large file storage: git-lfs).
gitea_lfs_jwt_secret Sekret uwierzytelniania LFS. Można go wygenerować za pomocą gitea generate secret JWT_SECRET. Zostanie automatycznie wygenerowany, jeśli nie jest zdefiniowany
gitea_redirect_other_port false Jeśli prawda i gitea_protocol to https, pozwala na przekierowanie żądań http na gitea_port_to_redirect do portu https, na którym nasłuchuje Gitea.
gitea_port_to_redirect 80 Port, na którym nasłuchuje usługa przekierowania http, jeśli jest włączona
gitea_enable_tls_certs false Zapisz ścieżkę do certyfikatów TLS i klucza w pliku konfiguracyjnym
gitea_tls_cert_file https/cert.pem Ścieżka do pliku certyfikatu używanego do HTTPS.
gitea_tls_key_file https/key.pem Ścieżka do pliku klucza używanego do HTTPS.
gitea_enable_acme false Flaga do włączenia automatycznego zarządzania certyfikatami za pomocą ACME zdolnego serwera CA. (domyślnie letsencrypt)
gitea_acme_url Adres URL katalogu ACME serwera CA
gitea_acme_accepttos false To jest wyraźne potwierdzenie akceptacji warunków korzystania z serwisu dostawcy ACME.
gitea_acme_directory https Katalog, którego menedżer certyfikatów użyje do magazynowania informacji, takich jak certyfikaty i klucze prywatne.
gitea_acme_email E-mail używany do rejestracji ACME
gitea_acme_ca_root Główny certyfikat CA. Jeśli pozostawiony pusty, domyślnie używa łańcucha zaufania systemu.
gitea_server_extra_config możesz użyć tej zmiennej do przekazania dodatkowych parametrów konfiguracyjnych w sekcji [server] pliku konfiguracyjnego.

Baza danych (database)

nazwa zmiennej wartość domyślna opis
gitea_db_type sqlite3 Typ bazy danych w użyciu [mysql, postgres, mssql, sqlite3].
gitea_db_host 127.0.0.0:3306 Adres hosta bazy danych i port lub absolutna ścieżka dla gniazda unix [mysql, postgres] (np.: /var/run/mysqld/mysqld.sock).
gitea_db_name root Nazwa bazy danych
gitea_db_user gitea Nazwa użytkownika bazy danych
gitea_db_password lel Hasło bazy danych. PROSZĘ ZMIENIĆ
gitea_db_ssl disable Konfiguruj SSL tylko wtedy, gdy twój typ bazy danych to wspiera. Zobacz arkusz konfiguracyjny po bardziej szczegółowe informacje
gitea_db_path {{ gitea_home }}/data/gitea.db Ścieżka DB, jeśli używasz sqlite3.
gitea_db_log_sql false Zapisuj wykonywane SQL.
gitea_database_extra_config możesz użyć tej zmiennej do przekazania dodatkowych parametrów konfiguracyjnych w sekcji [database] pliku konfiguracyjnego.

Indeksator (indexer)

nazwa zmiennej wartość domyślna opis
gitea_repo_indexer_enabled false Włącz mechanizm wyszukiwania kodu (używa wiele miejsca na dysku, około 6 razy więcej niż rozmiar repozytorium).
gitea_repo_indexer_include Wzorce glob do włączenia w indeks (lista rozdzielona przecinkami). Pusta lista oznacza włączenie wszystkich plików.
gitea_repo_indexer_exclude Wzorce glob do wykluczenia z indeksu (lista rozdzielona przecinkami).
gitea_repo_exclude_vendored true Wyklucz pliki vended z indeksu.
gitea_repo_indexer_max_file_size 1048576 Maksymalny rozmiar plików, które będą indeksowane w bajtach.
gitea_indexer_extra_config możesz użyć tej zmiennej do przekazania dodatkowych parametrów konfiguracyjnych w sekcji [indexer] pliku konfiguracyjnego.
gitea_queue_issue_indexer_extra_config

Bezpieczeństwo (security)

nazwa zmiennej wartość domyślna opis
gitea_secret_key Globalny klucz sekretu. Zostanie automatycznie wygenerowany, jeśli nie jest zdefiniowany. Powinien być unikalny.
gitea_disable_git_hooks true Ustaw na fałsz, aby umożliwić użytkownikom z uprawnieniami do hooków git tworzenie własnych hooków. Może być niebezpieczne.
gitea_disable_webhooks false Ustaw na prawda, aby wyłączyć funkcję webhooków.
gitea_internal_token Wewnętrzny token API. Zostanie automatycznie wygenerowany, jeśli nie jest zdefiniowany. Powinien być unikalny.
gitea_password_check_pwn false Sprawdź HaveIBeenPwned, aby zobaczyć, czy hasło zostało ujawnione.
gitea_security_extra_config możesz użyć tej zmiennej do przekazania dodatkowych parametrów konfiguracyjnych w sekcji [security] pliku konfiguracyjnego.

Usługa (service)

nazwa zmiennej wartość domyślna opis
gitea_disable_registration false Czy chcesz wyłączyć rejestrację użytkowników? (true/false)
gitea_register_email_confirm false Włącz to, aby poprosić o potwierdzenie poczty w rejestracji. Wymaga włączenia gitea_mailer_enabled.
gitea_require_signin true Czy wymagasz zalogowania się, aby zobaczyć repozytoria (nawet publiczne)? (true/false)
gitea_default_keep_mail_private true Domyślnie ustaw użytkowników na utrzymanie swojego adresu e-mail prywatnym
gitea_enable_captcha true Czy chcesz włączyć captcha? (true/false)
gitea_show_registration_button true Możesz tu ukryć przycisk rejestracji. To nie wyłączy rejestracji! (true/false)
gitea_only_allow_external_registration false Ustaw na prawda, aby wymusić rejestrację tylko za pomocą usług zewnętrznych (true/false)
gitea_enable_notify_mail false Włącz to, aby wysyłać e-maile do obserwatorów repozytorium, gdy coś się wydarzy, jak na przykład tworzenie zgłoszeń (true/false)
gitea_auto_watch_new_repos true Włącz to, aby wszyscy użytkownicy organizacji obserwowali nowe repozytoria, gdy są tworzone (true/false)
gitea_autowatch_on_change true Włącz to, aby użytkownicy obserwowali repo zy torium po swoim pierwszym commit do niego (true/false)
gitea_register_manual_confirm false Włącz to, aby ręcznie potwierdzać nowe rejestracje. Wymaga wyłączenia REGISTER_EMAIL_CONFIRM.
gitea_default_allow_create_organization false Pozwól nowym użytkownikom na tworzenie organizacji domyślnie (true/false)
gitea_email_domain_allowlist Jeśli nie jest pusty, lista domen, które mogą być używane do rejestracji na tej instancji, wspierany jest znak wieloznaczny.
gitea_default_user_visibility public Ustaw domyślny tryb widoczności dla użytkowników, może być „public”, „limited” lub „private”.
gitea_default_org_visibility public Ustaw domyślny tryb widoczności dla organizacji, może być „public”, „limited” lub „private”.
gitea_allow_only_internal_registration false Ustaw na prawda, aby wymusić rejestrację tylko za pomocą Gitea.
gitea_allow_only_external_registration false Ustaw na prawda, aby wymusić rejestrację tylko przy użyciu usług zewnętrznych.
gitea_show_milestones_dashboard_page true Włącz to, aby pokazać stronę kokpitu kamieni milowych - widok wszystkich kamieni milowych użytkownika
gitea_default_user_is_restricted false Domyślnie daj nowym użytkownikom ograniczone uprawnienia (true/false)
gitea_service_extra_config możesz użyć tej zmiennej do przekazania dodatkowych parametrów konfiguracyjnych w sekcji [service] pliku konfiguracyjnego.

Mailer (mailer)

nazwa zmiennej wartość domyślna opis
gitea_mailer_enabled false Czy włączyć mailera?
gitea_mailer_protocol dummy Protokół serwera pocztowego. Jeden z „smtp”, „smtps”, „smtp+starttls”, „smtp+unix”, „sendmail”, „dummy”.
gitea_mailer_smtp_addr Adres serwera pocztowego. np. smtp.gmail.com. Dla smtp+unix, powinno to być ścieżka do gniazda unix.
gitea_mailer_smtp_port Port serwera pocztowego
gitea_mailer_use_client_cert false Użyj certyfikatu klienta dla TLS/SSL.
gitea_mailer_client_cert_file Plik certyfikatu klienta.
gitea_mailer_client_key_file Plik klucza klienta.
gitea_mailer_force_trust_server_cert false Całkowicie ignoruje błędy walidacji certyfikatu serwera. Ta opcja jest niebezpieczna. Rozważ dodanie certyfikatu do magazynu zaufania systemu.
gitea_mailer_user Nazwa użytkownika do mailowania (zwykle adres e-mail nadawcy).
gitea_mailer_password Hasło użytkownika poczty. Użyj twojego hasła do cytowania, jeśli używasz znaków specjalnych w haśle.
gitea_mailer_enable_helo true Włącz operację HELO.
gitea_mailer_from noreply@{{ gitea_http_domain }} Adres e-mail nadawcy, RFC 5322.
gitea_subject_prefix Prefiks umieszczany przed liniami tematu e-maili.
gitea_mailer_send_as_plaintext false Wysłanie maili tylko w formacie tekstowym, bez alternatywy HTML.
gitea_mailer_extra_config możesz użyć tej zmiennej do przekazania dodatkowych parametrów konfiguracyjnych w sekcji [mailer] pliku konfiguracyjnego.

Sesja (session)

nazwa zmiennej wartość domyślna opis
gitea_session_provider file Dostawca silnika sesji
gitea_session_extra_config możesz użyć tej zmiennej do przekazania dodatkowych parametrów konfiguracyjnych w sekcji [session] pliku konfiguracyjnego.

Obrazek (picture)

nazwa zmiennej wartość domyślna opis
gitea_picture_extra_config możesz użyć tej zmiennej do przekazania dodatkowych parametrów konfiguracyjnych w sekcji [picture] pliku konfiguracyjnego.

Załączniki do zgłoszeń i pull requestów (attachment)

nazwa zmiennej wartość domyślna opis
attachment_enabled true Czy załączniki do zgłoszeń i pull requestów są włączone?
gitea_attachment_types zobacz dokumenty Lista dozwolonych rozszerzeń plików (.zip,.txt), typy mime (text/plain) lub typ wildcard (image/*, audio/*, video/*). Pusta wartość lub */* zezwala na wszystkie typy.
gitea_attachment_max_size 4 Maksymalny rozmiar (MB).
gitea_attachment_extra_config możesz użyć tej zmiennej do przekazania dodatkowych parametrów konfiguracyjnych w sekcji [attachment] pliku konfiguracyjnego.

Dziennik (log)

nazwa zmiennej wartość domyślna opis
gitea_log_systemd false Wyłącza logowanie do file, użyj systemd-journald
gitea_log_level Warn Ogólny poziom logowania. [Trace, Debug, Info, Warn, Error, Critical, Fatal, None]
gitea_log_extra_config możesz użyć tej zmiennej do przekazania dodatkowych parametrów konfiguracyjnych w sekcji [log] pliku konfiguracyjnego.

Metryki (metrics)

nazwa zmiennej wartość domyślna opis
gitea_metrics_enabled false Włącz punkt metryczny
gitea_metrics_token Token Bearer dla zadania zbierania Prometheus
gitea_metrics_extra możesz użyć tej zmiennej do przekazania dodatkowych parametrów konfiguracyjnych w sekcji [metrics] pliku konfiguracyjnego.

OAuth2 (oauth2)

nazwa zmiennej wartość domyślna opis
gitea_oauth2_enabled true Włącz dostawcę Oauth2 (true/false)
gitea_oauth2_jwt_secret Sekret Oauth2 JWT. Można go wygenerować za pomocą gitea generate secret JWT_SECRET. Zostanie automatycznie wygenerowany, jeśli nie jest zdefiniowany.
gitea_oauth2_extra_config możesz użyć tej zmiennej do przekazania dodatkowych parametrów konfiguracyjnych w sekcji [oauth2] pliku konfiguracyjnego.

Federacja (federation)

nazwa zmiennej wartości domyślne opis
gitea_federation_enabled false Włącz/Wyłącz funkcje federacyjne
gitea_federation_share_user_stats false Włącz/Wyłącz statystyki użytkowników dla nodeinfo, jeśli federacja jest włączona
gitea_federation_extra możesz użyć tej zmiennej do przekazania dodatkowych parametrów konfiguracyjnych w sekcji [federation] pliku konfiguracyjnego.

Pakiety (packages)

nazwa zmiennej wartość domyślna opis
gitea_packages_enabled true Włącz/Wyłącz możliwości rejestru pakietów
gitea_packages_extra możesz użyć tej zmiennej do przekazania dodatkowych parametrów konfiguracyjnych w sekcji [packages] pliku konfiguracyjnego.

LFS (lfs)

nazwa zmiennej wartość domyślna opis
gitea_lfs_storage_type local Typ przechowywania dla lfs
gitea_lfs_serve_direct false Pozwala na przekierowanie do uwierzytelnionych adresów URL, aby serwować pliki bezpośrednio. (tylko Minio/S3)
gitea_lfs_content_path {{ gitea_home }}/data/lfs Gdzie przechować pliki LFS
gitea_lfs_extra możesz użyć tej zmiennej do przekazania dodatkowych parametrów konfiguracyjnych w sekcji [lfs] pliku konfiguracyjnego.

Akcje (actions)

nazwa zmiennej wartość domyślna opis
gitea_actions_enabled false Włącz/Wyłącz możliwości akcji globalnie. Możesz chcieć dodać repo.actions do gitea_default_repo_units, aby włączyć akcje we wszystkich nowych repozytoriach.
gitea_actions_default_actions_url github Domyślny adres do pobrań wtyczek akcji, np. domyślna wartość oznacza pobranie z https://github.com/actions/checkout dla uses: actions/checkout@v3
gitea_actions_extra możesz użyć tej zmiennej do przekazania dodatkowych parametrów konfiguracyjnych w sekcji [actions] pliku konfiguracyjnego.

Inne (other)

nazwa zmiennej wartość domyślna opis
gitea_other_show_footer_version true Wyświetlaj informacje o wersji Gitea i Go w stopce.
gitea_other_show_footer_template_load_time true Pokaż czas wykonania szablonu w stopce.
gitea_other_enable_sitemap true Generuj mapę strony.
gitea_other_enable_feed true Włącz/Wyłącz kanał RSS/Atom.

dodatkowa konfiguracja gitea

nazwa zmiennej wartość domyślna opis
gitea_extra_config Dodatkowe ustawienia konfiguracyjne gitea. Zapoznaj się z arkuszem konfiguracyjnym przed jego użyciem!

Konfiguracja Fail2Ban

Jeśli włączone, to wdroży filtr fail2ban oraz konfigurację więzienia dla Gitea, jak opisano w Dokumentacji Gitea.

Ponieważ wdroży to tylko pliki konfiguracyjne, fail2ban musi być już zainstalowany, w przeciwnym razie rola zakończy się niepowodzeniem.

nazwa zmiennej wartość domyślna opis
gitea_fail2ban_enabled false Czy wdrożyć konfigurację fail2ban?
gitea_fail2ban_jail_maxretry 10 maksymalna konfiguracja retry jail fail2ban.
gitea_fail2ban_jail_findtime 3600 czas znajdowania jail fail2ban.
gitea_fail2ban_jail_bantime 900 czas banowania jail fail2ban.
gitea_fail2ban_jail_action iptables-allports akcja jail fail2ban.

lokalni użytkownicy gitea

zmienna opcja opis
gitea_users słownik do tworzenia lokalnych użytkowników gitea lub forgejo
name nazwa dla lokalnego użytkownika gitea/forgejo
password hasło dla lokalnego użytkownika gitea
email e-mail dla lokalnego użytkownika gitea
admin nadaj użytkownikowi uprawnienia administratora
must_change_password użytkownik powinien zmienić hasło po pierwszym zalogowaniu
state ustaw na absent, aby usunąć użytkownika

opcjonalne dostosowanie

Możesz opcjonalnie dostosować swój gitea, używając tej roli ansible. Informacje o dostosowaniach uzyskaliśmy z docs.gitea.io/en-us/customizing-gitea.
Aby wdrożyć wiele plików, utworzyliśmy zmienną gitea_custom_search, która może wskazać na ścieżkę, w której umieściłeś własne pliki gitea (domyślnie "files/host_files/{{ inventory_hostname }}/gitea").

  • LOGO:
    • Ustaw gitea_customize_logo na true
    • Szukamy:
      • logo.svg - Używane jako favicon, ikona strony, ikona aplikacji
      • logo.png - Używane w Open Graph
      • favicon.png - Używane jako fallback dla przeglądarek, które nie obsługują symboli SVG
      • apple-touch-icon.png - Używane w urządzeniach iOS jako zakładki
    • Szukamy w (używając first_found):
      • {{ gitea_custom_search }}/gitea_logo/
      • files/{{ inventory_hostname }}/gitea_logo/
      • files/{{ gitea_http_domain }}/gitea_logo/
      • files/gitea_logo/
  • STOPKA:
    • Ustaw gitea_customize_footer na true
    • Szukamy używając first_found w:
      • "{{ 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'
  • WŁASNE PLIKI:
    • Ustaw gitea_customize_files na true
    • Utwórz katalog z plikami, które chcesz wdrożyć.
    • Wskaź gitea_customize_files_path na ten folder. (Domyślny {{ gitea_custom_search }}/gitea_files/)
  • WŁASNE MOTYWY:
    • Ustaw gitea_custom_themes jako listę z adresami URL dla plików CSS własnych motywów. Zwykle chcesz trzech indywidualnych plików na motyw. Przykład:
      gitea_custom_themes:
        - https://example.com/theme-custom-auto.css
        - https://example.com/theme-custom-dark.css
        - https://example.com/theme-custom-light.css
      
    • Ustaw zmienną gitea_themes i uwzględnij nazwy nowych motywów. Aby zachować istniejące, musisz przekazać wszystkie nazwy motywów, np. auto,gitea,arc-green,<custom-auto>,<custom-light>,<custom-dark>

Wymagania

Ta rola korzysta z kolekcji ansible.builtin i community.general. Aby pobrać najnowsze wydanie forgejo/gitea, korzystamy z json_query. To wymaga, aby jmespath było dostępne.

Pakiety Pythona

  • jmespath

Kolekcje Galaxy

  • community.general

Przykład instalacji wymagań

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

Wnieś wkład

Nie wahaj się stworzyć pull requesta, a jeśli masz wątpliwości, możesz skontaktować się ze mną na Mastodon @[email protected].

Będę zadowolony, że naprawię wszelkie problemy, które zgłosisz, a co lepsze, przejrzę twoje pull requesty :)

Historia tej roli

Ta rola ansible została pierwotnie opracowana na github.com/thomas-maurice/ansible-role-gitea. Ponieważ ta rola ma pewne problemy, takie jak domyślne wartości dla lokalizacji repozytoriów gitea, a scalanie pull requestów zwykle trwa kilka miesięcy, stworzono fork roli, który oferuje podobne funkcje. Tyle że w bardziej uporządkowany sposób i stara się szybciej reagować na problemy i pull requesty. Jest ona teraz częścią kolekcji l3d.git.

O projekcie

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

Zainstaluj
ansible-galaxy install l3d.gitea
Licencja
bsd-3-clause
Pobrania
151k
Właściciel
Ansible roles provide a framework for fully independent, or interdependent collections of variables,tasks,files,templates &modules. Here we maintain some. enjoy