- name: Set up docker stuff if on docker apt: pkg: - lighttpd - supervisor - sudo - name: Create the anon user user: name: anon state: present when: docker - name: Set up Ikiwiki setup template: src: emacsconf.setup dest: "{{ ikiwiki_path }}/emacsconf.setup" owner: www-data group: www-data - name: Set up the ikiwiki directories file: dest: "{{ ikiwiki_dest }}" state: directory owner: ikiwiki group: www-data recurse: true - name: Clone the bare git repo git: bare: true repo: "{{ ikiwiki_git_source_mount }}" dest: "{{ ikiwiki_bare_git_dir }}" version: "{{ ikiwiki_git_branch }}" - name: Set up post-update hook tags: wip template: src: post-update dest: "{{ ikiwiki_bare_git_dir }}/hooks/post-update" mode: 0755 - name: Remove sample tags: wip file: path: "{{ ikiwiki_bare_git_dir }}/hooks/post-update.sample" state: absent - name: Set up ikiwiki post-update hook tags: wip template: src: post-update.h00-ikiwiki-wrapper dest: "{{ ikiwiki_bare_git_dir }}/hooks/post-update.h00-ikiwiki-wrapper" mode: 0755 - name: Change owner tags: wip file: dest: "{{ ikiwiki_bare_git_dir }}" recurse: true owner: ikiwiki group: www-data - name: Clone the working git repo git: repo: "{{ ikiwiki_bare_git_dir }}" dest: "{{ ikiwiki_src_dir }}" version: "{{ ikiwiki_git_branch }}" - name: Chown all the files to ikiwiki file: dest: "{{ ikiwiki_src_dir }}" owner: ikiwiki group: ikiwiki recurse: true - name: Copy supervisor config template: src: supervisord.conf dest: /etc/supervisor/conf.d/ikiwiki.conf - name: Start lighttpd service: name: lighttpd state: started - name: Start ssh tags: ssh service: name: ssh state: started - name: Set up SSH directory tags: ssh file: path: /home/ikiwiki/.ssh owner: ikiwiki group: ikiwiki state: directory mode: 0700 - name: Set up SSH authentication tags: ssh block: - name: Copy key template: src: "{{ docker_ssh_key }}" dest: "/home/ikiwiki/.ssh/authorized_keys2" mode: 0600 - name: Change ownership file: path: "/home/ikiwiki/.ssh" owner: ikiwiki group: ikiwiki recurse: true when: docker_ssh_key is defined