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

119 lines
2.3 KiB
JSON
Raw Normal View History

2023-12-10 20:44:52 +01:00
[
2025-10-08 11:20:09 +02:00
{
"name": "show vars",
"when": "switch_show_vars",
"ansible.builtin.debug": {
"var": "vars.cfg_hedgedoc"
}
},
2023-12-16 15:13:01 +01:00
{
"name": "packages",
"become": true,
"ansible.builtin.apt": {
2024-03-20 00:07:58 +01:00
"update_cache": true,
2023-12-16 15:13:01 +01:00
"pkg": [
"acl",
"git",
"nodejs",
"npm",
"yarnpkg"
]
}
},
{
2023-12-17 00:04:07 +01:00
"name": "yarn link",
2023-12-16 15:13:01 +01:00
"become": true,
"ansible.builtin.file": {
"state": "link",
"src": "/usr/bin/yarnpkg",
"dest": "/usr/bin/yarn"
}
},
{
"name": "user",
"become": true,
"ansible.builtin.user": {
2025-10-08 11:20:09 +02:00
"name": "{{cfg_hedgedoc.user_name}}",
2024-08-21 20:14:17 +02:00
"create_home": true,
2025-10-08 11:20:09 +02:00
"home": "{{cfg_hedgedoc.directory}}"
2023-12-16 15:13:01 +01:00
}
},
2025-10-08 11:36:39 +02:00
{
"name": "database",
"when": "cfg_hedgedoc.database.kind == 'sqlite'",
"block": [
{
"name": "database | directory",
"become": true,
"ansible.builtin.file": {
"state": "directory",
"path": "{{cfg_hedgedoc.database.data.path | dirname}}",
"owner": "{{cfg_hedgedoc.user_name}}"
}
},
{
"name": "database | file",
"become": true,
"ansible.builtin.file": {
"state": "touch",
"path": "{{cfg_hedgedoc.database.data.path}}",
"owner": "{{cfg_hedgedoc.user_name}}"
}
}
]
},
2023-12-16 15:13:01 +01:00
{
"name": "download",
"become": false,
"ansible.builtin.get_url": {
2025-10-08 11:20:09 +02:00
"url": "https://github.com/hedgedoc/hedgedoc/releases/download/{{cfg_hedgedoc.version}}/hedgedoc-{{cfg_hedgedoc.version}}.tar.gz",
2023-12-16 15:13:01 +01:00
"dest": "/tmp/hedgedoc.tar.gz"
}
},
{
"name": "extract",
"become": true,
"ansible.builtin.unarchive": {
"remote_src": true,
"src": "/tmp/hedgedoc.tar.gz",
2025-10-08 11:20:09 +02:00
"dest": "{{cfg_hedgedoc.directory | dirname}}",
"owner": "{{cfg_hedgedoc.user_name}}"
2023-12-16 15:13:01 +01:00
}
},
{
2023-12-17 00:04:07 +01:00
"name": "setup script",
2023-12-16 15:13:01 +01:00
"become": true,
"become_user": "hedgedoc",
"ansible.builtin.command": {
2025-10-08 11:20:09 +02:00
"chdir": "{{cfg_hedgedoc.directory}}",
2023-12-16 15:13:01 +01:00
"cmd": "bin/setup"
}
},
{
"name": "configuration",
"become": true,
"ansible.builtin.template": {
"src": "config.json.j2",
2025-10-08 11:20:09 +02:00
"dest": "{{cfg_hedgedoc.directory}}/config.json"
2023-12-16 15:13:01 +01:00
}
},
{
2023-12-17 00:04:07 +01:00
"name": "systemd unit",
2023-12-16 15:13:01 +01:00
"become": true,
"ansible.builtin.template": {
"src": "systemd-unit.j2",
"dest": "/etc/systemd/system/hedgedoc.service"
}
},
{
2023-12-17 00:04:07 +01:00
"name": "start",
2023-12-16 15:13:01 +01:00
"become": true,
"ansible.builtin.systemd_service": {
"enabled": true,
"state": "started",
"name": "hedgedoc"
}
}
2023-12-10 20:44:52 +01:00
]