diff --git a/roles/setup_docker/.travis.yml b/roles/setup_docker/.travis.yml deleted file mode 100644 index 36bbf62..0000000 --- a/roles/setup_docker/.travis.yml +++ /dev/null @@ -1,29 +0,0 @@ ---- -language: python -python: "2.7" - -# Use the new container infrastructure -sudo: false - -# Install ansible -addons: - apt: - packages: - - python-pip - -install: - # Install ansible - - pip install ansible - - # Check ansible version - - ansible --version - - # Create ansible.cfg with correct roles_path - - printf '[defaults]\nroles_path=../' >ansible.cfg - -script: - # Basic role syntax check - - ansible-playbook tests/test.yml -i tests/inventory --syntax-check - -notifications: - webhooks: https://galaxy.ansible.com/api/v1/notifications/ \ No newline at end of file diff --git a/roles/setup_docker/.yamllint b/roles/setup_docker/.yamllint deleted file mode 100644 index 8827676..0000000 --- a/roles/setup_docker/.yamllint +++ /dev/null @@ -1,33 +0,0 @@ ---- -# Based on ansible-lint config -extends: default - -rules: - braces: - max-spaces-inside: 1 - level: error - brackets: - max-spaces-inside: 1 - level: error - colons: - max-spaces-after: -1 - level: error - commas: - max-spaces-after: -1 - level: error - comments: disable - comments-indentation: disable - document-start: disable - empty-lines: - max: 3 - level: error - hyphens: - level: error - indentation: disable - key-duplicates: enable - line-length: disable - new-line-at-end-of-file: disable - new-lines: - type: unix - trailing-spaces: disable - truthy: disable diff --git a/roles/setup_docker/README.md b/roles/setup_docker/README.md deleted file mode 100644 index 225dd44..0000000 --- a/roles/setup_docker/README.md +++ /dev/null @@ -1,38 +0,0 @@ -Role Name -========= - -A brief description of the role goes here. - -Requirements ------------- - -Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required. - -Role Variables --------------- - -A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well. - -Dependencies ------------- - -A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles. - -Example Playbook ----------------- - -Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too: - - - hosts: servers - roles: - - { role: username.rolename, x: 42 } - -License -------- - -BSD - -Author Information ------------------- - -An optional section for the role authors to include contact information, or a website (HTML is not allowed). diff --git a/roles/setup_docker/defaults/main.yml b/roles/setup_docker/defaults/main.yml deleted file mode 100644 index ed97d53..0000000 --- a/roles/setup_docker/defaults/main.yml +++ /dev/null @@ -1 +0,0 @@ ---- diff --git a/roles/setup_docker/handlers/main.yml b/roles/setup_docker/handlers/main.yml deleted file mode 100644 index e5dcba1..0000000 --- a/roles/setup_docker/handlers/main.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -# handlers file for setup_docker diff --git a/roles/setup_docker/molecule/default/converge.yml b/roles/setup_docker/molecule/default/converge.yml deleted file mode 100644 index 973e0bc..0000000 --- a/roles/setup_docker/molecule/default/converge.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Converge - hosts: all - tasks: - - name: "Include chatton.setup_docker" - include_role: - name: "chatton.setup_docker" diff --git a/roles/setup_docker/molecule/default/molecule.yml b/roles/setup_docker/molecule/default/molecule.yml deleted file mode 100644 index cd02bf9..0000000 --- a/roles/setup_docker/molecule/default/molecule.yml +++ /dev/null @@ -1,29 +0,0 @@ ---- -dependency: - name: galaxy -driver: - name: docker -platforms: - - name: instance - image: geerlingguy/docker-debian10-ansible:latest - privileged: true - pre_build_image: true -provisioner: - name: ansible -verifier: - name: ansible -scenario: - test_sequence: -# - dependency -# - lint -# - cleanup - - destroy - - syntax - - create -# - prepare - - converge - - idempotence -# - side_effect - - verify -# - cleanup - - destroy diff --git a/roles/setup_docker/molecule/default/verify.yml b/roles/setup_docker/molecule/default/verify.yml deleted file mode 100644 index e707420..0000000 --- a/roles/setup_docker/molecule/default/verify.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -# This is an example playbook to execute Ansible tests. - -- name: Verify - hosts: all - gather_facts: false - tasks: - - name: Example assertion - ansible.builtin.assert: - that: true diff --git a/roles/setup_docker/tasks/main.yml b/roles/setup_docker/tasks/main.yml index d1c8db5..c25b7d2 100644 --- a/roles/setup_docker/tasks/main.yml +++ b/roles/setup_docker/tasks/main.yml @@ -42,4 +42,4 @@ - name: Ensure docker is started service: name: docker - state: started \ No newline at end of file + state: started diff --git a/roles/setup_docker/tests/inventory b/roles/setup_docker/tests/inventory deleted file mode 100644 index 878877b..0000000 --- a/roles/setup_docker/tests/inventory +++ /dev/null @@ -1,2 +0,0 @@ -localhost - diff --git a/roles/setup_docker/tests/test.yml b/roles/setup_docker/tests/test.yml deleted file mode 100644 index 63f8b63..0000000 --- a/roles/setup_docker/tests/test.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -- hosts: localhost - remote_user: root - roles: - - setup_docker diff --git a/roles/setup_docker/vars/main.yml b/roles/setup_docker/vars/main.yml deleted file mode 100644 index 2a2b962..0000000 --- a/roles/setup_docker/vars/main.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -# vars file for setup_docker diff --git a/roles/setup_hosted_services/defaults/main.yml b/roles/setup_hosted_services/defaults/main.yml index f4370b1..f33e567 100644 --- a/roles/setup_hosted_services/defaults/main.yml +++ b/roles/setup_hosted_services/defaults/main.yml @@ -1,5 +1,4 @@ --- -docker_compose_directory: /etc/docker-compose services: - name: gitea - name: mealie @@ -15,14 +14,31 @@ services: - name: mariadb - name: photoprism +# any additional docker networks that should be created docker_networks: - mariadb_net +qnap: + # path on qnap where downloads go + downloads_dir: /mnt/ssd0/downloads + # path on qnap where plex transcoding happens + transcoding_dir: /mnt/ssd0/transcoding + # path on qnap where movies are stored + movies_dir: /mnt/test/media/movies + # path on qnap where tv shows are stored + tv_dir: /mnt/test/media/tv + # path on qnap where docker compose files are stored + docker_compose_directory: /etc/docker-compose + # path on qnap where backups are stored + backups_dir: /mnt/test/backups + +# dashy related config dashy: destination_dir: /etc/config/dashy destination_file: dashy-config.yml source_file: dashboards/dashy-config.yml +# olivetin related config olivetin: destination_dir: /etc/config/olivetin destination_file: config.yml diff --git a/roles/setup_hosted_services/tasks/main.yml b/roles/setup_hosted_services/tasks/main.yml index c3efa1f..b6974bf 100644 --- a/roles/setup_hosted_services/tasks/main.yml +++ b/roles/setup_hosted_services/tasks/main.yml @@ -12,7 +12,7 @@ - name: Docker Compose | Create a directory if it does not exist file: - path: "{{docker_compose_directory}}/{{item.name}}" + path: "{{qnap.docker_compose_directory}}/{{item.name}}" state: directory mode: '0755' with_items: "{{services}}" @@ -20,7 +20,7 @@ - name: Docker Compose | Template Docker Compose Files template: src: "{{item.name}}.j2" - dest: "{{docker_compose_directory}}/{{item.name}}/docker-compose.yml" + dest: "{{qnap.docker_compose_directory}}/{{item.name}}/docker-compose.yml" with_items: "{{services}}" @@ -64,7 +64,7 @@ environment: EXISTING_VOLUMES: "{{ find_volumes.results | map(attribute='stdout_lines') | list | flatten }}" SERVICES: "{{ services }}" - DOCKER_COMPOSE_DIR: "{{docker_compose_directory}}" + DOCKER_COMPOSE_DIR: "{{qnap.docker_compose_directory}}" args: executable: python3 register: python_output @@ -100,7 +100,7 @@ portainer: username: admin password: "{{portainer.password}}" - docker_compose_file_path: "{{docker_compose_directory}}/{{ item.name }}/docker-compose.yml" - env_file_path: "{{docker_compose_directory}}/{{ item.name }}/stack.env" + docker_compose_file_path: "{{qnap.docker_compose_directory}}/{{ item.name }}/docker-compose.yml" + env_file_path: "{{qnap.docker_compose_directory}}/{{ item.name }}/stack.env" stack_name: "{{ item.name }}" with_items: "{{services}}" diff --git a/roles/setup_hosted_services/templates/docker-volume-backup.j2 b/roles/setup_hosted_services/templates/docker-volume-backup.j2 index 3cddc80..3f3d1b2 100644 --- a/roles/setup_hosted_services/templates/docker-volume-backup.j2 +++ b/roles/setup_hosted_services/templates/docker-volume-backup.j2 @@ -25,5 +25,5 @@ services: volumes: - /var/run/docker.sock:/var/run/docker.sock - - /mnt/hdds/backups:/backups + - {{qnap.backups_dir}}:/backups - /tmp:/tmp diff --git a/roles/setup_hosted_services/templates/plex.j2 b/roles/setup_hosted_services/templates/plex.j2 index 747e09b..60a75c2 100644 --- a/roles/setup_hosted_services/templates/plex.j2 +++ b/roles/setup_hosted_services/templates/plex.j2 @@ -15,9 +15,9 @@ services: - VERSION=docker volumes: - config:/config - - /mnt/hdds/media/tv:/tv - - /mnt/hdds/media/movies:/movies - - /mnt/ssd0/transcoding:/transcoding + - {{ qnap.tv_dir }}:/tv + - {{ qnap.movies_dir }}:/movies + - {{ qnap.transcoding_dir }}:/transcoding restart: unless-stopped devices: - /dev/dri:/dev/dri diff --git a/roles/setup_hosted_services/templates/vpn-stack.j2 b/roles/setup_hosted_services/templates/vpn-stack.j2 index 78502dc..90aad9c 100644 --- a/roles/setup_hosted_services/templates/vpn-stack.j2 +++ b/roles/setup_hosted_services/templates/vpn-stack.j2 @@ -46,8 +46,8 @@ services: - TZ=Europe/London - WEBUI_PORT=15000 volumes: - - "qbittorrent_config:/config" - - "/mnt/ssd0/downloads:/downloads" + - qbittorrent_config:/config + - {{ qnap.downloads_dir }}:/downloads restart: unless-stopped radarr: @@ -63,9 +63,9 @@ services: - PGID=1000 - TZ=Europe/London volumes: - - "radarr_config:/config" - - "/mnt/hdds/media/movies:/movies" - - "/mnt/ssd0/downloads:/downloads" + - radarr_config:/config + - {{ qnap.movies_dir }}:/movies + - {{ qnap.downloads_dir }}:/downloads restart: unless-stopped sonarr: @@ -81,9 +81,9 @@ services: - PGID=1000 - TZ=Europe/London volumes: - - "sonarr_config:/config" - - "/mnt/hdds/media/tv:/tv" - - "/mnt/ssd0/downloads:/downloads" + - sonarr_config:/config + - {{ qnap.tv_dir }}:/tv + - {{ qnap.downloads_dir }}:/downloads restart: unless-stopped jackett: @@ -100,8 +100,8 @@ services: - TZ=Europe/London - AUTO_UPDATE=true volumes: - - "jackett_config:/config" - - "/mnt/ssd0/downloads:/downloads" + - jackett_config:/config + - {{ qnap.downloads_dir }}:/downloads restart: unless-stopped volumes: