From 08c7e375f1e1b4716d799e86e632755258146fac Mon Sep 17 00:00:00 2001 From: mg Date: Sat, 26 Dec 2020 16:22:59 +0100 Subject: [PATCH] Gitea in LXC (#13) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Registrierung deaktiviert REstic Vars angepasst Parameter gitea Rolle postgres entfernt gitea_secret_key & gitea_internal_token in KeePass hinzugefügt Vars + Playbook - wip Rolle geerlingguy/ansible-role-postgres als submodule hinzugefügt Rolle thomas-maurice/ansible-role-gitea als submodule hinzugefügt Inventory Gruppenname angepasst Gitea in Inventory gepackt Co-authored-by: Michael Grote <38253905+quotengrote@users.noreply.github.com> Reviewed-on: https://git.mgrote.net/mg/ansible/pulls/13 Co-Authored-By: mg Co-Committed-By: mg --- .gitmodules | 3 ++ group_vars/all.yml | 1 + group_vars/gitea.yml | 67 ++++++++++++++++++++++++++++++++++++ inventory | 8 +++++ keepass_db.kdbx | Bin 12478 -> 12702 bytes playbooks/service/gitea.yml | 4 +++ roles/tmaurice.gitea | 1 + 7 files changed, 84 insertions(+) create mode 100644 group_vars/gitea.yml create mode 100644 playbooks/service/gitea.yml create mode 160000 roles/tmaurice.gitea diff --git a/.gitmodules b/.gitmodules index cc52e32c..d7c24227 100644 --- a/.gitmodules +++ b/.gitmodules @@ -37,3 +37,6 @@ [submodule "roles/geerlingguy.java"] path = roles/geerlingguy.java url = https://github.com/geerlingguy/ansible-role-java +[submodule "roles/tmaurice.gitea"] + path = roles/tmaurice.gitea + url = https://github.com/thomas-maurice/ansible-role-gitea diff --git a/group_vars/all.yml b/group_vars/all.yml index 50727055..66daeccb 100644 --- a/group_vars/all.yml +++ b/group_vars/all.yml @@ -12,6 +12,7 @@ acng_server: acng.grote.lan acng_server_port: 9999 ### mgrote.restic + restic_folders_to_backup: "/usr/local /etc /root /var/www /home" restic_cron_hours: "19" restic_repository: "//fileserver2.grote.lan/backup/restic" restic_repository_password: "{{ lookup('keepass', 'restic_repository_password', 'password') }}" diff --git a/group_vars/gitea.yml b/group_vars/gitea.yml new file mode 100644 index 00000000..735aa003 --- /dev/null +++ b/group_vars/gitea.yml @@ -0,0 +1,67 @@ +--- + ### mgrote.restic + restic_folders_to_backup: "/usr/local /etc /root /var/lib/gitea /var/lib/postgres /home" + + ### oefenweb.ufw + ufw_rules: + - rule: allow + to_port: 22 + protocol: tcp + comment: 'ssh' + - rule: allow + to_port: 3000 + protocol: tcp + comment: 'gitea' + - rule: allow + to_port: 2222 + protocol: tcp + comment: 'gitea' + ### tmaurice.gitea + gitea_version: "1.13.0" + gitea_app_name: "Gitea" + gitea_user: "gitea" + gitea_home: "/var/lib/gitea" + gitea_repository_root: "{{ gitea_home }}" + gitea_user_repo_limit: 300 + gitea_root_url: https://git.mgrote.net + gitea_offline_mode: true + gitea_lfs_server_enabled: false + gitea_secret_key: "{{ lookup('keepass', 'gitea_secret_key', 'password') }}" + gitea_internal_token: "{{ lookup('keepass', 'gitea_internal_token', 'password') }}" + gitea_disable_git_hooks: false + gitea_show_user_email: false + gitea_disable_gravatar: true + gitea_enable_captcha: true + gitea_only_allow_external_registration: false + gitea_enable_notify_mail: false + gitea_force_private: false + gitea_oauth2_enabled: false + gitea_repo_indexer_enabled: true + gitea_extra_config: "" + + gitea_mailer_enabled: true + gitea_mailer_skip_verify: false + gitea_mailer_tls_enabled: true + gitea_mailer_host: smtp.strato.de:465 + gitea_mailer_from: info@mgrote.net + gitea_mailer_user: "info@mgrote.net" + gitea_mailer_password: "{{ lookup('keepass', 'postfix_absender_passwort', 'password') }}" + gitea_mailer_type: smtp + + gitea_db_type: sqlite3 + gitea_db_path: "{{ gitea_home }}/data/gitea.db" # for sqlite3 + + gitea_ssh_listen: 0.0.0.0 + gitea_ssh_domain: git.mgrote.net + gitea_ssh_port: 2222 + gitea_start_ssh: true + + gitea_http_domain: git.mgrote.net + gitea_http_listen: 0.0.0.0 + gitea_http_port: 3000 + gitea_disable_http_git: false + gitea_protocol: http + + gitea_show_registration_button: false + gitea_require_signin: true + gitea_disable_registration: true diff --git a/inventory b/inventory index 9b33637c..1b7f62f2 100644 --- a/inventory +++ b/inventory @@ -49,6 +49,11 @@ all: pve-staging.grote.lan: pve-test.grote.lan: pve2.grote.lan: + gitea: + hosts: + gitea-staging.grote.lan: + gitea-test.grote.lan: + gitea.grote.lan: # wsl: # hosts: # irantu.grote.lan: @@ -72,6 +77,7 @@ all: docker.grote.lan: pve2.grote.lan: jenkins.grote.lan: + gitea.grote.lan: staging: hosts: wireguard-staging.grote.lan: @@ -83,6 +89,7 @@ all: docker-staging.grote.lan: pve-staging.grote.lan: jenkins-staging.grote.lan: + gitea-staging.grote.lan: test: hosts: wireguard-test.grote.lan: @@ -96,3 +103,4 @@ all: lxc-test2.grote.lan: pve-test.grote.lan: jenkins-test.grote.lan: + gitea-test.grote.lan: diff --git a/keepass_db.kdbx b/keepass_db.kdbx index 1b918a1eaad60ec95985426602a73ee8f60a39eb..e530946016bc19a28fd8237cb51aee91f99048b4 100644 GIT binary patch literal 12702 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 I>IhFRz|w^(xc~qF diff --git a/playbooks/service/gitea.yml b/playbooks/service/gitea.yml new file mode 100644 index 00000000..d2504517 --- /dev/null +++ b/playbooks/service/gitea.yml @@ -0,0 +1,4 @@ +--- +- hosts: gitea + roles: + - { role: tmaurice.gitea, tags: "gitea", become: true } diff --git a/roles/tmaurice.gitea b/roles/tmaurice.gitea new file mode 160000 index 00000000..aa754936 --- /dev/null +++ b/roles/tmaurice.gitea @@ -0,0 +1 @@ +Subproject commit aa754936773ead0a0f2729ad140814f9e262cffb