thomas_maurice.ansible_role_gitea
Ansibleロール gitea - giteaサーバーのインストール
このロールは、giteaサーバーをインストールおよび管理します。 ソースコードとスクリーンショットはこちら。
GiteaはGolangで開発されたGitリポジトリ用のWebアプリで、見た目や使い勝手はGitHubと似ています。
プレイブックでの使用例
以下のコードはDebian 8でテストされており、Ubuntuでも動作するはずです。
- name: "giteaのインストール"
hosts: all
vars:
gitea_user: "gitea"
gitea_home: "/var/lib/gitea"
# ユーザーあたり30リポジトリに制限
gitea_user_repo_limit: 30
# フロントエンドアセットのために公共CDNを使用しない
gitea_offline_mode: true
# URLのレンダリングオプション
gitea_http_domain: git.yourdomain.fr
gitea_root_url: https://git.yourdomain.fr
# リバースプロキシの後ろにいると仮定し、
# localhost:3000でHTTPを使用します。
gitea_protocol: http
gitea_http_listen: 127.0.0.1
gitea_http_port: 3000
# SSHサーバーの設定
gitea_ssh_listen: 0.0.0.0
gitea_ssh_port: 2222
# URLのレンダリング用
gitea_ssh_domain: git.yourdomain.fr
gitea_start_ssh: true
gitea_secret_key: 3sp00ky5me
gitea_disable_gravatar: true
# 最初のユーザーの登録を可能にする
gitea_disable_registration: false
gitea_require_signin: true
gitea_enable_captcha: true
gitea_show_user_email: false
roles:
- gitea
より詳細なオプション
一般
gitea_version_check
: インストールされているバージョンがgitea_version
と異なる場合、バイナリのダウンロードを開始します。gitea_user
: Giteaが使用するUNIXユーザーgitea_group
: Giteaが使用するUNIXグループgitea_home
: 作業の基本ディレクトリgitea_dl_url
: コンパイルされたgiteaバイナリをダウンロードするURLgitea_systemd_cap_net_bind_service
: systemdサービスファイルにAmbientCapabilities=CAP_NET_BIND_SERVICE
を追加します。gitea_extra_config
: 追加の設定
見た目と使い勝手
gitea_app_name
: 表示されるアプリケーション名gitea_show_user_email
: メールアドレスを表示しますか? (true/false)gitea_disable_gravatar
: Gravatarを無効にしますか? (プライバシーのため等) (true/false)gitea_offline_mode
: フロントエンドアセットのCDNを無効にしますか? (true/false)gitea_disable_registration
: ユーザー登録を無効にしますか? (true/false)gitea_only_allow_external_registration
: 第三者のサービスを使用してのみ登録を強制しますか? (true/false)gitea_show_registration_button
: 登録ボタンを表示しますか? (true/false)gitea_require_signin
: リポジトリを見るためにサインインが必要ですか? (true/false)gitea_enable_captcha
: CAPTCHAを有効にしますか? (true/false)gitea_themes
: 有効なテーマのリストgitea_theme_default
: デフォルトテーマ
セキュリティ
gitea_secret_key
: クッキーの秘密鍵gitea_internal_token
: 内部APIトークンgitea_disable_git_hooks
: Gitフックを追加するインターフェースを無効にしますか? (true/false) (有効にするとセキュリティのリスクがあります)
制限
gitea_user_repo_limit
: ユーザーが持てるリポジトリの数を制限します(無制限の場合は-1)。
HTTP構成
gitea_http_domain
: HTTPドメイン(クローンURLに表示される、ドメインのみ)gitea_root_url
: WebアプリにアクセスするためのルートURL(完全なURL)gitea_protocol
: リスニングプロトコル(http/https)gitea_http_listen
: バインドアドレスgitea_http_port
: バインドポートgitea_disable_http_git
: HTTPを介したGitの使用を無効にしますか? (true/false)
SSH構成
gitea_ssh_listen
: SSHサーバーのバインドアドレスgitea_ssh_domain
: SSHドメイン(クローンURLに表示される)gitea_start_ssh
: 組み込みのSSHサーバーを起動しますか? (true/false)gitea_ssh_port
: SSHバインドポート
データベース構成
gitea_db_type
: データベースの種類:mysql
、postgres
、またはsqlite3
gitea_db_host
: データベースホストの文字列host:port
または、ローカルのUnixソケットを介してPostgresに接続する場合は/run/postgresql/
gitea_db_name
: データベース名gitea_db_user
: データベースユーザー名gitea_db_password
: データベースパスワードgitea_db_ssl
: SSLを使用しますか?(postgresのみ!)。require
、disable
、verify-ca
、またはverify-full
を指定します。gitea_db_path
:sqlite3
を使用する場合のDBパス。
メール設定
gitea_mailer_enabled
: メール送信機能を有効にしますか? デフォルト:false
gitea_mailer_skip_verify
: SMTP TLS証明書の検証をスキップしますか? (true/false)gitea_mailer_tls_enabled
: SMTP接続のためのTLSを有効にしますか? (true/false)gitea_mailer_host
: SMTPサーバーのホスト名とポートgitea_mailer_user
: SMTPサーバーのユーザー名gitea_mailer_password
: SMTPサーバーのパスワードgitea_mailer_from
: 送信者のメールアドレスgitea_enable_notify_mail
: リポジトリのウォッチャーに何かが起こった際にメールを送りますか? デフォルト:false
gitea_mail_default
: ユーザーによるメール通知のデフォルト設定(ユーザーが設定可能)。オプション: enabled、onmention、disable (デフォルト:onmention
)gitea_autowatch_new_repo
: 新しいリポジトリ作成時にすべての組織ユーザーにウォッチを有効にしますか?(デフォルト:false
)gitea_autowatch_on_change
: その後の最初のコミット後にリポジトリをウォッチしますか? (デフォルト:true
)gitea_show_mailstones_dashboard
: マイルストーンダッシュボードページを表示しますか? (デフォルト:true
)
Fail2Ban設定
有効にすると、Gitea用のfail2banフィルターおよび監視設定がデプロイされます。Giteaドキュメントに従ってください。
この設定ファイルのみがデプロイされるため、fail2ban は事前にインストールしておく必要があります。
gitea_fail2ban_enabled
: fail2ban設定をデプロイしますか?gitea_fail2ban_jail_maxretry
: fail2ban監視のmaxretry
設定。デフォルト:10
gitea_fail2ban_jail_findtime
: fail2ban監視のfindtime
設定。デフォルト:3600
gitea_fail2ban_jail_bantime
: fail2ban監視のbantime
設定。デフォルト:900
gitea_fail2ban_jail_action
: fail2ban監視のaction
設定。デフォルト:iptables-allports
OAuth2プロバイダー設定
gitea_oauth2_enabled
: OAuth2プロバイダーを有効にしますか? (true/false)gitea_oauth2_jwt_secret
: OAuth2 JWT秘密鍵。gitea generate secret JWT_SECRET
で生成できます。
GIT LFS設定
gitea_lfs_enabled
: GIT LFS(大きなファイルシステム)を有効にしますか?gitea_lfs_mode
: LFSをオフラインモードにしますか? (true/false)gitea_lfs_secret
: リモートLFS使用のためのJWT秘密鍵
メトリクスエンドポイント設定
gitea_metrics_enabled
: メトリクスエンドポイントを有効にしますか?gitea_metrics_token
: Prometheusスクレイプジョブのためのベアラートークン
リポジトリインデクサー設定
gitea_repo_indexer_enabled
: リポジトリインデクサー(コード検索)を有効にしますか? デフォルト:false
gitea_repo_indexer_include
: インデックスに含めるグロブパターン(カンマ区切りリスト)。デフォルト:""
(すべてのファイル)gitea_repo_indexer_exclude
: インデックスから除外するグロブパターン(カンマ区切りリスト)。デフォルト:""
(ファイルなし)gitea_repo_exclude_vendored
: インデックスからベンダーファイルを除外しますか? デフォルト:true
gitea_repo_indexer_max_file_size
: インデックスに含めるファイルの最大サイズ(バイト単位)。デフォルト:1048576
(1 MB)
アップグレード時のバックアップ
gitea_backup_on_upgrade
: giteaの更新ごとにバックアップを作成できますか? デフォルト:false
gitea_backup_location
: このロールで作成された場合のgiteaバックアップの保存場所。デフォルト:{{ gitea_home }}/backups/
貢献
プルリクエストを作成するのをためらわないでください。疑問がある場合は、Twitterで@thomas_mauriceまでご連絡ください。
オープンされた問題を修正することを楽しみにしていますし、プルリクエストのレビューも歓迎します :)
テスト
テストは、moleculeを使用します。テストを開始するには、まず依存関係をインストールしてください。仮想環境(virtualenv)を使用することをお勧めしますが、何をすべきかは私に言う権利はありません。
pip install pew # venvを管理するためのpewをインストール
pew new ansible # venvを作成
pip install -r requirements-travis.txt # 要件をインストール
molecule test # 実際のテストを実行
注意: Dockerがインストールされている必要があります。
既知のテスト制限
現在、プレイブックが実行されること、lintが正常であることなどを確認しています。 Dockerで実行しているため、サービスがsystemdによって実際に起動されているかどうかを確認する手段が現在はありません。 この点は今後取り組む必要があります。
ライセンス
Copyright 2019-present Thomas Maurice
ソースおよびバイナリ形式での再配布および使用は、変更の有無にかかわらず、次の条件が満たされている場合に許可されます。
1. ソースコードの再配布は、上記の著作権表示、この条件のリスト、および次の免責事項を保持しなければなりません。
2. バイナリ形式の再配布は、上記の著作権表示、この条件のリスト、および次の免責事項を配布に含まれる文書やその他の材料に再現しなければなりません。
3. 著作権保有者の名前やその貢献者の名前を、事前の書面による特別な許可なしに、このソフトウェアから派生した製品を支持または宣伝するために使用することはできません。
このソフトウェアは、著作権保有者および貢献者によって「現状のまま」提供され、明示的または暗黙的な保証、商業性や特定の目的への適合性の暗黙の保証が含まれているかどうかにかかわらず、明示的または暗黙的な保証は否認されます。著作権保有者または貢献者は、いかなる場合においても、直接的、間接的、偶発的、特別、例外的または結果的損害(代替品の調達、使用、データまたは利益の喪失、商業の中断を含むがこれに限定されない)に対して責任を負わないものとし、いかなる理論に基づいても、契約、不法行為(過失を含む)にかかわらず、使用の結果として生じる損害についても同様とします。
プロジェクトについて
Ansible Role - Gitea
インストール
ansible-galaxy install thomas_maurice.ansible_role_gitea
ライセンス
bsd-3-clause
ダウンロード
82.6k
所有者
Lead Site Reliability Engineer