feat: track homepage configurations via gitops
Production GitOps Engine / execute-ansible (push) Failing after 51s
Details
Production GitOps Engine / execute-ansible (push) Failing after 51s
Details
This commit is contained in:
parent
e81e53bfec
commit
3b4f2728d1
|
|
@ -0,0 +1,94 @@
|
||||||
|
/* --- Root Containers & Background Pattern --- */
|
||||||
|
html, body, #__next, main {
|
||||||
|
background-color: #050510 !important;
|
||||||
|
background-image:
|
||||||
|
linear-gradient(rgba(0, 243, 255, 0.03) 1px, transparent 1px),
|
||||||
|
linear-gradient(90deg, rgba(0, 243, 255, 0.03) 1px, transparent 1px) !important;
|
||||||
|
background-size: 30px 30px !important;
|
||||||
|
color: #e0eaff !important;
|
||||||
|
font-family: 'Consolas', 'Monaco', monospace !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Force Card Backgrounds and Preflight Border Bypass --- */
|
||||||
|
.group {
|
||||||
|
background-color: rgba(10, 5, 20, 0.85) !important;
|
||||||
|
border-style: solid !important;
|
||||||
|
border-width: 1px !important;
|
||||||
|
border-color: #4d0099 !important;
|
||||||
|
border-left-width: 4px !important;
|
||||||
|
border-left-color: #b026ff !important;
|
||||||
|
box-shadow: 0 0 10px rgba(176, 38, 255, 0.3), inset 0 0 15px rgba(176, 38, 255, 0.1) !important;
|
||||||
|
backdrop-filter: blur(5px) !important;
|
||||||
|
border-radius: 4px !important;
|
||||||
|
transition: all 0.2s ease !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.group:hover {
|
||||||
|
background-color: rgba(15, 10, 35, 0.95) !important;
|
||||||
|
border-color: #00f3ff !important;
|
||||||
|
border-left-color: #00f3ff !important;
|
||||||
|
box-shadow: 0 0 20px rgba(0, 243, 255, 0.6), inset 0 0 10px rgba(0, 243, 255, 0.2) !important;
|
||||||
|
transform: translateY(-2px) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Correct Category Header Colors (Cyan) --- */
|
||||||
|
h2 {
|
||||||
|
color: #00f3ff !important;
|
||||||
|
text-shadow: 0 0 8px rgba(0, 243, 255, 0.5) !important;
|
||||||
|
text-transform: uppercase !important;
|
||||||
|
letter-spacing: 3px !important;
|
||||||
|
font-weight: 900 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Correct Service Title Colors --- */
|
||||||
|
.group .truncate, .group div.font-medium, .group .text-sm.font-medium {
|
||||||
|
color: #e0eaff !important;
|
||||||
|
text-transform: uppercase !important;
|
||||||
|
letter-spacing: 2px !important;
|
||||||
|
text-shadow: 0 0 4px rgba(224, 234, 255, 0.3) !important;
|
||||||
|
transition: all 0.2s ease !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Service Title Hover Colors (Cyan) --- */
|
||||||
|
.group:hover .truncate, .group:hover div.font-medium, .group:hover .text-sm.font-medium {
|
||||||
|
color: #00f3ff !important;
|
||||||
|
text-shadow: 0 0 8px rgba(0, 243, 255, 0.6) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Subtitles, API Stats, and Descriptions --- */
|
||||||
|
.text-xs, p {
|
||||||
|
color: #b026ff !important;
|
||||||
|
font-family: 'Consolas', 'Monaco', monospace !important;
|
||||||
|
text-transform: uppercase !important;
|
||||||
|
letter-spacing: 1px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Ping & Metric Highlights --- */
|
||||||
|
.text-green-500, .dark\:text-green-500 {
|
||||||
|
color: #00f3ff !important;
|
||||||
|
text-shadow: 0 0 6px rgba(0, 243, 255, 0.6) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-red-500, .dark\:text-red-500 {
|
||||||
|
color: #ff003c !important;
|
||||||
|
text-shadow: 0 0 6px rgba(255, 0, 60, 0.6) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Icons --- */
|
||||||
|
.group img, .group svg {
|
||||||
|
filter: drop-shadow(0 0 6px rgba(176, 38, 255, 0.7)) !important;
|
||||||
|
transition: all 0.2s ease !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.group:hover img, .group:hover svg {
|
||||||
|
filter: drop-shadow(0 0 8px rgba(0, 243, 255, 0.9)) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --- Top Resource Bar --- */
|
||||||
|
header {
|
||||||
|
border-bottom-style: dashed !important;
|
||||||
|
border-bottom-width: 1px !important;
|
||||||
|
border-bottom-color: #b026ff !important;
|
||||||
|
padding-bottom: 1rem !important;
|
||||||
|
box-shadow: 0 4px 10px -4px rgba(176, 38, 255, 0.3) !important;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,112 @@
|
||||||
|
---
|
||||||
|
- Media Stack:
|
||||||
|
- Jellyfin:
|
||||||
|
icon: jellyfin.png
|
||||||
|
href: http://jellyfin.kotori-waifu
|
||||||
|
description: Media Server
|
||||||
|
ping: http://10.0.10.68:8096
|
||||||
|
widget:
|
||||||
|
type: jellyfin
|
||||||
|
url: http://10.0.10.68:8096
|
||||||
|
key: d2c89d58582848ee8060b7c8efb3f737
|
||||||
|
|
||||||
|
- Jellyseerr:
|
||||||
|
icon: jellyseerr.png
|
||||||
|
href: http://jellyseer.kotori-waifu
|
||||||
|
description: Media Requests
|
||||||
|
ping: http://10.0.10.68:5055
|
||||||
|
widget:
|
||||||
|
type: jellyseerr
|
||||||
|
url: http://10.0.10.68:5055
|
||||||
|
key: MTc2NjM1MjE3MzMxMmI2MDAzZWE2LTA5NzgtNGM1MC1hNzhiLTZkN2Q2Nzk5OTBmMA==
|
||||||
|
|
||||||
|
- Komga:
|
||||||
|
icon: komga.png
|
||||||
|
href: http://goon.kotori-waifu
|
||||||
|
description: Anime Tiddies
|
||||||
|
ping: http://10.0.10.68:25600
|
||||||
|
|
||||||
|
- Immich:
|
||||||
|
icon: immich.png
|
||||||
|
href: http://immich.kotori-waifu
|
||||||
|
description: Images goes brrr
|
||||||
|
ping: http://10.0.10.68:2283
|
||||||
|
|
||||||
|
- Automation:
|
||||||
|
- Radarr:
|
||||||
|
icon: radarr.png
|
||||||
|
href: http://radarr.kotori-waifu
|
||||||
|
description: Movie Management
|
||||||
|
ping: http://10.0.10.68:7878
|
||||||
|
widget:
|
||||||
|
type: radarr
|
||||||
|
url: http://10.0.10.68:7878
|
||||||
|
key: 9c6c8a8ef92d4ae0a6ee34199eba11b1
|
||||||
|
|
||||||
|
- Sonarr:
|
||||||
|
icon: sonarr.png
|
||||||
|
href: http://sonarr.kotori-waifu
|
||||||
|
description: TV Management
|
||||||
|
ping: http://10.0.10.68:8989
|
||||||
|
widget:
|
||||||
|
type: sonarr
|
||||||
|
url: http://10.0.10.68:8989
|
||||||
|
key: 6de4f7c23caf44179f4b2579e45bedde
|
||||||
|
|
||||||
|
- Prowlarr:
|
||||||
|
icon: prowlarr.png
|
||||||
|
href: http://prowlarr.kotori-waifu
|
||||||
|
description: Indexer Manager
|
||||||
|
ping: http://10.0.10.68:9696
|
||||||
|
widget:
|
||||||
|
type: prowlarr
|
||||||
|
url: http://10.0.10.68:9696
|
||||||
|
key: c857220020274408b1786836f8eeba6c
|
||||||
|
|
||||||
|
- qBittorrent:
|
||||||
|
icon: qbittorrent.png
|
||||||
|
href: http://torrent.kotori-waifu
|
||||||
|
description: Download Client
|
||||||
|
ping: http://10.0.10.68:8080
|
||||||
|
widget:
|
||||||
|
type: qbittorrent
|
||||||
|
url: http://10.0.10.68:8080
|
||||||
|
username: admin
|
||||||
|
password: "#Kotowaifu13"
|
||||||
|
|
||||||
|
- Infrastructure:
|
||||||
|
- Firewall:
|
||||||
|
icon: opnsense.png
|
||||||
|
href: http://firewall.kotori-waifu
|
||||||
|
description: Gateway
|
||||||
|
ping: http://10.0.0.1:80
|
||||||
|
|
||||||
|
- NAS:
|
||||||
|
icon: truenas.png
|
||||||
|
href: http://kotorinas.kotori-waifu
|
||||||
|
description: Storage Array
|
||||||
|
ping: http://10.0.10.69:80
|
||||||
|
|
||||||
|
- BookStack:
|
||||||
|
icon: bookstack.png
|
||||||
|
href: http://bookstack.kotori-waifu
|
||||||
|
description: Knowledge Base
|
||||||
|
ping: http://10.0.10.68:6875
|
||||||
|
|
||||||
|
- Grafana:
|
||||||
|
icon: grafana.png
|
||||||
|
href: http://grafana.kotori-waifu
|
||||||
|
description: Telemetry Visualization
|
||||||
|
ping: http://10.0.10.68:3001
|
||||||
|
|
||||||
|
- Mealie:
|
||||||
|
icon: mealie.png
|
||||||
|
href: http://mealie.kotori-waifu
|
||||||
|
description: Meal Planning
|
||||||
|
ping: http://10.0.10.68:9925
|
||||||
|
|
||||||
|
- Code:
|
||||||
|
icon: code.png
|
||||||
|
href: http://code.kotori-waifu
|
||||||
|
description: Code
|
||||||
|
ping: http://10.0.10.68:8443
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
- resources:
|
||||||
|
cpu: true
|
||||||
|
memory: true
|
||||||
|
disk:
|
||||||
|
- /app/config
|
||||||
|
- /mnt/nas
|
||||||
11
site.yml
11
site.yml
|
|
@ -14,6 +14,17 @@
|
||||||
- "--exclude=.git"
|
- "--exclude=.git"
|
||||||
- "--exclude=.gitignore"
|
- "--exclude=.gitignore"
|
||||||
|
|
||||||
|
- name: Sync GitOps data to target machine
|
||||||
|
ansible.posix.synchronize:
|
||||||
|
src: "{{ playbook_dir }}/docker/data/"
|
||||||
|
dest: /opt/homelab/data/
|
||||||
|
archive: yes
|
||||||
|
delete: no
|
||||||
|
recursive: yes
|
||||||
|
rsync_opts:
|
||||||
|
- "--exclude=.git"
|
||||||
|
- "--exclude=.gitignore"
|
||||||
|
|
||||||
- name: Identify all docker-compose stack directories
|
- name: Identify all docker-compose stack directories
|
||||||
ansible.builtin.find:
|
ansible.builtin.find:
|
||||||
paths: /opt/homelab/stacks
|
paths: /opt/homelab/stacks
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue