infrastructure/ansible/roles/slides/tasks/main.yml
Jake Howard 82451784a8
All checks were successful
/ terraform (push) Successful in 50s
/ ansible (push) Successful in 1m49s
Deploy slides hosting
2024-03-03 21:39:22 +00:00

48 lines
1.2 KiB
YAML

- name: Include vault
include_vars: vault.yml
- name: Create install directory
file:
path: /opt/slides
state: directory
owner: "{{ docker_user.name }}"
mode: "{{ docker_compose_directory_mask }}"
become: true
- name: Install compose file
template:
src: files/docker-compose.yml
dest: /opt/slides/docker-compose.yml
mode: "{{ docker_compose_file_mask }}"
owner: "{{ docker_user.name }}"
validate: docker-compose -f %s config
notify: restart slides
become: true
- name: Create credentials
htpasswd:
path: /opt/slides/htpasswd
name: "{{ item.user }}"
password: "{{ item.password }}"
owner: "{{ docker_user.name }}"
mode: "0600"
loop: "{{ webdav_credentials }}"
loop_control:
label: "{{ item.user }}"
notify: restart slides
become: true
- name: Install nginx config
template:
src: files/nginx-docker.conf
dest: /etc/nginx/http.d/slides.conf
mode: "0644"
notify: reload nginx
become: true
vars:
server_name: slides.jakehoward.tech
upstream: slides-slides-1.docker:80
ssl_cert_path: /etc/letsencrypt/live/slides.jakehoward.tech
location_extra: |
client_max_body_size 15m;