[ { "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": "{{var_hedgedoc_user_name}}", "create_home": true } }, { "name": "download", "become": false, "ansible.builtin.get_url": { "url": "https://github.com/hedgedoc/hedgedoc/releases/download/{{var_hedgedoc_version}}/hedgedoc-{{var_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": "{{var_hedgedoc_directory | dirname}}", "owner": "{{var_hedgedoc_user_name}}" } }, { "name": "setup script", "become": true, "become_user": "hedgedoc", "ansible.builtin.command": { "chdir": "{{var_hedgedoc_directory}}", "cmd": "bin/setup" } }, { "name": "configuration", "become": true, "ansible.builtin.template": { "src": "config.json.j2", "dest": "{{var_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" } } ]