diff --git a/README.md b/README.md index a4ca1c0..27e4166 100644 --- a/README.md +++ b/README.md @@ -1,63 +1,611 @@ -# sit-lnx.gitea -Deploy a gitea (git with a cup of tea) instance. +# xoxys.gitea + +[![Build Status](https://drone.rknet.org/api/badges/ansible/xoxys.gitea/status.svg)](https://drone.rknet.org/ansible/xoxys.gitea) -## Role Variables -```yaml -gitea_user: "gitea_adm" -gitea_user_home: "/home/{{ gitea_user }}" -gitea_group: "{{ gitea_user }}" -gitea_packages: ["git"] -# Create separate LVM storage for gitea -gitea_lvm_enabled: False -# This variables are only necessary if gitea_lvm_enabled is 'True' -# Set physical volumes to use in LVM -gitea_lvm_pvs: #['/dev/sdb', '/dev/sdc'] -gitea_lvm_vg: #"vg_gitea" -gitea_lvm_lv: #"lv_gitea" -gitea_lvm_size: #"50G" +Install Gitea Git Service -gitea_base_dir: "/opt/gitea" -gitea_bin_dir: "{{ gitea_base_dir }}/bin" -gitea_config_dir: "{{ gitea_base_dir }}/custom/conf" -gitea_data_dir: "{{ gitea_base_dir }}/data" -gitea_log_dir: "{{ gitea_base_dir }}/log" +## Table of content -gitea_bind_url: localhost -gitea_bind_port: 61000 -gitea_bind_protocol: http +* [Default Variables](#default-variables) + * [gitea_version](#gitea_version) + * [gitea_user](#gitea_user) + * [gitea_user_home](#gitea_user_home) + * [gitea_group](#gitea_group) + * [gitea_extra_groups](#gitea_extra_groups) + * [gitea_packages](#gitea_packages) + * [gitea_lvm_enabled](#gitea_lvm_enabled) + * [gitea_base_dir](#gitea_base_dir) + * [gitea_bin_dir](#gitea_bin_dir) + * [gitea_config_dir](#gitea_config_dir) + * [gitea_data_dir](#gitea_data_dir) + * [gitea_bind_ip](#gitea_bind_ip) + * [gitea_bind_port](#gitea_bind_port) + * [gitea_listen_address](#gitea_listen_address) + * [gitea_install_lock](#gitea_install_lock) + * [gitea_secret](#gitea_secret) + * [gitea_token](#gitea_token) + * [gitea_run_mode](#gitea_run_mode) + * [gitea_landing_page](#gitea_landing_page) + * [gitea_disable_registration](#gitea_disable_registration) + * [gitea_postgres_enabled](#gitea_postgres_enabled) + * [gitea_postgres_ssl_mode](#gitea_postgres_ssl_mode) + * [gitea_postgres_server](#gitea_postgres_server) + * [gitea_postgres_port](#gitea_postgres_port) + * [gitea_postgres_superuser](#gitea_postgres_superuser) + * [gitea_postgres_password](#gitea_postgres_password) + * [gitea_postgres_db](#gitea_postgres_db) + * [gitea_postgres_user](#gitea_postgres_user) + * [gitea_iptables_enabled](#gitea_iptables_enabled) + * [gitea_open_ports](#gitea_open_ports) + * [gitea_global_log_level](#gitea_global_log_level) + * [gitea_global_log_dir](#gitea_global_log_dir) + * [gitea_file_log_level](#gitea_file_log_level) + * [gitea_file_log_rotate_enabled](#gitea_file_log_rotate_enabled) + * [gitea_file_log_rotate_daily_enabled](#gitea_file_log_rotate_daily_enabled) + * [gitea_file_log_rotate_max_days](#gitea_file_log_rotate_max_days) + * [gitea_repository_upload_max_filesize](#gitea_repository_upload_max_filesize) + * [gitea_repository_upload_max_files](#gitea_repository_upload_max_files) + * [gitea_attachment_max_filesize](#gitea_attachment_max_filesize) + * [gitea_attachment_max_files](#gitea_attachment_max_files) + * [gitea_mail_service_enabled](#gitea_mail_service_enabled) + * [gitea_mail_service_from](#gitea_mail_service_from) + * [gitea_no_reply_address](#gitea_no_reply_address) + * [gitea_oauth_provider_enabled](#gitea_oauth_provider_enabled) + * [gitea_access_token_expiration_time](#gitea_access_token_expiration_time) + * [gitea_refresh_token_expiration_time](#gitea_refresh_token_expiration_time) + * [gitea_invalidate_refresh_tokens](#gitea_invalidate_refresh_tokens) + * [gitea_jwt_secret](#gitea_jwt_secret) + * [gitea_tls_enabled](#gitea_tls_enabled) + * [gitea_tls_cert_path](#gitea_tls_cert_path) + * [gitea_tls_key_path](#gitea_tls_key_path) + * [gitea_tls_cert_source](#gitea_tls_cert_source) + * [gitea_tls_key_source](#gitea_tls_key_source) + * [gitea_lvm_pvs](#gitea_lvm_pvs) + * [gitea_lvm_vg](#gitea_lvm_vg) + * [gitea_lvm_lv](#gitea_lvm_lv) + * [gitea_lvm_fstype](#gitea_lvm_fstype) + * [gitea_lvm_size](#gitea_lvm_size) +* [Dependencies](#dependencies) +* [License](#license) +* [Author](#author) -gitea_db_type: #mysql, postgres, sqlite, mssql -gitea_db_host: #dbserver -gitea_db_port: #5432 -gitea_db_name: #gitea -gitea_db_user: #gitea -gitea_db_passwd: #password +--- -# Variables containing the tls cert/private key -gitea_tls_chained_cert: #"{{ my_vaulted_cert }}" -gitea_tls_priv_key: #"{{ my_vaulted_key }}" +## Default Variables -gitea_install_lock: true -# This secret is publicly known and should not used in production! -# Use host_vars/group_vars and ansible vault to deploy a strong secret -gitea_secret: "1234567ABCDEFG" -gitea_run_mode: prod -gitea_landing_page: explore -gitea_disable_registration: true -gitea_log_level: Debug +### gitea_version + +#### Default value + +```YAML +gitea_version: 1.9.0 ``` -## Examples -### Playbook -```yaml -- hosts: gitea +### gitea_user - roles: - - xoxys.nginx - - xoxys.gitea +#### Default value +```YAML +gitea_user: gitea_adm +``` + +### gitea_user_home + +#### Default value + +```YAML +gitea_user_home: /home/{{ gitea_user }} +``` + +### gitea_group + +#### Default value + +```YAML +gitea_group: '{{ gitea_user }}' +``` + +### gitea_extra_groups + +#### Default value + +```YAML +gitea_extra_groups: [] +``` + +### gitea_packages + +#### Default value + +```YAML +gitea_packages: + - git +``` + +### gitea_lvm_enabled + +#### Default value + +```YAML +gitea_lvm_enabled: false +``` + +### gitea_base_dir + +#### Default value + +```YAML +gitea_base_dir: /opt/gitea +``` + +### gitea_bin_dir + +#### Default value + +```YAML +gitea_bin_dir: '{{ gitea_base_dir }}/bin' +``` + +### gitea_config_dir + +#### Default value + +```YAML +gitea_config_dir: '{{ gitea_base_dir }}/custom/conf' +``` + +### gitea_data_dir + +#### Default value + +```YAML +gitea_data_dir: '{{ gitea_base_dir }}/data' +``` + +### gitea_bind_ip + +#### Default value + +```YAML +gitea_bind_ip: 127.0.0.1 +``` + +### gitea_bind_port + +#### Default value + +```YAML +gitea_bind_port: 61000 +``` + +### gitea_listen_address + +#### Default value + +```YAML +gitea_listen_address: http://gitea.example.com +``` + +### gitea_install_lock + +#### Default value + +```YAML +gitea_install_lock: 'true' +``` + +### gitea_secret + +Should be replaced by your own secret. + +#### Default value + +```YAML +gitea_secret: 1234567ABCDEFG +``` + +### gitea_token + +Should be replaced by your own secret. + +#### Default value + +```YAML +gitea_token: akslkaldasasifiuvsiasfa7s7f8as7f8asd +``` + +### gitea_run_mode + +#### Default value + +```YAML +gitea_run_mode: prod +``` + +### gitea_landing_page + +#### Default value + +```YAML +gitea_landing_page: explore +``` + +### gitea_disable_registration + +#### Default value + +```YAML +gitea_disable_registration: 'true' +``` + +### gitea_postgres_enabled + +#### Default value + +```YAML +gitea_postgres_enabled: false +``` + +### gitea_postgres_ssl_mode + +#### Default value + +```YAML +gitea_postgres_ssl_mode: disabled +``` + +### gitea_postgres_server + +#### Default value + +```YAML +gitea_postgres_server: '{{ inventory_hostname }}' +``` + +### gitea_postgres_port + +#### Default value + +```YAML +gitea_postgres_port: 5432 +``` + +### gitea_postgres_superuser + +#### Default value + +```YAML +gitea_postgres_superuser: postgres +``` + +### gitea_postgres_password + +#### Default value + +```YAML +gitea_postgres_password: postgres +``` + +### gitea_postgres_db + +#### Default value + +```YAML +gitea_postgres_db: + name: gitea + lc_collate: en_US.UTF-8 + lc_ctype: en_US.UTF-8' + encoding: UTF-8 + template: template0 + login_host: localhost + login_user: '{{ gitea_postgres_superuser }}' + login_password: '{{ gitea_postgres_password }}' + port: '{{ gitea_postgres_port }}' + state: present +``` + +### gitea_postgres_user + +#### Default value + +```YAML +gitea_postgres_user: + name: pggitea + password: gitea + encrypted: yes + db: '{{ gitea_postgres_db.name }}' + login_host: localhost + login_user: '{{ gitea_postgres_superuser }}' + login_password: '{{ gitea_postgres_password }}' + port: '{{ gitea_postgres_port }}' + state: present +``` + +### gitea_iptables_enabled + +#### Default value + +```YAML +gitea_iptables_enabled: false +``` + +### gitea_open_ports + +#### Default value + +```YAML +gitea_open_ports: + - name: allow_gitea_web + rules: "-A INPUT -m state --state NEW -p tcp --dport {{ gitea_bind_port }} -j\ + \ ACCEPT\n" + state: present +``` + +### gitea_global_log_level + +#### Default value + +```YAML +gitea_global_log_level: Info +``` + +### gitea_global_log_dir + +#### Default value + +```YAML +gitea_global_log_dir: '{{ gitea_base_dir }}/log' +``` + +### gitea_file_log_level + +#### Default value + +```YAML +gitea_file_log_level: '{{ gitea_global_log_level }}' +``` + +### gitea_file_log_rotate_enabled + +#### Default value + +```YAML +gitea_file_log_rotate_enabled: 'true' +``` + +### gitea_file_log_rotate_daily_enabled + +#### Default value + +```YAML +gitea_file_log_rotate_daily_enabled: 'true' +``` + +### gitea_file_log_rotate_max_days + +#### Default value + +```YAML +gitea_file_log_rotate_max_days: 7 +``` + +### gitea_repository_upload_max_filesize + +#### Default value + +```YAML +gitea_repository_upload_max_filesize: 3 +``` + +### gitea_repository_upload_max_files + +#### Default value + +```YAML +gitea_repository_upload_max_files: 5 +``` + +### gitea_attachment_max_filesize + +#### Default value + +```YAML +gitea_attachment_max_filesize: 3 +``` + +### gitea_attachment_max_files + +#### Default value + +```YAML +gitea_attachment_max_files: 5 +``` + +### gitea_mail_service_enabled + +#### Default value + +```YAML +gitea_mail_service_enabled: false +``` + +### gitea_mail_service_from + +#### Default value + +```YAML +gitea_mail_service_from: '"System" ' +``` + +### gitea_no_reply_address + +#### Default value + +```YAML +gitea_no_reply_address: noreply.example.org +``` + +### gitea_oauth_provider_enabled + +#### Default value + +```YAML +gitea_oauth_provider_enabled: false +``` + +### gitea_access_token_expiration_time + +#### Default value + +```YAML +gitea_access_token_expiration_time: 3600 +``` + +### gitea_refresh_token_expiration_time + +#### Default value + +```YAML +gitea_refresh_token_expiration_time: 730 +``` + +### gitea_invalidate_refresh_tokens + +#### Default value + +```YAML +gitea_invalidate_refresh_tokens: 'false' +``` + +### gitea_jwt_secret + +#### Default value + +```YAML +gitea_jwt_secret: Bk0yK7Y9g_p56v86KaHqjSbxvNvu3SbKoOdOt2ZcXvU +``` + +### gitea_tls_enabled + +#### Default value + +```YAML +gitea_tls_enabled: false +``` + +### gitea_tls_cert_path + +#### Default value + +```YAML +gitea_tls_cert_path: '{{ gitea_base_dir }}/tls/certs/mycert.pem' +``` + +### gitea_tls_key_path + +#### Default value + +```YAML +gitea_tls_key_path: '{{ gitea_base_dir }}/tls/private/mykey.pem' +``` + +### gitea_tls_cert_source + +#### Default value + +```YAML +gitea_tls_cert_source: mycert.pem +``` + +### gitea_tls_key_source + +#### Default value + +```YAML +gitea_tls_key_source: mykey.pem +``` + +### gitea_lvm_pvs + +#### Default value + +```YAML +gitea_lvm_pvs: _unset_ +``` + +#### Example usage + +```YAML +gitea_lvm_pvs: + - /dev/sdb + - /dev/sdc +``` + +### gitea_lvm_vg + +#### Default value + +```YAML +gitea_lvm_vg: _unset_ +``` + +#### Example usage + +```YAML +gitea_lvm_vg: vg_gitea +``` + +### gitea_lvm_lv + +#### Default value + +```YAML +gitea_lvm_lv: _unset_ +``` + +#### Example usage + +```YAML +gitea_lvm_lv: lv_gitea +``` + +### gitea_lvm_fstype + +#### Default value + +```YAML +gitea_lvm_fstype: _unset_ +``` + +#### Example usage + +```YAML +gitea_lvm_fstype: ext4 +``` + +### gitea_lvm_size + +#### Default value + +```YAML +gitea_lvm_size: _unset_ +``` + +#### Example usage + +```YAML +gitea_lvm_size: 50G ``` ## Dependencies -None. It is recommendet to deploy gitea with nginx as reverse proxy. + +None. + +## License + +MIT + +## Author + +xoxys