--- # User and directory setup tasks - name: Create docker group group: name: "{{ docker_group }}" state: present tags: ['users'] - name: Create docker user user: name: "{{ docker_user }}" group: "{{ docker_group }}" groups: docker shell: /bin/bash home: "{{ docker_root }}" create_home: yes system: no state: present tags: ['users'] - name: Add docker user to docker group user: name: "{{ docker_user }}" groups: docker append: yes tags: ['users'] - name: Get docker user UID and GID getent: database: passwd key: "{{ docker_user }}" tags: ['users'] - name: Get docker group GID getent: database: group key: "{{ docker_group }}" tags: ['users'] - name: Display docker user information debug: msg: | Docker user: {{ docker_user }} Docker UID: {{ ansible_facts['getent_passwd'][docker_user][1] }} Docker GID: {{ ansible_facts['getent_group'][docker_group][1] }} tags: ['users'] - name: Create media directories file: path: "{{ item }}" state: directory owner: "{{ docker_user }}" group: "{{ docker_group }}" mode: '0755' loop: "{{ media_dirs }}" tags: ['directories'] - name: Create docker config directories file: path: "{{ item }}" state: directory owner: "{{ docker_user }}" group: "{{ docker_group }}" mode: '0755' loop: "{{ docker_dirs }}" tags: ['directories'] - name: Set ownership of media root file: path: "{{ media_root }}" owner: "{{ docker_user }}" group: "{{ docker_group }}" recurse: yes state: directory tags: ['permissions'] - name: Set ownership of docker root file: path: "{{ docker_root }}" owner: "{{ docker_user }}" group: "{{ docker_group }}" recurse: yes state: directory tags: ['permissions'] - name: Create docker user .bashrc template: src: bashrc.j2 dest: "{{ docker_root }}/.bashrc" owner: "{{ docker_user }}" group: "{{ docker_group }}" mode: '0644' tags: ['user_config'] - name: Create useful aliases for docker user template: src: bash_aliases.j2 dest: "{{ docker_root }}/.bash_aliases" owner: "{{ docker_user }}" group: "{{ docker_group }}" mode: '0644' tags: ['user_config'] - name: Create scripts directory file: path: "{{ docker_root }}/scripts" state: directory owner: "{{ docker_user }}" group: "{{ docker_group }}" mode: '0755' tags: ['directories'] - name: Create management scripts template: src: "{{ item }}.j2" dest: "{{ docker_root }}/scripts/{{ item }}" owner: "{{ docker_user }}" group: "{{ docker_group }}" mode: '0755' loop: - arrs-start.sh - arrs-stop.sh - arrs-restart.sh - arrs-logs.sh - arrs-update.sh - arrs-status.sh tags: ['scripts']