From fb408d0f2f85ad95db7e97001b8c820266bd194f Mon Sep 17 00:00:00 2001 From: josiah Date: Fri, 22 Dec 2023 23:58:50 -0600 Subject: [PATCH] Rename files, WIP pms deploy. - Trying to manage ports via TRaefik, not sure if this will work. - Added packages to be deployed; nfs common is what you need to mount - nfs shares! --- ansible/roles/abjure/tasks/main.yml | 34 ++++++++---------- ...aserver-compose.yml => abjure-compose.yml} | 35 +++++++++++++++++++ ansible/roles/abjure/vars/main.yml | 2 +- 3 files changed, 51 insertions(+), 20 deletions(-) rename ansible/roles/abjure/templates/{mediaserver-compose.yml => abjure-compose.yml} (70%) diff --git a/ansible/roles/abjure/tasks/main.yml b/ansible/roles/abjure/tasks/main.yml index 74c3f4d..28bfe13 100644 --- a/ansible/roles/abjure/tasks/main.yml +++ b/ansible/roles/abjure/tasks/main.yml @@ -10,61 +10,57 @@ community.general.docker_swarm: state: present -# set up mediaserver specific bullshit. +# set up abjure specific bullshit. - name: ensure traefik config directory exists file: state=directory path=/home/josiah/apps/traefik/ owner=josiah group=josiah mode=0700 -- name: ensure mediaserver config directory exists - file: state=directory path=/home/josiah/apps/mediaserver/ owner=josiah group=josiah mode=0700 +- name: ensure abjure config directory exists + file: state=directory path=/home/josiah/apps/abjure/ owner=josiah group=josiah mode=0700 - name: ensure traefik.log exists file: state=file path=/home/josiah/apps/traefik/traefik.log owner=josiah group=josiah mode=0700 -- name: allow for pretty json errors - pip: - name: jsondiff - - name: Create deploy configs dir if it does not exist file: - path: /home/josiah/deploys/mediaserver + path: /home/josiah/deploys/abjure state: directory mode: '0755' -- name: copy over mediaserver config files +- name: copy over abjure config files template: src: "{{ item.src }}" dest: "{{ item.dest }}" mode: 0777 with_items: - - {src: 'mediaserver-compose.yml', dest: '/home/josiah/apps/mediaserver/mediaserver-compose.yml'} + - {src: 'abjure-compose.yml', dest: '/home/josiah/apps/abjure/abjure-compose.yml'} + - {src: 'pms-compose.yml', dest: '/home/josiah/apps/pms/pms-compose.yml'} - {src: 'traefik.yml.j2', dest: '/home/josiah/apps/traefik/traefik.yml'} - name: Ensure acme.json exists - copy: + ansible.builtin.copy: content: "" dest: /home/josiah/apps/traefik/acme.json force: no owner: root group: root - state: file mode: '0600' -- name: Remove the mediaserver stack +- name: Remove the abjure stack block: - - name: Remove the mediaserver stack + - name: Remove the abjure stack docker_stack: state: absent - name: mediaserver + name: abjure compose: - - /home/josiah/apps/mediaserver/mediaserver-compose.yml + - /home/josiah/apps/abjure/abjure-compose.yml - name: Pause so the network gets deleted too pause: seconds: 15 -- name: Deploy mediaserver stack +- name: Deploy abjure stack docker_stack: state: present - name: mediaserver + name: abjure prune: yes compose: - - /home/josiah/apps/mediaserver/mediaserver-compose.yml + - /home/josiah/apps/abjure/abjure-compose.yml \ No newline at end of file diff --git a/ansible/roles/abjure/templates/mediaserver-compose.yml b/ansible/roles/abjure/templates/abjure-compose.yml similarity index 70% rename from ansible/roles/abjure/templates/mediaserver-compose.yml rename to ansible/roles/abjure/templates/abjure-compose.yml index e8cc284..f3edf05 100644 --- a/ansible/roles/abjure/templates/mediaserver-compose.yml +++ b/ansible/roles/abjure/templates/abjure-compose.yml @@ -11,6 +11,14 @@ services: - 80:80/tcp - 443:443/tcp - 8080:8080/tcp + - 32400:32400/tcp + - 8324:8324/tcp + - 32469:32469/tcp + - 1900:1900/udp + - 32410:32410/udp + - 32412:32412/udp + - 32413:32413/udp + - 32414:32414/udp volumes: - /home/josiah/apps/traefik/acme.json:/acme.json - traefik_logs:/var/log/access.log @@ -88,6 +96,33 @@ services: networks: - pubnet + plex: + image: plexinc/pms-docker + environment: + - TZ=America/Chicago + - PLEX_CLAIM="{{ vault_pms_claim_token }}" + - ADVERTISE_IP=http://192.168.1.120:32400/ + hostname: lair + volumes: + - /home/josiah/apps/pms/config:/config + - /home/josiah/apps/pms/transcode:/transcode + - /media/usenet:/data + labels: + - "traefik.enable=true" + - "traefik.http.services.mediaserver-pms.loadbalancer.server.port=32400" + - "traefik.http.services.mediaserver-pms.loadbalancer.server.port=8324" + - "traefik.http.services.mediaserver-pms.loadbalancer.server.port=32469" + - "traefik.http.services.mediaserver-pms.loadbalancer.server.port=1900" + - "traefik.http.services.mediaserver-pms.loadbalancer.server.port=32410" + - "traefik.http.services.mediaserver-pms.loadbalancer.server.port=32412" + - "traefik.http.services.mediaserver-pms.loadbalancer.server.port=32413" + - "traefik.http.services.mediaserver-pms.loadbalancer.server.port=32414" + - "traefik.http.routers.mediaserver-pms.service=mediaserver-pms" + - "traefik.http.routers.mediaserver-pms.rule=Host(`pms.services.jowj.net`)" + - "traefik.http.routers.mediaserver-pms.tls.certResolver=mediaserver-resolver" + - "traefik.http.routers.mediaserver-pms.tls=true" + networks: + - pubnet volumes: traefik_acme: diff --git a/ansible/roles/abjure/vars/main.yml b/ansible/roles/abjure/vars/main.yml index ef86eef..71ca1a3 100644 --- a/ansible/roles/abjure/vars/main.yml +++ b/ansible/roles/abjure/vars/main.yml @@ -1 +1 @@ -sys_packages: [ 'curl', 'vim', 'git', 'emacs', 'build-essential', 'mosh', 'python', 'python3-pip' ] +sys_packages: [ 'curl', 'vim', 'git', 'emacs', 'build-essential', 'mosh', 'python', 'python3-pip', 'nfs-common' ]