Files
as205079-automation/ansible/webserver.yaml
2025-12-02 16:23:26 +01:00

68 lines
1.8 KiB
YAML

- name: "Vhost setup"
hosts: webservers
become: true
vars_files:
- ./config/{{ inventory_hostname }}.yaml
- ./config/common.yaml
tasks:
- name: "Ensure ssl cert directory exists"
ansible.builtin.file:
path: /etc/ssl/certificates
state: directory
owner: root
group: root
mode: '0751'
- name: "Copy over certificates"
ansible.builtin.copy:
src: data/certificates/{{ item }}
dest: /etc/ssl/certificates
owner: root
group: root
mode: '0640'
loop:
- as205079.net.crt
- as205079.net.key
- name: "Create directories"
ansible.builtin.file:
path: "{{ item.root }}"
owner: www-data
group: www-data
mode: '0751'
state: directory
loop: "{{ nginx_vhosts | default([]) }}"
when: item.enabled | default(true) and item.root is defined
- name: "Create splash site"
ansible.builtin.copy:
dest: "/var/www/as205079-default/index.html"
content: |-
<h1>No website exists at this address.</h1>
<hr>
<p>Hosted on <a href="https://as205079.net">as205079<a/></p>
mode: '0640'
owner: www-data
group: www-data
- name: "Create as205079 site"
ansible.builtin.copy:
dest: "/var/www/as205079.net/index.html"
content: |-
<h1>Hello, world!</h1>
<hr>
<p>as205079 is a experimental ipv6-only network by <a href="https://mziesel.nl">Mans Ziesel</a></p>
mode: '0640'
owner: www-data
group: www-data
- name: "Webserver setup"
hosts: webservers
vars_files:
- ./config/{{ inventory_hostname }}.yaml
- ./config/common.yaml
become: true
roles:
# - base
- nginx