Initial commit
Some checks failed
continuous-integration/drone Build is failing

This commit is contained in:
Danny Bessems 2021-07-13 22:04:25 +02:00
commit 98db1a8d77
6 changed files with 170 additions and 0 deletions

41
.drone.yml Normal file
View File

@ -0,0 +1,41 @@
kind: pipeline
type: kubernetes
name: mediaserver
steps:
- name: Check syntax
image: plugins/ansible:1
environment:
cifs_username:
from_secret: cifs_username
cifs_password:
from_secret: cifs_password
settings:
playbook: playbook.yml
inventory: inventory.yml
galaxy: requirements.yml
syntax_check: true
- name: Apply playbook
image: plugins/ansible:1
environment:
cifs_username:
from_secret: cifs_username
cifs_password:
from_secret: cifs_password
volumes:
- name: certificates
path: /certificates
settings:
playbook: playbook.yml
inventory: inventory.yml
galaxy: requirements.yml
private_key:
from_secret: ssh_privatekey
# vault_password:
# from_secret: ansible_vault_password
volumes:
- name: certificates
claim:
name: flexvolsmb-drone-certs

6
inventory.yml Normal file
View File

@ -0,0 +1,6 @@
all:
children:
mediaserver:
hosts:
bv11-pvr:
ansible_host: bv11-pvr.bessems.lan

7
playbook.yml Normal file
View File

@ -0,0 +1,7 @@
---
- hosts: mediaserver
remote_user: root
gather_facts: false
roles:
- dockerhost
- mediaserver

2
requirements.yml Normal file
View File

@ -0,0 +1,2 @@
collections:
- community.docker

View File

@ -0,0 +1,77 @@
- name: Remove undesired packages
apt:
name:
- containerd
- docker
- docker-engine
- docker.io
- runc
- snapd
state: absent
autoremove: yes
purge: yes
- name: Install prereqs for custom apt repository over https
apt:
update_cache: yes
name:
- apt-transport-https
- ca-certificates
- curl
- gnupg-agent
- software-properties-common
state: present
- name: Add Docker repo key
apt_key:
url: https://download.docker.com/linux/ubuntu/gpg
id: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88
state: present
- name: Determine Ubuntu distribution name
command: lsb_release -cs
register: releasename
- name: Add Docker apt repository
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:
update_cache: yes
allow_unauthenticated: yes
name:
# - docker-ce=5:19.03.13~3-0~ubuntu-focal
# - docker-ce-cli=5:19.03.13~3-0~ubuntu-focal
- docker-ce
- docker-ce-cli
- containerd.io
- name: Install Docker Compose
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
args:
creates: /usr/bin/docker-compose

View File

@ -0,0 +1,37 @@
- name: Create Docker volumes
community.docker.docker_volume:
name: "{{ item.name }}"
driver: local
driver_options:
type: cifs
o: "username=<removed>,password=<removed>,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:
name: Plex
image: linuxserver/plex
network_mode: host
env:
VERSION: latest
volumes:
- /root/containers/pvr/plex/config:/config
- cifs_photos:/data/photos
- cifs_video-films:/data/movies
- cifs_video-series:/data/series
command: sleep 1d
register: output
- ansible.builtin.debug:
var: output