cachyos compatibility
Some checks failed
Ansible Lint Check / check-ansible (push) Failing after 48s
Nix Format Check / check-format (push) Failing after 1m49s
Python Lint Check / check-python (push) Failing after 33s

This commit is contained in:
2025-07-18 10:13:33 +02:00
parent fe80046042
commit 085d037f77
46 changed files with 478 additions and 407 deletions

View File

@@ -1,12 +1,17 @@
---
- name: Server setup
block:
- name: Ensure server common packages are installed
- name: Ensure openssh-server is installed on Arch-based systems
ansible.builtin.package:
name:
- openssh-server
name: openssh
state: present
become: true
when: ansible_pkg_mgr == 'pacman'
- name: Ensure openssh-server is installed on non-Arch systems
ansible.builtin.package:
name: openssh-server
state: present
when: ansible_pkg_mgr != 'pacman'
- name: Include JuiceFS tasks
ansible.builtin.include_tasks: juicefs.yml
@@ -27,7 +32,7 @@
enabled: true
hosts:
- mennos-cloud-server
- mennos-server
- mennos-cachyos-desktop
- name: karakeep
enabled: true
hosts:
@@ -48,7 +53,7 @@
enabled: true
hosts:
- mennos-cloud-server
- mennos-server
- mennos-cachyos-desktop
- name: seafile
enabled: true
hosts:
@@ -72,7 +77,7 @@
- name: downloaders
enabled: true
hosts:
- mennos-server
- mennos-cachyos-desktop
- name: wireguard
enabled: true
hosts:
@@ -81,7 +86,7 @@
enabled: true
hosts:
- mennos-cloud-server
- mennos-server
- mennos-cachyos-desktop
- name: arr-stack
enabled: false
hosts:
@@ -89,11 +94,11 @@
- name: home-assistant
enabled: true
hosts:
- mennos-server
- mennos-cachyos-desktop
- name: privatebin
enabled: true
hosts:
- mennos-server
- mennos-cachyos-desktop
- name: unifi-network-application
enabled: true
hosts:

View File

@@ -100,7 +100,7 @@ df.mvl.sh {
overseerr.mvl.sh jellyseerr.mvl.sh overseerr.vleeuwen.me jellyseerr.vleeuwen.me {
import country_block
reverse_proxy mennos-server:5555
reverse_proxy mennos-cachyos-desktop:5555
tls {{ caddy_email }}
}
@@ -115,28 +115,7 @@ fladder.mvl.sh {
reverse_proxy fladder:80
tls {{ caddy_email }}
}
ip.mvl.sh {
import country_block
reverse_proxy echoip:8080 {
header_up X-Real-IP {http.request.remote.host}
header_up X-Forwarded-For {http.request.remote.host}
header_up X-Forwarded-Proto {scheme}
header_up X-Forwarded-Host {host}
}
tls {{ caddy_email }}
}
http://ip.mvl.sh {
import country_block
reverse_proxy echoip:8080 {
header_up X-Real-IP {http.request.remote.host}
header_up X-Forwarded-For {http.request.remote.host}
header_up X-Forwarded-Proto {scheme}
header_up X-Forwarded-Host {host}
}
}
{% elif inventory_hostname == 'mennos-server' %}
{% elif inventory_hostname == 'mennos-cachyos-desktop' %}
home.vleeuwen.me {
import country_block
reverse_proxy host.docker.internal:8123 {
@@ -158,4 +137,25 @@ jellyfin.mvl.sh jellyfin.vleeuwen.me {
reverse_proxy jellyfin:8096
tls {{ caddy_email }}
}
ip.mvl.sh ip.vleeuwen.me {
import country_block
reverse_proxy echoip:8080 {
header_up X-Real-IP {http.request.remote.host}
header_up X-Forwarded-For {http.request.remote.host}
header_up X-Forwarded-Proto {scheme}
header_up X-Forwarded-Host {host}
}
tls {{ caddy_email }}
}
http://ip.mvl.sh http://ip.vleeuwen.me {
import country_block
reverse_proxy echoip:8080 {
header_up X-Real-IP {http.request.remote.host}
header_up X-Forwarded-For {http.request.remote.host}
header_up X-Forwarded-Proto {scheme}
header_up X-Forwarded-Host {host}
}
}
{% endif %}

View File

@@ -4,8 +4,8 @@
- name: Set Caddy directories
ansible.builtin.set_fact:
caddy_service_dir: "{{ ansible_env.HOME }}/services/caddy"
caddy_data_dir: "{{ '/mnt/services/caddy' if inventory_hostname == 'mennos-server' else '/mnt/object_storage/services/caddy' }}"
geoip_db_path: "{{ '/mnt/services/echoip' if inventory_hostname == 'mennos-server' else '/mnt/object_storage/services/echoip' }}"
caddy_data_dir: "{{ '/mnt/services/caddy' if inventory_hostname == 'mennos-cachyos-desktop' else '/mnt/object_storage/services/caddy' }}"
geoip_db_path: "{{ '/mnt/services/echoip' if inventory_hostname == 'mennos-cachyos-desktop' else '/mnt/object_storage/services/echoip' }}"
caddy_email: "{{ lookup('community.general.onepassword', 'Caddy (Proxy)', vault='Dotfiles', field='email') }}"
- name: Create Caddy directory

View File

@@ -4,7 +4,7 @@
- name: Set EchoIP directories
ansible.builtin.set_fact:
echoip_service_dir: "{{ ansible_env.HOME }}/services/echoip"
echoip_data_dir: "{{ '/mnt/services/echoip' if inventory_hostname == 'mennos-server' else '/mnt/object_storage/services/echoip' }}"
echoip_data_dir: "{{ '/mnt/services/echoip' if inventory_hostname == 'mennos-cachyos-desktop' else '/mnt/object_storage/services/echoip' }}"
maxmind_account_id: "{{ lookup('community.general.onepassword', 'MaxMind',
vault='Dotfiles', field='account_id') | regex_replace('\\s+', '') }}"
maxmind_license_key: "{{ lookup('community.general.onepassword', 'MaxMind',

