Browse Source

add webdav role and media playbook

python3
Andrea Cimbalo 7 years ago
parent
commit
2b8073112a
5 changed files with 59 additions and 0 deletions
  1. +15
    -0
      media.yaml
  2. +3
    -0
      roles/webdav/defaults/main.yaml
  3. +6
    -0
      roles/webdav/meta/main.yaml
  4. +20
    -0
      roles/webdav/tasks/main.yaml
  5. +15
    -0
      roles/webdav/templates/webdav.conf.nginx.j2

+ 15
- 0
media.yaml View File

@ -0,0 +1,15 @@
- hosts: biff
roles:
- role: lxc_guest
vm_name: media
- role: ssh_server
ansible_connection: lxc_ssh
ansible_docker_extra_args: media
- hosts: media
roles:
- role: dns_record
- role: reverse_proxy
- role: webdav
webdav_folders:
- Movies
- Series

+ 3
- 0
roles/webdav/defaults/main.yaml View File

@ -0,0 +1,3 @@
server_path: /srv/webdav
webdav_folders: []
webdav_fqdn: '{{ ansible_hostname }}.lilik.it'

+ 6
- 0
roles/webdav/meta/main.yaml View File

@ -0,0 +1,6 @@
---
dependencies:
- role: nginx
config_name: "webdav"
parent_role_path: "webdav"
server_fqdn: '{{ webdav_fqdn }}'

+ 20
- 0
roles/webdav/tasks/main.yaml View File

@ -0,0 +1,20 @@
- name: create directories to serve
file:
path: '{{ server_path }}/{{ item }}'
state: directory
mode: 0755
owner: www-data
group: www-data
recurse: yes
with_items: '{{ webdav_folders }} + ["temp"]'
- name: touch htpasswd file
file:
path: '{{ item }}'
state: touch
mode: 0640
owner: www-data
group: www-data
with_items:
- /etc/nginx/media_htpasswd
changed_when: False

+ 15
- 0
roles/webdav/templates/webdav.conf.nginx.j2 View File

@ -0,0 +1,15 @@
{% for folder in webdav_folders %}
location /{{ folder }}/ {
alias {{ server_path }}/{{ folder }}/;
client_body_temp_path {{ server_path }}/temp;
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
create_full_put_path on;
dav_access user:rw group:rw all:rw;
autoindex on;
auth_basic "restricted";
auth_basic_user_file /etc/nginx/media_htpasswd;
}
{% endfor %}

Loading…
Cancel
Save