119 lines
2.3 KiB
JSON
119 lines
2.3 KiB
JSON
[
|
|
{
|
|
"name": "show vars",
|
|
"when": "switch_show_vars",
|
|
"ansible.builtin.debug": {
|
|
"var": "vars.cfg_hedgedoc"
|
|
}
|
|
},
|
|
{
|
|
"name": "packages",
|
|
"become": true,
|
|
"ansible.builtin.apt": {
|
|
"update_cache": true,
|
|
"pkg": [
|
|
"acl",
|
|
"git",
|
|
"nodejs",
|
|
"npm",
|
|
"yarnpkg"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"name": "yarn link",
|
|
"become": true,
|
|
"ansible.builtin.file": {
|
|
"state": "link",
|
|
"src": "/usr/bin/yarnpkg",
|
|
"dest": "/usr/bin/yarn"
|
|
}
|
|
},
|
|
{
|
|
"name": "user",
|
|
"become": true,
|
|
"ansible.builtin.user": {
|
|
"name": "{{cfg_hedgedoc.user_name}}",
|
|
"create_home": true,
|
|
"home": "{{cfg_hedgedoc.directory}}"
|
|
}
|
|
},
|
|
{
|
|
"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}}"
|
|
}
|
|
}
|
|
]
|
|
|
|
},
|
|
{
|
|
"name": "download",
|
|
"become": false,
|
|
"ansible.builtin.get_url": {
|
|
"url": "https://github.com/hedgedoc/hedgedoc/releases/download/{{cfg_hedgedoc.version}}/hedgedoc-{{cfg_hedgedoc.version}}.tar.gz",
|
|
"dest": "/tmp/hedgedoc.tar.gz"
|
|
}
|
|
},
|
|
{
|
|
"name": "extract",
|
|
"become": true,
|
|
"ansible.builtin.unarchive": {
|
|
"remote_src": true,
|
|
"src": "/tmp/hedgedoc.tar.gz",
|
|
"dest": "{{cfg_hedgedoc.directory | dirname}}",
|
|
"owner": "{{cfg_hedgedoc.user_name}}"
|
|
}
|
|
},
|
|
{
|
|
"name": "setup script",
|
|
"become": true,
|
|
"become_user": "hedgedoc",
|
|
"ansible.builtin.command": {
|
|
"chdir": "{{cfg_hedgedoc.directory}}",
|
|
"cmd": "bin/setup"
|
|
}
|
|
},
|
|
{
|
|
"name": "configuration",
|
|
"become": true,
|
|
"ansible.builtin.template": {
|
|
"src": "config.json.j2",
|
|
"dest": "{{cfg_hedgedoc.directory}}/config.json"
|
|
}
|
|
},
|
|
{
|
|
"name": "systemd unit",
|
|
"become": true,
|
|
"ansible.builtin.template": {
|
|
"src": "systemd-unit.j2",
|
|
"dest": "/etc/systemd/system/hedgedoc.service"
|
|
}
|
|
},
|
|
{
|
|
"name": "start",
|
|
"become": true,
|
|
"ansible.builtin.systemd_service": {
|
|
"enabled": true,
|
|
"state": "started",
|
|
"name": "hedgedoc"
|
|
}
|
|
}
|
|
]
|