Compare commits
15 Commits
ef623fe442
...
master
Author | SHA1 | Date | |
---|---|---|---|
f87ce122b4 | |||
60cf28ad91 | |||
2b9ef8e5ba | |||
600f15ad0d | |||
257ecc6890 | |||
1b2150abe2 | |||
51b708a5cd | |||
c2601b10f1 | |||
20108076a0 | |||
c339ca0fd2 | |||
c3ab086a5c | |||
55f9e0f830 | |||
86cb38d76b | |||
dc67891278 | |||
1fb2d375c0 |
@@ -17,6 +17,7 @@ steps:
|
||||
--extra-vars "cifs_username=$${cifs_username} cifs_password=$${cifs_password}" \
|
||||
playbook.yml
|
||||
environment:
|
||||
ANSIBLE_HOST_KEY_CHECKING: false
|
||||
cifs_username:
|
||||
from_secret: cifs_username
|
||||
cifs_password:
|
||||
|
@@ -3,5 +3,6 @@
|
||||
remote_user: root
|
||||
gather_facts: false
|
||||
roles:
|
||||
- common
|
||||
- dockerhost
|
||||
- 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
|
||||
apt:
|
||||
ansible.builtin.apt:
|
||||
name:
|
||||
- containerd
|
||||
- docker
|
||||
@@ -12,7 +12,7 @@
|
||||
purge: yes
|
||||
|
||||
- name: Install prereqs for custom apt repository over https
|
||||
apt:
|
||||
ansible.builtin.apt:
|
||||
update_cache: yes
|
||||
name:
|
||||
- apt-transport-https
|
||||
@@ -23,39 +23,22 @@
|
||||
state: present
|
||||
|
||||
- name: Add Docker repo key
|
||||
apt_key:
|
||||
ansible.builtin.apt_key:
|
||||
url: https://download.docker.com/linux/ubuntu/gpg
|
||||
id: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88
|
||||
state: present
|
||||
|
||||
- name: Determine Ubuntu distribution name
|
||||
command: lsb_release -cs
|
||||
ansible.builtin.command: lsb_release -cs
|
||||
register: releasename
|
||||
|
||||
- name: Add Docker apt repository
|
||||
apt_repository:
|
||||
ansible.builtin.apt_repository:
|
||||
repo: deb [arch=amd64] https://download.docker.com/linux/ubuntu {{ releasename.stdout }} stable
|
||||
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
|
||||
apt:
|
||||
ansible.builtin.apt:
|
||||
update_cache: yes
|
||||
allow_unauthenticated: yes
|
||||
name:
|
||||
@@ -70,12 +53,12 @@
|
||||
state: latest
|
||||
|
||||
- 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
|
||||
dest: /usr/local/bin/docker-compose
|
||||
mode: '0755'
|
||||
|
||||
- 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:
|
||||
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
|
||||
community.docker.docker_volume:
|
||||
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"
|
||||
device: "//192.168.11.225/{{ item.path }}"
|
||||
loop:
|
||||
- name: cifs_books
|
||||
path: Public/Boeken
|
||||
- name: cifs_photos
|
||||
path: Public/Foto's
|
||||
- name: cifs_videos-series
|
||||
path: Public/Video's/Series
|
||||
- name: cifs_videos-films
|
||||
path: Public/Video's/Films
|
||||
- name: cifs_songs
|
||||
path: Public/Audio/DeSchakel
|
||||
|
||||
- name: Start Plex container
|
||||
community.docker.docker_container:
|
||||
@@ -25,12 +36,17 @@
|
||||
network_mode: host
|
||||
env:
|
||||
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:
|
||||
- /root/containers/pvr/plex/config:/config
|
||||
- cifs_photos:/data/photos
|
||||
- cifs_videos-films:/data/movies
|
||||
- cifs_videos-series:/data/series
|
||||
register: output
|
||||
|
||||
- ansible.builtin.debug:
|
||||
var: output
|
||||
state: started
|
||||
restart_policy: unless-stopped
|
||||
recreate: yes
|
||||
keep_volumes: no
|
||||
|
Reference in New Issue
Block a user