Sanitized mirror from private repository - 2026-03-16 11:01:28 UTC
This commit is contained in:
161
ansible/deploy_arr_suite_full.yml
Normal file
161
ansible/deploy_arr_suite_full.yml
Normal file
@@ -0,0 +1,161 @@
|
||||
# =============================================================================
|
||||
# TASKS - DOCKER SERVICE
|
||||
# =============================================================================
|
||||
#
|
||||
# SERVICE OVERVIEW:
|
||||
# - Container: tasks
|
||||
# - Image: "linuxserver/tautulli:latest",
|
||||
# - Configuration: ansible/deploy_arr_suite_full.yml
|
||||
#
|
||||
# DISASTER RECOVERY PRIORITY: MEDIUM
|
||||
# - Recovery Time Objective (RTO): 1 hour
|
||||
# - Recovery Point Objective (RPO): 24 hours
|
||||
#
|
||||
# BACKUP REQUIREMENTS:
|
||||
# - Configuration: Docker volumes and bind mounts
|
||||
# - Data: Persistent volumes (if any)
|
||||
# - Frequency: Daily for critical services, weekly for others
|
||||
#
|
||||
# DEPENDENCIES:
|
||||
# - Docker daemon running
|
||||
# - Network connectivity
|
||||
# - Storage volumes accessible
|
||||
# - Required environment variables set
|
||||
#
|
||||
# RECOVERY PROCEDURE:
|
||||
# 1. Ensure dependencies are met
|
||||
# 2. Restore configuration and data from backups
|
||||
# 3. Deploy using: docker-compose -f deploy_arr_suite_full.yml up -d
|
||||
# 4. Verify service functionality
|
||||
# 5. Update monitoring and documentation
|
||||
#
|
||||
# =============================================================================
|
||||
|
||||
- name: Deploy ARR Suite with Ansible
|
||||
hosts: all
|
||||
become: yes
|
||||
tasks:
|
||||
- name: Ensure required directories exist
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
mode: '0755'
|
||||
owner: vish
|
||||
group: vish
|
||||
loop:
|
||||
- /home/vish/docker/tautulli
|
||||
- /home/vish/docker/prowlarr
|
||||
- /home/vish/docker/flaresolverr
|
||||
- /home/vish/docker/sabnzbd
|
||||
- /home/vish/docker/sonarr
|
||||
- /home/vish/docker/lidarr
|
||||
- /home/vish/docker/radarr
|
||||
- /home/vish/docker/readarr
|
||||
- /home/vish/docker/bazarr
|
||||
- /home/vish/docker/whisparr
|
||||
- /home/vish/docker/plex
|
||||
- /home/vish/docker/jellyseerr
|
||||
- /home/vish/data/usenet
|
||||
- /home/vish/data/media
|
||||
- /home/vish/data
|
||||
|
||||
- name: Check if Docker is installed
|
||||
ansible.builtin.command: docker --version
|
||||
register: docker_installed
|
||||
ignore_errors: yes
|
||||
changed_when: false
|
||||
|
||||
- name: Install Docker (if not installed)
|
||||
ansible.builtin.dnf:
|
||||
name: docker-ce
|
||||
state: present
|
||||
when: docker_installed.rc != 0
|
||||
|
||||
- name: Install Python3 and Pip (if missing)
|
||||
ansible.builtin.dnf:
|
||||
name: python3-pip
|
||||
state: present
|
||||
|
||||
- name: Install Docker Python module
|
||||
ansible.builtin.pip:
|
||||
name: docker
|
||||
state: present
|
||||
|
||||
- name: Start Docker service
|
||||
ansible.builtin.service:
|
||||
name: docker
|
||||
state: started
|
||||
enabled: yes
|
||||
|
||||
- name: Deploy Docker network (synobridge)
|
||||
community.docker.docker_network:
|
||||
name: synobridge
|
||||
|
||||
- name: Deploy all containers
|
||||
loop:
|
||||
- { name: "tautulli", image: "linuxserver/tautulli:latest", port: "8181:8181", volume: "/home/vish/docker/tautulli:/config" }
|
||||
- { name: "prowlarr", image: "linuxserver/prowlarr:latest", port: "9696:9696", volume: "/home/vish/docker/prowlarr:/config" }
|
||||
- { name: "flaresolverr", image: "flaresolverr/flaresolverr:latest", port: "8191:8191", volume: "/home/vish/docker/flaresolverr:/config" }
|
||||
- { name: "sabnzbd", image: "linuxserver/sabnzbd:latest", port: "8080:8080", volume: "/home/vish/docker/sabnzbd:/config" }
|
||||
- { name: "sonarr", image: "linuxserver/sonarr:latest", port: "8989:8989", volume: "/home/vish/docker/sonarr:/config" }
|
||||
- { name: "lidarr", image: "linuxserver/lidarr:latest", port: "8686:8686", volume: "/home/vish/docker/lidarr:/config" }
|
||||
- { name: "radarr", image: "linuxserver/radarr:latest", port: "7878:7878", volume: "/home/vish/docker/radarr:/config" }
|
||||
- { name: "readarr", image: "linuxserver/readarr:develop", port: "8787:8787", volume: "/home/vish/docker/readarr:/config" }
|
||||
- { name: "bazarr", image: "linuxserver/bazarr:latest", port: "6767:6767", volume: "/home/vish/docker/bazarr:/config" }
|
||||
- { name: "whisparr", image: "hotio/whisparr:nightly", port: "6969:6969", volume: "/home/vish/docker/whisparr:/config" }
|
||||
- { name: "jellyseerr", image: "fallenbagel/jellyseerr:latest", port: "5055:5055", volume: "/home/vish/docker/jellyseerr:/app/config" }
|
||||
community.docker.docker_container:
|
||||
name: "{{ item.name }}"
|
||||
image: "{{ item.image }}"
|
||||
env:
|
||||
PUID: "1000"
|
||||
PGID: "1000"
|
||||
TZ: "America/Los_Angeles"
|
||||
UMASK: "022"
|
||||
volumes:
|
||||
- "{{ item.volume }}"
|
||||
ports:
|
||||
- "{{ item.port }}"
|
||||
network_mode: synobridge
|
||||
security_opts:
|
||||
- no-new-privileges:true
|
||||
restart_policy: always
|
||||
|
||||
- name: Deploy Plex
|
||||
community.docker.docker_container:
|
||||
name: plex
|
||||
image: linuxserver/plex:latest
|
||||
env:
|
||||
PUID: "1000"
|
||||
PGID: "1000"
|
||||
TZ: "America/Los_Angeles"
|
||||
UMASK: "022"
|
||||
VERSION: "docker"
|
||||
PLEX_CLAIM: ""
|
||||
volumes:
|
||||
- /home/vish/docker/plex:/config
|
||||
- /home/vish/data/media:/data/media
|
||||
devices:
|
||||
- /dev/dri:/dev/dri
|
||||
network_mode: host
|
||||
security_opts:
|
||||
- no-new-privileges:true
|
||||
restart_policy: always
|
||||
|
||||
# =============================================================================
|
||||
# BASIC DISASTER RECOVERY COMMANDS
|
||||
# =============================================================================
|
||||
#
|
||||
# BACKUP:
|
||||
# docker-compose -f deploy_arr_suite_full.yml down
|
||||
# tar -czf backup-tasks-$(date +%Y%m%d).tar.gz [volume-paths]
|
||||
#
|
||||
# RESTORE:
|
||||
# tar -xzf backup-tasks-[date].tar.gz
|
||||
# docker-compose -f deploy_arr_suite_full.yml up -d
|
||||
#
|
||||
# VERIFY:
|
||||
# docker-compose -f deploy_arr_suite_full.yml ps
|
||||
# docker logs tasks
|
||||
#
|
||||
# =============================================================================
|
||||
Reference in New Issue
Block a user