Created
March 2, 2020 12:08
-
-
Save alekc/f7ade8d91969da7169470e5761e5c170 to your computer and use it in GitHub Desktop.
nas
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
- hosts: | |
- xps-desktop | |
vars: | |
- docker_data_path: /4t/docker-data | |
- media_folder: /2t/media | |
- media_docker_path: /media | |
- uid: "500" | |
- gid: "500" | |
- transmission_web_host: bt.example.com | |
- jackett_api_key: a7f8gct9ob90aak7nurjsuvz6uowktra | |
- xps_ip: "192.168.0.29" | |
- openvpn_username: vvvvvvvvvvvv | |
- openvpn_password: ccccccccccc | |
- traefik_docker_network: traefik | |
# - hosts_entries: | |
# "jackett.example.com": "{{ xps_ip }}" | |
# "radarr.example.com": "{{ xps_ip }}" | |
# "sonarr.example.com": "{{ xps_ip }}" | |
# "bt.example.com": "{{ xps_ip }}" | |
- docker_network: | |
- name: nas-net | |
- name: traefik | |
- docker_log_driver: "json-file" | |
- docker_log_options: | |
max-size: "10m" | |
pre_tasks: | |
- name: Ensure nas-net network exist | |
docker_network: | |
name: nas-net | |
state: present | |
- name: Prepare media folder | |
file: | |
path: "{{ item }}" | |
owner: "{{ uid }}" | |
group: "{{ gid }}" | |
state: directory | |
loop: | |
- "{{ media_folder }}" | |
- "{{ media_folder }}/tv-shows" | |
- "{{ media_folder }}/movies" | |
roles: | |
- role: role-docker-sonarr | |
vars: | |
- sonarr_data_path: "{{ docker_data_path }}/sonarr/" | |
- sonarr_docker_labels: | |
traefik.enable: "true" | |
traefik.docker.network: "{{ traefik_docker_network }}" | |
traefik.http.routers.sonarr.rule: Host(`sonarr-nas.example.com`) | |
- sonarr_uid: "{{ uid }}" | |
- sonarr_gid: "{{ gid }}" | |
- sonarr_docker_volumes: | |
- "{{ media_folder }}:{{ media_docker_path }}" | |
# - sonarr_docker_etc_hosts: "{{ hosts_entries }}" | |
- sonarr_docker_networks: "{{ docker_network }}" | |
- sonarr_purge_networks: yes | |
- sonarr_docker_log_options: "{{ docker_log_options }}" | |
- sonarr_docker_log_driver: "{{ docker_log_driver }}" | |
- role: role-docker-radarr | |
vars: | |
- radarr_data_path: "{{ docker_data_path }}/radarr/" | |
- radarr_docker_labels: | |
traefik.enable: "true" | |
traefik.docker.network: "{{ traefik_docker_network }}" | |
traefik.http.routers.radarr.rule: Host(`radarr-nas.example.com`) | |
- radarr_uid: "{{ uid }}" | |
- radarr_gid: "{{ gid }}" | |
- radarr_docker_volumes: | |
- "{{ media_folder }}:{{ media_docker_path }}" | |
# - radarr_docker_etc_hosts: "{{ hosts_entries }}" | |
- radarr_docker_networks: "{{ docker_network }}" | |
- radarr_purge_networks: yes | |
- radarr_docker_log_options: "{{ docker_log_options }}" | |
- radarr_docker_log_driver: "{{ docker_log_driver }}" | |
- role: role-docker-jackett | |
vars: | |
- jackett_data_path: "{{ docker_data_path }}/jackett/" | |
- jackett_docker_labels: | |
traefik.enable: "true" | |
traefik.docker.network: "{{ traefik_docker_network }}" | |
traefik.http.routers.jackett.rule: Host(`jackett.example.com`) | |
- jackett_docker_networks: "{{ docker_network }}" | |
- jackett_docker_purge_networks: yes | |
- jackett_docker_log_options: "{{ docker_log_options }}" | |
- jackett_docker_log_driver: "{{ docker_log_driver }}" | |
- role: role-docker-plex | |
vars: | |
- plex_docker_uid: "{{ uid }}" | |
- plex_docker_gid: "{{ gid }}" | |
- plex_claim_token: "claim-myznP-8RNyz7dDGnhcNF" | |
- plex_data_dir: "{{ docker_data_path }}/plex/" | |
- plex_docker_labels: | |
traefik.enable: "true" | |
traefik.docker.network: "{{ traefik_docker_network }}" | |
traefik.http.routers.plex.rule: Host(`plex-nas.example.com`) | |
# - plex_docker_networks: "{{ docker_network }}" | |
# - plex_docker_purge_networks: yes | |
- plex_docker_log_options: "{{ docker_log_options }}" | |
- plex_docker_log_driver: "{{ docker_log_driver }}" | |
- plex_docker_runtime: "nvidia" | |
- plex_transcode_dir: /tmp/ | |
- plex_docker_env: | |
NVIDIA_VISIBLE_DEVICES: all | |
NVIDIA_DRIVER_CAPABILITIES: compute,video,utility | |
- plex_docker_volumes: | |
- "{{ media_folder }}/tv-shows:/data/tvshows" | |
- "{{ media_folder }}/movies:/data/movies" | |
- role: role-docker-transmission-openvpn | |
vars: | |
- transmission_openvpn_docker_env: | |
"OPENVPN_PROVIDER": "WINDSCRIBE" | |
"OPENVPN_CONFIG": "Sweden-udp" | |
"OPENVPN_USERNAME": "{{ openvpn_username }}" | |
"OPENVPN_PASSWORD": "{{ openvpn_password }}" | |
"TRANSMISSION_RPC_USERNAME": "admin" | |
"TRANSMISSION_RPC_PASSWORD": "ccccccccccccccccccccccccc" | |
"TRANSMISSION_PREALLOCATION": "1" | |
"TRANSMISSION_INCOMPLETE_DIR": "{{ media_docker_path }}/torrents/incomplete" | |
"TRANSMISSION_DOWNLOAD_DIR": "{{ media_docker_path }}/torrents/completed" | |
"TRANSMISSION_INCOMPLETE_DIR_ENABLED": "true" | |
# "LOCAL_NETWORK": "172.18.0.0/24" | |
"WEBPROXY_ENABLED": "true" | |
"WEBPROXY_PORT": "8888" | |
- transmission_openvpn_puid: "{{ uid }}" | |
- transmission_openvpn_pgid: "{{ gid }}" | |
- transmission_openvpn_download_folder: /sharedfolders/AppData/transmission/data | |
- transmission_openvpn_docker_volumes: | |
- "{{ media_folder }}:{{ media_docker_path }}" | |
- "{{ docker_data_path }}/transmission/config:/config" | |
- transmission_openvpn_docker_ports: | |
- "8888:8888" | |
- transmission_openvpn_docker_labels: | |
traefik.enable: "true" | |
traefik.docker.network: "{{ traefik_docker_network }}" | |
traefik.http.routers.transmission.rule: "Host(`{{ transmission_web_host }}`)" | |
traefik.http.services.transmission.loadbalancer.server.port: "9091" | |
- transmission_openvpn_docker_restart: true | |
- transmission_openvpn_docker_healthcheck: | |
interval: 60s | |
test: ["CMD-SHELL", "/etc/scripts/healthcheck.sh"] | |
- transmission_openvpn_docker_networks: "{{ docker_network }}" | |
- transmission_openvpn_docker_purge_networks: "yes" | |
- transmission_openvpn_docker_log_options: "{{ docker_log_options }}" | |
- transmission_openvpn_docker_log_driver: "{{ docker_log_driver }}" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Requirements.yml