diff --git a/ansible/inventory/group_vars/server.yml b/ansible/inventory/group_vars/server.yml index a6ffbc2..455f422 100644 --- a/ansible/inventory/group_vars/server.yml +++ b/ansible/inventory/group_vars/server.yml @@ -34,6 +34,36 @@ server_templates: dest: .gitconfig mode: "0644" +server_directories: + - path: /opt/navidrome/data + owner: "{{ server_username }}" + group: "{{ server_user_group }}" + mode: "0755" + - path: /opt/music + owner: "{{ server_username }}" + group: "{{ server_user_group }}" + mode: "0755" + - path: /opt/npm/data + owner: root + group: root + mode: "0755" + - path: /opt/npm/letsencrypt + owner: root + group: root + mode: "0755" + - path: /opt/postgres/data + owner: root + group: root + mode: "0755" + - path: /opt/gitea/data + owner: root + group: root + mode: "0755" + - path: /home/git/.ssh + owner: git + group: git + mode: "0700" + server_ufw_rules: - rule: allow name: OpenSSH diff --git a/ansible/roles/profile_server/tasks/main.yml b/ansible/roles/profile_server/tasks/main.yml index d2d3903..c8f0688 100644 --- a/ansible/roles/profile_server/tasks/main.yml +++ b/ansible/roles/profile_server/tasks/main.yml @@ -24,6 +24,18 @@ loop_control: label: "{{ item.dest }}" +- name: Ensure server directories exist + tags: [dotfiles, services] + ansible.builtin.file: + path: "{{ item.path }}" + state: directory + owner: "{{ item.owner }}" + group: "{{ item.group }}" + mode: "{{ item.mode }}" + loop: "{{ server_directories | default([]) }}" + loop_control: + label: "{{ item.path }}" + - name: Disable SSH root login on server tags: [services] ansible.builtin.lineinfile: