2023-12-22 21:39:39 +00:00
|
|
|
---
|
|
|
|
# deploy a media server from scratch.
|
|
|
|
|
|
|
|
# boot strap server
|
|
|
|
|
|
|
|
- name: Update apt
|
|
|
|
apt: update_cache=yes
|
|
|
|
|
|
|
|
- name: Init a new swarm with default parameters
|
|
|
|
community.general.docker_swarm:
|
|
|
|
state: present
|
|
|
|
|
2023-12-23 05:58:50 +00:00
|
|
|
# set up abjure specific bullshit.
|
2023-12-22 21:39:39 +00:00
|
|
|
- name: ensure traefik config directory exists
|
|
|
|
file: state=directory path=/home/josiah/apps/traefik/ owner=josiah group=josiah mode=0700
|
|
|
|
|
2023-12-23 05:58:50 +00:00
|
|
|
- name: ensure abjure config directory exists
|
|
|
|
file: state=directory path=/home/josiah/apps/abjure/ owner=josiah group=josiah mode=0700
|
2023-12-22 21:39:39 +00:00
|
|
|
|
|
|
|
- name: ensure traefik.log exists
|
|
|
|
file: state=file path=/home/josiah/apps/traefik/traefik.log owner=josiah group=josiah mode=0700
|
|
|
|
|
|
|
|
- name: Create deploy configs dir if it does not exist
|
|
|
|
file:
|
2023-12-23 05:58:50 +00:00
|
|
|
path: /home/josiah/deploys/abjure
|
2023-12-22 21:39:39 +00:00
|
|
|
state: directory
|
|
|
|
mode: '0755'
|
|
|
|
|
2023-12-23 05:58:50 +00:00
|
|
|
- name: copy over abjure config files
|
2023-12-22 21:39:39 +00:00
|
|
|
template:
|
|
|
|
src: "{{ item.src }}"
|
|
|
|
dest: "{{ item.dest }}"
|
|
|
|
mode: 0777
|
|
|
|
with_items:
|
2023-12-23 05:58:50 +00:00
|
|
|
- {src: 'abjure-compose.yml', dest: '/home/josiah/apps/abjure/abjure-compose.yml'}
|
2023-12-22 21:39:39 +00:00
|
|
|
- {src: 'traefik.yml.j2', dest: '/home/josiah/apps/traefik/traefik.yml'}
|
|
|
|
|
|
|
|
- name: Ensure acme.json exists
|
2023-12-23 05:58:50 +00:00
|
|
|
ansible.builtin.copy:
|
2023-12-22 21:39:39 +00:00
|
|
|
content: ""
|
|
|
|
dest: /home/josiah/apps/traefik/acme.json
|
|
|
|
force: no
|
|
|
|
owner: root
|
|
|
|
group: root
|
|
|
|
mode: '0600'
|
|
|
|
|
2023-12-23 05:58:50 +00:00
|
|
|
- name: Remove the abjure stack
|
2023-12-22 21:39:39 +00:00
|
|
|
block:
|
2023-12-23 05:58:50 +00:00
|
|
|
- name: Remove the abjure stack
|
2023-12-22 21:39:39 +00:00
|
|
|
docker_stack:
|
|
|
|
state: absent
|
2023-12-23 05:58:50 +00:00
|
|
|
name: abjure
|
2023-12-22 21:39:39 +00:00
|
|
|
compose:
|
2023-12-23 05:58:50 +00:00
|
|
|
- /home/josiah/apps/abjure/abjure-compose.yml
|
2023-12-22 21:39:39 +00:00
|
|
|
- name: Pause so the network gets deleted too
|
|
|
|
pause:
|
|
|
|
seconds: 15
|
|
|
|
|
2023-12-23 05:58:50 +00:00
|
|
|
- name: Deploy abjure stack
|
2023-12-22 21:39:39 +00:00
|
|
|
docker_stack:
|
|
|
|
state: present
|
2023-12-23 05:58:50 +00:00
|
|
|
name: abjure
|
2023-12-22 21:39:39 +00:00
|
|
|
prune: yes
|
|
|
|
compose:
|
2023-12-23 22:39:36 +00:00
|
|
|
- /home/josiah/apps/abjure/abjure-compose.yml
|
|
|
|
|
|
|
|
- name: Install Plex compose file
|
|
|
|
template:
|
|
|
|
src: plex-compose.yml.j2
|
|
|
|
dest: "/home/josiah/apps/plex/plex-compose.yml"
|
|
|
|
owner: "josiah"
|
|
|
|
group: "josiah"
|
|
|
|
mode: "0640"
|
|
|
|
|
|
|
|
- name: Deploy Plex with docker-compose
|
|
|
|
docker_compose:
|
|
|
|
project_src: "/home/josiah/apps/plex/"
|
|
|
|
project_name: plex
|
|
|
|
files:
|
|
|
|
- plex-compose.yml
|