Compare commits
13 Commits
dc67891278
...
master
Author | SHA1 | Date | |
---|---|---|---|
f87ce122b4 | |||
60cf28ad91 | |||
2b9ef8e5ba | |||
600f15ad0d | |||
257ecc6890 | |||
1b2150abe2 | |||
51b708a5cd | |||
c2601b10f1 | |||
20108076a0 | |||
c339ca0fd2 | |||
c3ab086a5c | |||
55f9e0f830 | |||
86cb38d76b |
@@ -17,6 +17,7 @@ steps:
|
|||||||
--extra-vars "cifs_username=$${cifs_username} cifs_password=$${cifs_password}" \
|
--extra-vars "cifs_username=$${cifs_username} cifs_password=$${cifs_password}" \
|
||||||
playbook.yml
|
playbook.yml
|
||||||
environment:
|
environment:
|
||||||
|
ANSIBLE_HOST_KEY_CHECKING: false
|
||||||
cifs_username:
|
cifs_username:
|
||||||
from_secret: cifs_username
|
from_secret: cifs_username
|
||||||
cifs_password:
|
cifs_password:
|
||||||
|
@@ -3,5 +3,6 @@
|
|||||||
remote_user: root
|
remote_user: root
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
roles:
|
roles:
|
||||||
|
- common
|
||||||
- dockerhost
|
- dockerhost
|
||||||
- mediaserver
|
- mediaserver
|
||||||
|
20
roles/common/tasks/main.yml
Normal file
20
roles/common/tasks/main.yml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
- name: Upgrade all packages
|
||||||
|
ansible.builtin.apt:
|
||||||
|
name: "*"
|
||||||
|
state: latest
|
||||||
|
update_cache: yes
|
||||||
|
|
||||||
|
- name: Check if a reboot is needed
|
||||||
|
ansible.builtin.stat:
|
||||||
|
path: /var/run/reboot-required
|
||||||
|
get_checksum: no
|
||||||
|
register: rebootrequired
|
||||||
|
|
||||||
|
- name: Trigger reboot
|
||||||
|
ansible.builtin.reboot:
|
||||||
|
msg: "Reboot initiated by Ansible due to kernel updates"
|
||||||
|
reboot_timeout: 300
|
||||||
|
pre_reboot_delay: 0
|
||||||
|
post_reboot_delay: 30
|
||||||
|
test_command: uptime
|
||||||
|
when: rebootrequired.stat.exists
|
@@ -1,5 +1,5 @@
|
|||||||
- name: Remove undesired packages
|
- name: Remove undesired packages
|
||||||
apt:
|
ansible.builtin.apt:
|
||||||
name:
|
name:
|
||||||
- containerd
|
- containerd
|
||||||
- docker
|
- docker
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
purge: yes
|
purge: yes
|
||||||
|
|
||||||
- name: Install prereqs for custom apt repository over https
|
- name: Install prereqs for custom apt repository over https
|
||||||
apt:
|
ansible.builtin.apt:
|
||||||
update_cache: yes
|
update_cache: yes
|
||||||
name:
|
name:
|
||||||
- apt-transport-https
|
- apt-transport-https
|
||||||
@@ -23,39 +23,22 @@
|
|||||||
state: present
|
state: present
|
||||||
|
|
||||||
- name: Add Docker repo key
|
- name: Add Docker repo key
|
||||||
apt_key:
|
ansible.builtin.apt_key:
|
||||||
url: https://download.docker.com/linux/ubuntu/gpg
|
url: https://download.docker.com/linux/ubuntu/gpg
|
||||||
id: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88
|
id: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
- name: Determine Ubuntu distribution name
|
- name: Determine Ubuntu distribution name
|
||||||
command: lsb_release -cs
|
ansible.builtin.command: lsb_release -cs
|
||||||
register: releasename
|
register: releasename
|
||||||
|
|
||||||
- name: Add Docker apt repository
|
- name: Add Docker apt repository
|
||||||
apt_repository:
|
ansible.builtin.apt_repository:
|
||||||
repo: deb [arch=amd64] https://download.docker.com/linux/ubuntu {{ releasename.stdout }} stable
|
repo: deb [arch=amd64] https://download.docker.com/linux/ubuntu {{ releasename.stdout }} stable
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
# # Pinning versions due to odd DNS issue in 20.x
|
|
||||||
# - name: Pin Docker engine to specific version
|
|
||||||
# copy:
|
|
||||||
# dest: "{{ item.dest }}"
|
|
||||||
# content: "{{ item.content }}"
|
|
||||||
# with_items:
|
|
||||||
# - dest: /etc/apt/preferences.d/docker-ce
|
|
||||||
# content: |
|
|
||||||
# Package: docker-ce
|
|
||||||
# Pin: version 5:19.03.13~3-0~ubuntu-focal
|
|
||||||
# Pin-Priority: 1001
|
|
||||||
# - dest: /etc/apt/preferences.d/docker-ce-cli
|
|
||||||
# content: |
|
|
||||||
# Package: docker-ce-cli
|
|
||||||
# Pin: version 5:19.03.13~3-0~ubuntu-focal
|
|
||||||
# Pin-Priority: 1001
|
|
||||||
|
|
||||||
- name: Install Docker engine
|
- name: Install Docker engine
|
||||||
apt:
|
ansible.builtin.apt:
|
||||||
update_cache: yes
|
update_cache: yes
|
||||||
allow_unauthenticated: yes
|
allow_unauthenticated: yes
|
||||||
name:
|
name:
|
||||||
@@ -70,12 +53,12 @@
|
|||||||
state: latest
|
state: latest
|
||||||
|
|
||||||
- name: Install Docker Compose
|
- name: Install Docker Compose
|
||||||
get_url:
|
ansible.builtin.get_url:
|
||||||
url: https://github.com/docker/compose/releases/download/1.27.4/docker-compose-Linux-x86_64
|
url: https://github.com/docker/compose/releases/download/1.27.4/docker-compose-Linux-x86_64
|
||||||
dest: /usr/local/bin/docker-compose
|
dest: /usr/local/bin/docker-compose
|
||||||
mode: '0755'
|
mode: '0755'
|
||||||
|
|
||||||
- name: Add Docker Compose to path
|
- name: Add Docker Compose to path
|
||||||
command: ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
|
ansible.builtin.command: ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
|
||||||
args:
|
args:
|
||||||
creates: /usr/bin/docker-compose
|
creates: /usr/bin/docker-compose
|
||||||
|
@@ -1,3 +1,20 @@
|
|||||||
|
- name: Get current running containers
|
||||||
|
community.docker.docker_host_info:
|
||||||
|
containers: yes
|
||||||
|
register: docker_info
|
||||||
|
|
||||||
|
- name: Stop/Remove all current containers
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ item }}"
|
||||||
|
state: absent
|
||||||
|
loop: "{{ docker_info.containers | map(attribute='Id') | list }}"
|
||||||
|
|
||||||
|
- name: Prune everything
|
||||||
|
community.docker.docker_prune:
|
||||||
|
containers: yes
|
||||||
|
images: yes
|
||||||
|
volumes: yes
|
||||||
|
|
||||||
- name: Create Docker volumes
|
- name: Create Docker volumes
|
||||||
community.docker.docker_volume:
|
community.docker.docker_volume:
|
||||||
name: "{{ item.name }}"
|
name: "{{ item.name }}"
|
||||||
@@ -7,16 +24,10 @@
|
|||||||
o: "username={{ cifs_username }},password={{ cifs_password }},domain=bessems.eu,file_mode=0777,dir_mode=0777,iocharset=utf8"
|
o: "username={{ cifs_username }},password={{ cifs_password }},domain=bessems.eu,file_mode=0777,dir_mode=0777,iocharset=utf8"
|
||||||
device: "//192.168.11.225/{{ item.path }}"
|
device: "//192.168.11.225/{{ item.path }}"
|
||||||
loop:
|
loop:
|
||||||
- name: cifs_books
|
|
||||||
path: Public/Boeken
|
|
||||||
- name: cifs_photos
|
|
||||||
path: Public/Foto's
|
|
||||||
- name: cifs_videos-series
|
- name: cifs_videos-series
|
||||||
path: Public/Video's/Series
|
path: Public/Video's/Series
|
||||||
- name: cifs_videos-films
|
- name: cifs_videos-films
|
||||||
path: Public/Video's/Films
|
path: Public/Video's/Films
|
||||||
- name: cifs_songs
|
|
||||||
path: Public/Audio/DeSchakel
|
|
||||||
|
|
||||||
- name: Start Plex container
|
- name: Start Plex container
|
||||||
community.docker.docker_container:
|
community.docker.docker_container:
|
||||||
@@ -25,10 +36,17 @@
|
|||||||
network_mode: host
|
network_mode: host
|
||||||
env:
|
env:
|
||||||
VERSION: latest
|
VERSION: latest
|
||||||
|
# PLEX_CLAIM: <expired>
|
||||||
|
devices:
|
||||||
|
# - /dev/dri/card1:/dev/dri/card0
|
||||||
|
# - /dev/dri/renderD129:/dev/dri/renderD128
|
||||||
|
- /dev/dri/card0:/dev/dri/card0
|
||||||
|
- /dev/dri/renderD128:/dev/dri/renderD128
|
||||||
volumes:
|
volumes:
|
||||||
- /root/containers/pvr/plex/config:/config
|
- /root/containers/pvr/plex/config:/config
|
||||||
- cifs_books:/data/books
|
|
||||||
- cifs_photos:/data/photos
|
|
||||||
- cifs_videos-films:/data/movies
|
- cifs_videos-films:/data/movies
|
||||||
- cifs_videos-series:/data/series
|
- cifs_videos-series:/data/series
|
||||||
- cifs_songs:/data/songs
|
state: started
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
recreate: yes
|
||||||
|
keep_volumes: no
|
||||||
|
Reference in New Issue
Block a user