[ { "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" } } ]