Start using roles
This commit is contained in:
parent
54fa8e9a03
commit
24a3b5fdec
@ -1,2 +1,3 @@
|
|||||||
[defaults]
|
[defaults]
|
||||||
inventory = hosts.yml
|
inventory = hosts.yml
|
||||||
|
roles_path = ./roles
|
||||||
|
@ -21,14 +21,14 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
## Keep configs, scrapers, and plugins here.
|
## Keep configs, scrapers, and plugins here.
|
||||||
- ${STASH_DOCKER_FOLDER}/config:/root/.stash
|
- /home/docker/stash/config:/root/.stash
|
||||||
## Point this at your collection.
|
## Point this at your collection.
|
||||||
- /home/docker/xrandr:/data
|
- /home/docker/xrandr:/data
|
||||||
## This is where your stash's metadata lives
|
## This is where your stash's metadata lives
|
||||||
- ${STASH_DOCKER_FOLDER}/metadata:/metadata
|
- /home/docker/stash/metadata:/metadata
|
||||||
## Any other cache content
|
## Any other cache content
|
||||||
- ${STASH_DOCKER_FOLDER}/cache:/cache
|
- /home/docker/stash/cache:/cache
|
||||||
## Where to store binary blob data (scene covers, images)
|
## Where to store binary blob data (scene covers, images)
|
||||||
- ${STASH_DOCKER_FOLDER}/blobs:/blobs
|
- /home/docker/stash/blobs:/blobs
|
||||||
## Where to store generated content (screenshots,previews,transcodes,sprites)
|
## Where to store generated content (screenshots,previews,transcodes,sprites)
|
||||||
- ${STASH_DOCKER_FOLDER}/generated:/generated
|
- /home/docker/stash/generated:/generated
|
@ -1 +1,8 @@
|
|||||||
ansible_become_pass: Cinnamonbun89$
|
ansible_become_pass: Cinnamonbun89$
|
||||||
|
project_root: "{{ inventory_dir }}"
|
||||||
|
# Local paths
|
||||||
|
docker_stacks: "{{ project_root }}/docker"
|
||||||
|
assets: "{{ project_root }}/assets"
|
||||||
|
# Remote paths
|
||||||
|
remote_stacks: "/home/javi/docker"
|
||||||
|
remote_app_mounts: "/home/docker"
|
||||||
|
@ -9,6 +9,8 @@ all:
|
|||||||
ansible_host: 10.89.0.11
|
ansible_host: 10.89.0.11
|
||||||
node3:
|
node3:
|
||||||
ansible_host: 10.89.0.12
|
ansible_host: 10.89.0.12
|
||||||
|
nas:
|
||||||
|
ansible_host: 10.89.0.15
|
||||||
virtual_machines:
|
virtual_machines:
|
||||||
hosts:
|
hosts:
|
||||||
portainer_main:
|
portainer_main:
|
||||||
|
16
makerole.sh
16
makerole.sh
@ -1 +1,17 @@
|
|||||||
ROLE="$1"
|
ROLE="$1"
|
||||||
|
FULLPATH="./roles/$ROLE"
|
||||||
|
|
||||||
|
function makepart() {
|
||||||
|
mkdir -p "$FULLPATH/$1"
|
||||||
|
touch "$FULLPATH/$1/main.yml"
|
||||||
|
}
|
||||||
|
|
||||||
|
makepart "defaults"
|
||||||
|
makepart "tasks"
|
||||||
|
# The below are optional
|
||||||
|
# mkdir -p "$FULLPATH/files"
|
||||||
|
# touch "$FULLPATH/files/.gitkeep"
|
||||||
|
# makepart "handlers"
|
||||||
|
# makepart "meta"
|
||||||
|
# makepart "templates"
|
||||||
|
# makepart "vars"
|
||||||
|
13
playbooks/apps/stash.yml
Normal file
13
playbooks/apps/stash.yml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
---
|
||||||
|
- name: Deploy stash
|
||||||
|
hosts: streaming_services
|
||||||
|
roles:
|
||||||
|
- role: mount_nfs
|
||||||
|
vars:
|
||||||
|
share: "/mnt/main/xrandr"
|
||||||
|
mount_path: "/home/docker/xrandr"
|
||||||
|
- role: deploy_docker_stack
|
||||||
|
vars:
|
||||||
|
stack_name: stash
|
||||||
|
apps:
|
||||||
|
- stash
|
2
roles/deploy_docker_stack/defaults/main.yml
Normal file
2
roles/deploy_docker_stack/defaults/main.yml
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
apps: []
|
||||||
|
stack_name: "willneverexist"
|
27
roles/deploy_docker_stack/tasks/main.yml
Normal file
27
roles/deploy_docker_stack/tasks/main.yml
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
---
|
||||||
|
- name: Create app mount directories
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "{{ remote_app_mounts }}/{{ item }}"
|
||||||
|
state: directory
|
||||||
|
mode: '0777'
|
||||||
|
loop: "{{ apps }}"
|
||||||
|
|
||||||
|
- name: Create stack directory
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "{{ remote_stacks }}/{{ stack_name }}"
|
||||||
|
state: directory
|
||||||
|
mode: '0777'
|
||||||
|
|
||||||
|
- name: Copy docker-compose.yml to server
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: '{{ docker_stacks }}/{{ stack_name }}/docker-compose.yml'
|
||||||
|
dest: '{{ remote_stacks }}/{{ stack_name }}/docker-compose.yml'
|
||||||
|
owner: javi
|
||||||
|
group: javi
|
||||||
|
mode: '0777'
|
||||||
|
|
||||||
|
- name: Start up the containers
|
||||||
|
ansible.builtin.command: docker compose up -d
|
||||||
|
become: true
|
||||||
|
args:
|
||||||
|
chdir: "{{ remote_stacks }}/{{ stack_name }}"
|
3
roles/mount_nfs/defaults/main.yml
Normal file
3
roles/mount_nfs/defaults/main.yml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
mount_host: "{{ hostvars['nas'].ansible_host }}"
|
||||||
|
share: "/mnt/main/media"
|
||||||
|
mount_path: "/mnt/unspecifiedshare"
|
21
roles/mount_nfs/tasks/main.yml
Normal file
21
roles/mount_nfs/tasks/main.yml
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
---
|
||||||
|
- name: Ensure NFS client is installed
|
||||||
|
ansible.builtin.package:
|
||||||
|
name: nfs-common
|
||||||
|
state: present
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: Create mount point directory
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "{{ mount_path }}"
|
||||||
|
state: directory
|
||||||
|
mode: '0777'
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: Mount share
|
||||||
|
ansible.posix.mount:
|
||||||
|
src: "{{ mount_host }}:{{ share }}"
|
||||||
|
path: "{{ mount_path }}"
|
||||||
|
fstype: nfs
|
||||||
|
state: mounted
|
||||||
|
become: true
|
Loading…
x
Reference in New Issue
Block a user