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

156 lines
4.5 KiB
JSON
Raw Normal View History

[
{
"name": "packages",
"become": true,
"ansible.builtin.apt": {
"update_cache": true,
"pkg": [
"npm"
]
}
},
{
"name": "user",
"become": true,
"ansible.builtin.user": {
"name": "{{var_wiki_js_user}}",
"create_home": true,
"home": "{{var_wiki_js_directory}}"
}
},
{
"name": "directories",
"become": true,
"loop": [
2024-09-04 00:06:52 +02:00
"{{var_wiki_js_data_path}}"
],
"ansible.builtin.file": {
"owner": "{{var_wiki_js_user}}",
"state": "directory",
"path": "{{item}}"
}
},
{
"name": "download",
"become": true,
"become_user": "{{var_wiki_js_user}}",
"ansible.builtin.get_url": {
"url": "https://github.com/Requarks/wiki/releases/latest/download/wiki-js.tar.gz",
2024-09-28 13:22:17 +02:00
"dest": "/tmp/wiki_js.tar.gz"
}
},
{
"name": "unpack",
"become": true,
"become_user": "{{var_wiki_js_user}}",
"ansible.builtin.unarchive": {
"remote_src": true,
2024-09-28 09:57:22 +02:00
"src": "/tmp/wiki_js.tar.gz",
"dest": "{{var_wiki_js_directory}}"
}
},
2024-09-04 00:06:52 +02:00
{
"name": "cli client",
"become": true,
"become_user": "{{var_wiki_js_user}}",
"ansible.builtin.copy": {
"src": "cli.js",
"dest": "{{var_wiki_js_directory}}/cli.js",
"mode": "0700"
}
},
{
"name": "database | sqlite | dirctory",
"when": "var_wiki_js_database_kind == 'sqlite'",
"become": true,
"ansible.builtin.file": {
"path": "{{var_wiki_js_database_data_sqlite_path | dirname}}",
"state": "directory",
"owner": "{{var_wiki_js_user}}"
}
},
{
"name": "database | sqlite | file",
"when": "var_wiki_js_database_kind == 'sqlite'",
"become": true,
"become_user": "{{var_wiki_js_user}}",
"ansible.builtin.file": {
"path": "{{var_wiki_js_database_data_sqlite_path}}",
"state": "touch"
}
},
2024-09-04 00:06:52 +02:00
{
2024-09-28 09:57:22 +02:00
"name": "conf",
2024-09-04 00:06:52 +02:00
"become": true,
"become_user": "{{var_wiki_js_user}}",
"ansible.builtin.template": {
"src": "config.yml.j2",
"dest": "{{var_wiki_js_directory}}/config.yml"
}
},
{
"name": "database | sqlite | setup",
"when": "var_wiki_js_database_kind == 'sqlite'",
"become": true,
"become_user": "{{var_wiki_js_user}}",
"ansible.builtin.command": {
"chdir": "{{var_wiki_js_directory}}",
"cmd": "npm rebuild sqlite3"
}
},
2024-09-27 17:49:18 +02:00
{
"name": "systemd-unit",
"become": true,
"ansible.builtin.template": {
"src": "systemd-unit.j2",
"dest": "/etc/systemd/system/wiki_js.service"
}
},
{
2024-09-28 09:57:22 +02:00
"name": "start service",
2024-09-27 17:49:18 +02:00
"become": true,
"ansible.builtin.systemd_service": {
"state": "restarted",
"enabled": true,
"name": "wiki_js"
}
},
{
2024-09-04 00:06:52 +02:00
"name": "initialize",
"become": true,
"become_user": "{{var_wiki_js_user}}",
2024-09-04 00:06:52 +02:00
"ansible.builtin.command": {
"chdir": "{{var_wiki_js_directory}}",
2024-09-28 13:22:17 +02:00
"cmd": "node cli.js -b http://127.0.0.1:{{var_wiki_js_port | string}} init {{var_wiki_js_admin_email_address}} {{var_wiki_js_admin_password}} https://{{var_wiki_js_domain}} 0"
2024-09-04 00:06:52 +02:00
}
},
{
"name": "email settings",
"become": true,
"become_user": "{{var_wiki_js_user}}",
"ansible.builtin.command": {
"chdir": "{{var_wiki_js_directory}}",
2024-09-28 13:22:17 +02:00
"cmd": "node cli.js -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} email-settings-set {{var_wiki_js_smtp_host}} {{var_wiki_js_smtp_port}} {{var_wiki_js_smtp_username}} {{var_wiki_js_smtp_password}} {{email_sending_sender_name}} {{email_sending_sender_email_address}}"
}
},
{
"name": "theming",
"become": true,
"become_user": "{{var_wiki_js_user}}",
"ansible.builtin.command": {
"chdir": "{{var_wiki_js_directory}}",
"cmd": "node cli.js -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} theming-set 1 left"
}
},
{
2024-09-04 00:06:52 +02:00
"name": "authentication | authelia",
"when": "var_wiki_js_authentication_kind == 'authelia'",
2024-09-04 00:06:52 +02:00
"become": true,
"become_user": "{{var_wiki_js_user}}",
"ansible.builtin.command": {
"chdir": "{{var_wiki_js_directory}}",
2024-09-28 13:22:17 +02:00
"cmd": "node cli.js -b http://127.0.0.1:{{var_wiki_js_port | string}} -u {{var_wiki_js_admin_email_address}} -p {{var_wiki_js_admin_password}} auth-strat-add-oauth2 {{var_wiki_js_authentication_data_authelia_provider_id}} {{var_wiki_js_authentication_data_authelia_provider_name}} {{var_wiki_js_authentication_data_authelia_client_id}} {{var_wiki_js_authentication_data_authelia_client_secret}} {{var_wiki_js_authentication_data_authelia_url_base}}/api/oidc/authorization {{var_wiki_js_authentication_data_authelia_url_base}}/api/oidc/token {{var_wiki_js_authentication_data_authelia_url_base}}/api/oidc/userinfo"
}
}
]