Compare commits

...

3 Commits

Author SHA1 Message Date
drew 4ef29933fb Merge pull request 'dev/project-and-knowledge-tracking' (#2) from dev/project-and-knowledge-tracking into main
Reviewed-on: #2
2026-05-24 16:16:21 +00:00
drew 8fc4310fe5 Missed a change 2026-05-24 12:13:15 -04:00
drew c44fa40be4 Implement Trilium 2026-05-24 12:12:36 -04:00
7 changed files with 101 additions and 8 deletions

View File

@ -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

View File

@ -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:

View File

@ -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 }}
}

View File

@ -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

View File

@ -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 }}"

View File

@ -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

View File

@ -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