2022-03-28 16:32:55 +02:00
|
|
|
---
|
2024-04-09 20:21:59 +02:00
|
|
|
|
2024-04-09 21:17:25 +02:00
|
|
|
- name: Deploy letsencrypt certificate
|
|
|
|
ansible.builtin.include_role:
|
|
|
|
name: add_cert
|
|
|
|
vars:
|
|
|
|
add_cert_domain: "{{ tunuifranken_domain }}"
|
|
|
|
add_cert_email: "{{ tunuifranken_server_admin }}"
|
|
|
|
add_cert_post_hook: systemctl restart apache2
|
|
|
|
|
2024-04-07 13:51:31 +02:00
|
|
|
- name: Install needed packages
|
|
|
|
become: true
|
|
|
|
ansible.builtin.apt:
|
|
|
|
name:
|
|
|
|
- git
|
|
|
|
- acl # for become_user: forgejo
|
|
|
|
state: present
|
2024-03-08 09:59:23 +01:00
|
|
|
|
2024-04-07 13:51:31 +02:00
|
|
|
- name: Create tunuifranken group
|
|
|
|
become: true
|
|
|
|
ansible.builtin.group:
|
|
|
|
name: tunuifranken
|
|
|
|
system: true
|
|
|
|
|
|
|
|
- name: Create tunuifranken user
|
|
|
|
become: true
|
|
|
|
ansible.builtin.user:
|
|
|
|
name: tunuifranken
|
|
|
|
group: tunuifranken
|
|
|
|
create_home: true
|
|
|
|
home: /var/lib/tunuifranken
|
|
|
|
shell: /bin/false
|
|
|
|
system: true
|
|
|
|
|
2022-08-28 21:47:38 +02:00
|
|
|
- name: Create tunuifranken directory
|
|
|
|
become: true
|
2022-12-16 20:12:49 +01:00
|
|
|
ansible.builtin.file:
|
2023-12-04 11:31:24 +01:00
|
|
|
path: "/var/www/{{ tunuifranken_domain }}"
|
2024-04-07 13:51:31 +02:00
|
|
|
owner: tunuifranken
|
|
|
|
group: tunuifranken
|
2022-08-28 21:47:38 +02:00
|
|
|
state: directory
|
|
|
|
mode: 0775
|
|
|
|
|
|
|
|
- name: Copy vHost conf
|
|
|
|
become: true
|
2022-12-16 20:12:49 +01:00
|
|
|
ansible.builtin.template:
|
2023-12-04 11:31:24 +01:00
|
|
|
src: apache2/vhost.conf.j2
|
|
|
|
dest: "/etc/apache2/sites-available/{{ tunuifranken_domain }}.conf"
|
2022-08-28 21:47:38 +02:00
|
|
|
mode: 0644
|
|
|
|
notify: Reload apache2 service
|
|
|
|
|
|
|
|
- name: Activate vHost
|
|
|
|
become: true
|
2023-12-04 11:31:24 +01:00
|
|
|
ansible.builtin.command: "a2ensite {{ tunuifranken_domain }}.conf"
|
2022-08-28 21:47:38 +02:00
|
|
|
register: result
|
|
|
|
changed_when: "'already enabled' not in result.stdout"
|
|
|
|
notify: Reload apache2 service
|
|
|
|
|
2023-01-19 10:40:55 +01:00
|
|
|
- name: Create .ssh dir
|
2024-04-07 13:51:31 +02:00
|
|
|
become: true
|
|
|
|
become_user: tunuifranken
|
2023-01-19 10:40:55 +01:00
|
|
|
ansible.builtin.file:
|
|
|
|
path: ~/.ssh
|
2024-04-07 13:51:31 +02:00
|
|
|
state: directory
|
|
|
|
owner: tunuifranken
|
|
|
|
group: tunuifranken
|
2023-01-19 10:40:55 +01:00
|
|
|
mode: 0700
|
|
|
|
|
|
|
|
- name: Add SSH public key
|
2024-04-07 13:51:31 +02:00
|
|
|
become: true
|
|
|
|
become_user: tunuifranken
|
2023-01-19 10:40:55 +01:00
|
|
|
ansible.builtin.copy:
|
2023-12-04 11:31:24 +01:00
|
|
|
content: "{{ tunuifranken_ssh_keys.pub }}"
|
2023-01-19 10:40:55 +01:00
|
|
|
dest: ~/.ssh/id_rsa.pub
|
2024-04-07 13:51:31 +02:00
|
|
|
owner: tunuifranken
|
|
|
|
group: tunuifranken
|
2023-01-19 10:40:55 +01:00
|
|
|
mode: 0644
|
|
|
|
|
|
|
|
- name: Add SSH private key
|
2024-04-07 13:51:31 +02:00
|
|
|
become: true
|
|
|
|
become_user: tunuifranken
|
2023-01-19 10:40:55 +01:00
|
|
|
ansible.builtin.copy:
|
2023-12-04 11:31:24 +01:00
|
|
|
content: "{{ tunuifranken_ssh_keys.priv }}"
|
2023-01-19 10:40:55 +01:00
|
|
|
dest: ~/.ssh/id_rsa
|
2024-04-07 13:51:31 +02:00
|
|
|
owner: tunuifranken
|
|
|
|
group: tunuifranken
|
2023-01-19 10:40:55 +01:00
|
|
|
mode: 0600
|
|
|
|
|
2022-03-28 16:32:55 +02:00
|
|
|
- name: Clone tunuifranken.info repo
|
2024-04-07 13:51:31 +02:00
|
|
|
become: true
|
|
|
|
become_user: tunuifranken
|
2022-12-16 20:12:49 +01:00
|
|
|
ansible.builtin.git:
|
2022-03-28 16:32:55 +02:00
|
|
|
repo: git@tunuifranken.info:flyingscorpio/tunuifranken.info.git
|
2023-12-04 11:31:24 +01:00
|
|
|
dest: "/var/www/{{ tunuifranken_domain }}"
|
2022-06-25 14:48:38 +02:00
|
|
|
clone: true
|
2022-03-28 16:32:55 +02:00
|
|
|
version: main
|
2022-06-25 14:48:38 +02:00
|
|
|
update: false
|
2023-01-20 16:34:19 +01:00
|
|
|
accept_newhostkey: true
|
2024-04-07 14:29:08 +02:00
|
|
|
notify: Reload apache2 service
|
2024-07-06 20:41:24 +02:00
|
|
|
|
|
|
|
- name: Allow incoming https
|
|
|
|
become: true
|
|
|
|
ansible.builtin.copy:
|
|
|
|
src: nftables/input.d/https.conf
|
|
|
|
dest: /etc/nftables/input.d/https.conf
|
|
|
|
mode: 0640
|
|
|
|
notify: Reload nftables service
|