View File

@@ -6,15 +6,11 @@ services:
- PUID=1000
- PGID=100
- TZ=Europe/Amsterdam
- JELLYFIN_PublishedServerUrl=https://jellyfin.mvl.sh
{% if inventory_hostname == 'mennos-server' %}
- NVIDIA_VISIBLE_DEVICES=all
{% endif %}
volumes:
- {{ jellyfin_data_dir }}/jellyfin-config:/config
- {{ '/mnt/data/movies' if inventory_hostname == 'mennos-server' else '/mnt/object_storage/movies' }}:/movies
- {{ '/mnt/data/tvshows' if inventory_hostname == 'mennos-server' else '/mnt/object_storage/tvshows' }}:/tvshows
- {{ '/mnt/data/music' if inventory_hostname == 'mennos-server' else '/mnt/object_storage/music' }}:/music
- {{ '/mnt/data/movies' if inventory_hostname == 'mennos-cachyos-desktop' else '/mnt/object_storage/movies' }}:/movies
- {{ '/mnt/data/tvshows' if inventory_hostname == 'mennos-cachyos-desktop' else '/mnt/object_storage/tvshows' }}:/tvshows
- {{ '/mnt/data/music' if inventory_hostname == 'mennos-cachyos-desktop' else '/mnt/object_storage/music' }}:/music
ports:
- 8096:8096
- 8920:8920
@@ -26,17 +22,6 @@ services:
- "44"
networks:
- caddy_network
{% if inventory_hostname == 'mennos-server' %}
runtime: nvidia
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
{% endif %}
fladder:
image: ghcr.io/donutware/fladder:latest

View File

@@ -3,7 +3,7 @@
block:
- name: Set Jellyfin directories
ansible.builtin.set_fact:
jellyfin_data_dir: "{{ '/mnt/services/jellyfin' if inventory_hostname == 'mennos-server' else '/mnt/object_storage/services/jellyfin' }}"
jellyfin_data_dir: "{{ '/mnt/services/jellyfin' if inventory_hostname == 'mennos-cachyos-desktop' else '/mnt/object_storage/services/jellyfin' }}"
jellyfin_service_dir: "{{ ansible_env.HOME }}/services/jellyfin"
- name: Create Jellyfin directories