Merge pull request 'dev/project-and-knowledge-tracking' (#2) from dev/project-and-knowledge-tracking into main
Reviewed-on: #2
This commit is contained in:
commit
4ef29933fb
17
playbook.yml
17
playbook.yml
|
|
@ -30,11 +30,18 @@
|
||||||
hosts: controller
|
hosts: controller
|
||||||
become: true
|
become: true
|
||||||
roles:
|
roles:
|
||||||
- base_os
|
- name: base_os
|
||||||
- firewall_base
|
tags: base_os
|
||||||
- container_runtime
|
- name: firewall_base
|
||||||
- adguard
|
tags: firewall_base
|
||||||
- caddy
|
- name: container_runtime
|
||||||
|
tags: container_runtime
|
||||||
|
- name: adguard
|
||||||
|
tags: adguard
|
||||||
|
- name: trilium
|
||||||
|
tags: trilium
|
||||||
|
- name: caddy
|
||||||
|
tags: caddy
|
||||||
|
|
||||||
- name: Workstation Setup
|
- name: Workstation Setup
|
||||||
hosts: workstation
|
hosts: workstation
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,7 @@
|
||||||
src: AdGuardHome.yaml.j2
|
src: AdGuardHome.yaml.j2
|
||||||
dest: "{{ stack_root }}/adguard/conf/AdGuardHome.yaml"
|
dest: "{{ stack_root }}/adguard/conf/AdGuardHome.yaml"
|
||||||
mode: '0600'
|
mode: '0600'
|
||||||
|
force: "{{ adguard_overwrite_config | default(false) | bool }}"
|
||||||
|
|
||||||
- name: Deploy AdGuard Quadlet
|
- name: Deploy AdGuard Quadlet
|
||||||
template:
|
template:
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# Adguard
|
# Adguard
|
||||||
{{ adguard_domain }} {
|
{{ adguard_domain }} {
|
||||||
tls internal
|
tls internal
|
||||||
reverse_proxy {{ adguad_upstream }}
|
reverse_proxy {{ adguard_upstream }}
|
||||||
}
|
}
|
||||||
|
|
||||||
# QBittorrent
|
# QBittorrent
|
||||||
|
|
@ -32,4 +32,10 @@
|
||||||
{{ bazarr_domain }} {
|
{{ bazarr_domain }} {
|
||||||
tls internal
|
tls internal
|
||||||
reverse_proxy {{ bazarr_upstream }}
|
reverse_proxy {{ bazarr_upstream }}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#Trilium
|
||||||
|
{{ trilium_domain }} {
|
||||||
|
tls internal
|
||||||
|
reverse_proxy {{ trilium_upstream }}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ After=homelab-network.service
|
||||||
[Container]
|
[Container]
|
||||||
Image=docker.io/caddy:latest
|
Image=docker.io/caddy:latest
|
||||||
ContainerName=caddy
|
ContainerName=caddy
|
||||||
Network=homelab
|
Network=homelab.network
|
||||||
|
|
||||||
Volume={{ caddy_dir }}/Caddyfile:/etc/caddy/Caddyfile
|
Volume={{ caddy_dir }}/Caddyfile:/etc/caddy/Caddyfile
|
||||||
Volume={{ caddy_dir }}/data:/data
|
Volume={{ caddy_dir }}/data:/data
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
---
|
||||||
|
# trilium/tasks/firewall.yml
|
||||||
|
- name: Open Trilium firewall ports
|
||||||
|
firewalld:
|
||||||
|
port: "{{ item.port }}"
|
||||||
|
permanent: true
|
||||||
|
state: enabled
|
||||||
|
immediate: true
|
||||||
|
loop: "{{ trilium_firewall_rules }}"
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
---
|
||||||
|
# trilium/tasks/main.yml
|
||||||
|
- import_tasks: firewall.yml
|
||||||
|
|
||||||
|
- name: Create stack and config directories
|
||||||
|
file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
owner: "{{ container_user }}"
|
||||||
|
group: "{{ container_group }}"
|
||||||
|
mode: "0755"
|
||||||
|
recurse: yes
|
||||||
|
loop: "{{ trilium_base_directories }}"
|
||||||
|
|
||||||
|
- name: Directory SELinux requirement
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
selinux_container_paths: "{{ trilium_base_directories }}"
|
||||||
|
|
||||||
|
- import_role:
|
||||||
|
name: selinux_containers
|
||||||
|
tasks_from: labels
|
||||||
|
|
||||||
|
- name: Deploy Trilium Quadlet
|
||||||
|
template:
|
||||||
|
src: trilium.container.j2
|
||||||
|
dest: "{{ container_config_dir }}/trilium.container"
|
||||||
|
owner: "{{ container_user }}"
|
||||||
|
group: "{{ container_group }}"
|
||||||
|
mode: "0644"
|
||||||
|
|
||||||
|
- name: Force systemd reload
|
||||||
|
become: true
|
||||||
|
become_user: "{{ container_user }}"
|
||||||
|
environment:
|
||||||
|
XDG_RUNTIME_DIR: "{{ container_runtime_dir }}"
|
||||||
|
command: systemctl --user daemon-reload
|
||||||
|
|
||||||
|
- name: Wait for quadlet generation
|
||||||
|
pause:
|
||||||
|
seconds: 1
|
||||||
|
|
||||||
|
- name: Start and enable Trilium service
|
||||||
|
become: true
|
||||||
|
become_user: "{{ container_user }}"
|
||||||
|
environment:
|
||||||
|
XDG_RUNTIME_DIR: "{{ container_runtime_dir }}"
|
||||||
|
systemd:
|
||||||
|
name: trilium.service
|
||||||
|
scope: user
|
||||||
|
state: started
|
||||||
|
enabled: true
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Trilium Notes
|
||||||
|
After=network-online.target homelab-network.service
|
||||||
|
Requires=homelab-network.service
|
||||||
|
|
||||||
|
[Container]
|
||||||
|
ContainerName=trilium
|
||||||
|
Image=docker.io/triliumnext/notes:latest
|
||||||
|
Volume={{ trilium_data_dir }}:/home/node/trilium-data:Z
|
||||||
|
Network=homelab.network
|
||||||
|
NetworkAlias=trilium
|
||||||
|
IP={{ trilium_ip }}
|
||||||
|
Environment=TZ={{ timezone }}
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Restart=always
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target default.target
|
||||||
Loading…
Reference in New Issue