From a197d83a41151452ad0bd9335c645863a8d6d719 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Fra=C3=9F?= Date: Tue, 30 Jul 2024 08:41:24 +0200 Subject: [PATCH] =?UTF-8?q?[mod]=20role:forgejo:Verzeichnis=20f=C3=BCr=20R?= =?UTF-8?q?epositories?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roles/forgejo/defaults/main.json | 3 ++- roles/forgejo/tasks/main.json | 20 +++++++++++--------- roles/forgejo/templates/config.ini.j2 | 3 +++ roles/forgejo/vardef.json | 6 +++++- 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/roles/forgejo/defaults/main.json b/roles/forgejo/defaults/main.json index 570046a..88acb42 100644 --- a/roles/forgejo/defaults/main.json +++ b/roles/forgejo/defaults/main.json @@ -1,6 +1,7 @@ { "var_forgejo_user": "forgejo", - "var_forgejo_directory": "/opt/forgejo", + "var_forgejo_directory_main": "/opt/forgejo", + "var_forgejo_directory_repositories": "/var/forgejo/repositories", "var_forgejo_version": "7.0.5", "var_forgejo_platform": "linux-amd64", "var_forgejo_secret_key": "REPLACE_ME", diff --git a/roles/forgejo/tasks/main.json b/roles/forgejo/tasks/main.json index 5f36530..99e4c54 100644 --- a/roles/forgejo/tasks/main.json +++ b/roles/forgejo/tasks/main.json @@ -15,18 +15,20 @@ "ansible.builtin.user": { "name": "{{var_forgejo_user}}", "create_home": true, - "home": "{{var_forgejo_directory}}" + "home": "{{var_forgejo_directory_main}}" } }, { - "name": "directories | database", + "name": "directories | external", "become": true, "loop": [ - "{{var_forgejo_database_data_sqlite_path | dirname}}" + "{{var_forgejo_database_data_sqlite_path | dirname}}", + "{{var_forgejo_directory_repositories}}" ], "ansible.builtin.file": { "path": "{{item}}", - "state": "directory" + "state": "directory", + "owner": "{{var_forgejo_user}}" } }, { @@ -34,7 +36,7 @@ "become": true, "become_user": "{{var_forgejo_user}}", "loop": [ - "{{var_forgejo_directory}}/custom/conf" + "{{var_forgejo_directory_main}}/custom/conf", ], "ansible.builtin.file": { "path": "{{item}}", @@ -47,7 +49,7 @@ "become_user": "{{var_forgejo_user}}", "ansible.builtin.get_url": { "url": "https://codeberg.org/forgejo/forgejo/releases/download/v{{var_forgejo_version}}/forgejo-{{var_forgejo_version}}-{{var_forgejo_platform}}", - "dest": "{{var_forgejo_directory}}/forgejo", + "dest": "{{var_forgejo_directory_main}}/forgejo", "mode": "u+rx" } }, @@ -57,7 +59,7 @@ "become_user": "{{var_forgejo_user}}", "ansible.builtin.template": { "src": "config.ini.j2", - "dest": "{{var_forgejo_directory}}/custom/conf/app.ini" + "dest": "{{var_forgejo_directory_main}}/custom/conf/app.ini" } }, { @@ -65,7 +67,7 @@ "become": true, "become_user": "{{var_forgejo_user}}", "ansible.builtin.command": { - "chdir": "{{var_forgejo_directory}}", + "chdir": "{{var_forgejo_directory_main}}", "cmd": "./forgejo migrate" } }, @@ -75,7 +77,7 @@ "become": true, "become_user": "{{var_forgejo_user}}", "ansible.builtin.command": { - "chdir": "{{var_forgejo_directory}}", + "chdir": "{{var_forgejo_directory_main}}", "cmd": "./forgejo admin auth add-oauth --provider='openidConnect' --name='authelia' --key={{var_forgejo_authentication_data_authelia_client_id}} --secret={{var_forgejo_authentication_data_authelia_client_secret}} --auto-discover-url='{{var_forgejo_authentication_data_authelia_url_base}}/.well-known/openid-configuration' --scopes='openid email profile'" } }, diff --git a/roles/forgejo/templates/config.ini.j2 b/roles/forgejo/templates/config.ini.j2 index e12c714..396a4ea 100644 --- a/roles/forgejo/templates/config.ini.j2 +++ b/roles/forgejo/templates/config.ini.j2 @@ -85,6 +85,9 @@ SHOW_REGISTRATION_BUTTON = false AUTO_WATCH_NEW_REPOS = false AUTO_WATCH_ON_CHANGES = false +[repository] +ROOT = {{var_forgejo_directory_repositories}} + {% if var_forgejo_authentication_kind == 'internal' %} [openid] ENABLE_OPENID_SIGNIN = false diff --git a/roles/forgejo/vardef.json b/roles/forgejo/vardef.json index 84668a8..849c6df 100644 --- a/roles/forgejo/vardef.json +++ b/roles/forgejo/vardef.json @@ -3,7 +3,11 @@ "type": "string", "mandatory": false }, - "directory": { + "directory_main": { + "type": "string", + "mandatory": false + }, + "directory_repositories": { "type": "string", "mandatory": false },