ansible-base/roles/forgejo/tasks/main.json

102 lines
2.5 KiB
JSON
Raw Normal View History

2024-07-04 19:49:36 +02:00
[
{
"name": "packages",
"become": true,
"ansible.builtin.apt": {
"update_cache": true,
"pkg": [
"git"
]
}
},
{
"name": "user",
"become": true,
"ansible.builtin.user": {
2024-07-10 15:36:32 +02:00
"name": "{{var_forgejo_user}}",
2024-07-04 19:49:36 +02:00
"create_home": true,
"home": "{{var_forgejo_directory_main}}"
2024-07-04 19:49:36 +02:00
}
},
2024-07-04 22:54:49 +02:00
{
"name": "directories | external",
2024-07-04 22:54:49 +02:00
"become": true,
"loop": [
"{{var_forgejo_database_data_sqlite_path | dirname}}",
"{{var_forgejo_directory_repositories}}"
2024-07-04 22:54:49 +02:00
],
"ansible.builtin.file": {
"path": "{{item}}",
"state": "directory",
"owner": "{{var_forgejo_user}}"
2024-07-04 22:54:49 +02:00
}
},
2024-07-09 14:06:16 +02:00
{
"name": "directories | internal",
"become": true,
2024-07-10 15:36:32 +02:00
"become_user": "{{var_forgejo_user}}",
2024-07-09 14:06:16 +02:00
"loop": [
"{{var_forgejo_directory_main}}/custom/conf",
2024-07-09 14:06:16 +02:00
],
"ansible.builtin.file": {
"path": "{{item}}",
"state": "directory"
}
},
2024-07-04 19:49:36 +02:00
{
"name": "download",
"become": true,
2024-07-10 15:36:32 +02:00
"become_user": "{{var_forgejo_user}}",
2024-07-04 19:49:36 +02:00
"ansible.builtin.get_url": {
2024-07-10 15:48:29 +02:00
"url": "https://codeberg.org/forgejo/forgejo/releases/download/v{{var_forgejo_version}}/forgejo-{{var_forgejo_version}}-{{var_forgejo_platform}}",
"dest": "{{var_forgejo_directory_main}}/forgejo",
2024-07-04 19:49:36 +02:00
"mode": "u+rx"
}
2024-07-04 21:55:22 +02:00
},
{
2024-07-09 17:10:54 +02:00
"name": "config | base",
2024-07-04 21:55:22 +02:00
"become": true,
2024-07-10 15:36:32 +02:00
"become_user": "{{var_forgejo_user}}",
2024-07-04 21:55:22 +02:00
"ansible.builtin.template": {
"src": "config.ini.j2",
"dest": "{{var_forgejo_directory_main}}/custom/conf/app.ini"
2024-07-09 17:10:54 +02:00
}
},
2024-07-09 17:30:46 +02:00
{
"name": "config | database",
"become": true,
2024-07-10 15:36:32 +02:00
"become_user": "{{var_forgejo_user}}",
2024-07-09 17:30:46 +02:00
"ansible.builtin.command": {
"chdir": "{{var_forgejo_directory_main}}",
2024-07-10 15:36:32 +02:00
"cmd": "./forgejo migrate"
2024-07-09 17:30:46 +02:00
}
},
2024-07-09 17:10:54 +02:00
{
2024-07-09 17:12:01 +02:00
"name": "config | authelia",
2024-07-10 15:36:32 +02:00
"when": "var_forgejo_authentication_kind == 'authelia'",
2024-07-09 17:10:54 +02:00
"become": true,
2024-07-10 15:36:32 +02:00
"become_user": "{{var_forgejo_user}}",
2024-07-09 17:10:54 +02:00
"ansible.builtin.command": {
"chdir": "{{var_forgejo_directory_main}}",
2024-07-10 15:36:32 +02:00
"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'"
2024-07-04 21:55:22 +02:00
}
},
{
"name": "systemd unit",
"become": true,
"ansible.builtin.template": {
"src": "systemd-unit.j2",
2024-07-10 15:36:32 +02:00
"dest": "/etc/systemd/system/forgejo.service"
2024-07-04 21:55:22 +02:00
}
},
{
"name": "start",
"become": true,
"ansible.builtin.systemd_service": {
"enabled": true,
"state": "restarted",
2024-07-10 15:36:32 +02:00
"name": "forgejo"
2024-07-04 21:55:22 +02:00
}
2024-07-04 19:49:36 +02:00
}
]