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!
pms-docker
josiah 5 months ago
parent 2a1b82bfa9
commit fb408d0f2f

@ -10,61 +10,57 @@
community.general.docker_swarm: community.general.docker_swarm:
state: present state: present
# set up mediaserver specific bullshit. # set up abjure specific bullshit.
- name: ensure traefik config directory exists - name: ensure traefik config directory exists
file: state=directory path=/home/josiah/apps/traefik/ owner=josiah group=josiah mode=0700 file: state=directory path=/home/josiah/apps/traefik/ owner=josiah group=josiah mode=0700
- name: ensure mediaserver config directory exists - name: ensure abjure config directory exists
file: state=directory path=/home/josiah/apps/mediaserver/ owner=josiah group=josiah mode=0700 file: state=directory path=/home/josiah/apps/abjure/ owner=josiah group=josiah mode=0700
- name: ensure traefik.log exists - name: ensure traefik.log exists
file: state=file path=/home/josiah/apps/traefik/traefik.log owner=josiah group=josiah mode=0700 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 - name: Create deploy configs dir if it does not exist
file: file:
path: /home/josiah/deploys/mediaserver path: /home/josiah/deploys/abjure
state: directory state: directory
mode: '0755' mode: '0755'
- name: copy over mediaserver config files - name: copy over abjure config files
template: template:
src: "{{ item.src }}" src: "{{ item.src }}"
dest: "{{ item.dest }}" dest: "{{ item.dest }}"
mode: 0777 mode: 0777
with_items: 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'} - {src: 'traefik.yml.j2', dest: '/home/josiah/apps/traefik/traefik.yml'}
- name: Ensure acme.json exists - name: Ensure acme.json exists
copy: ansible.builtin.copy:
content: "" content: ""
dest: /home/josiah/apps/traefik/acme.json dest: /home/josiah/apps/traefik/acme.json
force: no force: no
owner: root owner: root
group: root group: root
state: file
mode: '0600' mode: '0600'
- name: Remove the mediaserver stack - name: Remove the abjure stack
block: block:
- name: Remove the mediaserver stack - name: Remove the abjure stack
docker_stack: docker_stack:
state: absent state: absent
name: mediaserver name: abjure
compose: compose:
- /home/josiah/apps/mediaserver/mediaserver-compose.yml - /home/josiah/apps/abjure/abjure-compose.yml
- name: Pause so the network gets deleted too - name: Pause so the network gets deleted too
pause: pause:
seconds: 15 seconds: 15
- name: Deploy mediaserver stack - name: Deploy abjure stack
docker_stack: docker_stack:
state: present state: present
name: mediaserver name: abjure
prune: yes prune: yes
compose: compose:
- /home/josiah/apps/mediaserver/mediaserver-compose.yml - /home/josiah/apps/abjure/abjure-compose.yml

@ -11,6 +11,14 @@ services:
- 80:80/tcp - 80:80/tcp
- 443:443/tcp - 443:443/tcp
- 8080:8080/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: volumes:
- /home/josiah/apps/traefik/acme.json:/acme.json - /home/josiah/apps/traefik/acme.json:/acme.json
- traefik_logs:/var/log/access.log - traefik_logs:/var/log/access.log
@ -88,6 +96,33 @@ services:
networks: networks:
- pubnet - 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: volumes:
traefik_acme: traefik_acme:

@ -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' ]

Loading…
Cancel
Save