--- - name: Wallabag hosts: servers gather_facts: false tasks: - name: Create dir ansible.builtin.file: path: "{{ dir }}" state: directory mode: "0775" - name: Write files ansible.builtin.copy: src: "{{ item }}" dest: "{{ dir }}/" mode: preserve with_fileglob: - files/{{ app_name }}/* - files/{{ app_name }}/.* notify: - Restart service - name: Write templates ansible.builtin.template: src: "{{ item }}" dest: "{{ dir }}/{{ item | basename | regex_replace('\\.j2$', '') }}" mode: preserve with_fileglob: - templates/{{ app_name }}/*.j2 - templates/{{ app_name }}/.*.j2 notify: - Restart service - name: Ensure service is started community.docker.docker_compose_v2: project_src: "{{ dir }}" state: present handlers: - name: Restart service community.docker.docker_compose_v2: project_src: "{{ dir }}" state: restarted vars: app_name: wallabag dir: /mnt/data/{{ app_name }} secret_key: !vault | $ANSIBLE_VAULT;1.1;AES256 31346432623062383331306633383230376264326530643236393838356166346563653637376666 6164636662643832383639346638376534353339356161300a636132376531333539323066666334 38663566633337343164316239613239656662623437373234366135366134646665343134656566 3933313933323732350a623262383864343331363138353335663333626537366563663234363833 36613166343664386362626631623061613536616663616431353066633531643736343236333435 31613930633837396237633732353266656533373739613031326137656430633036356565376238 653264666166386662643966383234323133 mailgun_api_key: !vault | $ANSIBLE_VAULT;1.1;AES256 38643731363932383630346636353230626563376532316539346231376337636538326233663738 3237623235666635656566376364343063316661646161660a636366306562353361313930383136 34343938663832646631373830373539356236313132333039393236393539613938343339313066 6331656438666366330a353538393238353438643330356665373635373465643161333137386130 34316164613965663930303265353964666338326437386362326639656264653238326463613430 63326533386332313965343064323466653961643939656566343635366231386463323534303464 353966343531346266356462396433373164