authorgravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-01-05 20:33:28-08:00
committergravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-01-08 02:52:46-08:00
logabe58e8dabffdf3c721bf23fe701764f49d547c3
treeec4d6d7614008e32be89c01e4d6fd182971bb7ef
parentd7aaed393d5ab61468014ee56d2e3393d23beeb7
signaturelock-open Commit is signed but in an unrecognized format.

fix: font cors hell situation


3 files changed, 17 insertions(+), 24 deletions(-)

config/Caddyfile+9-4
...@@ -59,6 +59,9 @@...@@ -59,6 +59,9 @@
5959
60# services are sorted alphabetically60# services are sorted alphabetically
61auth.{$HOME_DOMAIN} {61auth.{$HOME_DOMAIN} {
62 handle / {
63 redir / /realms/master/account
64 }
62 reverse_proxy "http://keycloak"65 reverse_proxy "http://keycloak"
63}66}
64dawarich.{$HOME_DOMAIN} {67dawarich.{$HOME_DOMAIN} {
...@@ -70,11 +73,13 @@ db.{$HOME_DOMAIN} {...@@ -70,11 +73,13 @@ db.{$HOME_DOMAIN} {
70file.{$HOME_DOMAIN} {73file.{$HOME_DOMAIN} {
71 handle "/.static/*" {74 handle "/.static/*" {
72 uri strip_prefix /.static75 uri strip_prefix /.static
76 @cors header_regexp origin Origin ^https://.*\.(paperclover\.net|local\.test)$
77 header @cors {
78 Access-Control-Allow-Origin "{http.request.header.Origin}"
79 Access-Control-Allow-Methods "GET, OPTIONS"
80 Access-Control-Allow-Headers "Range"
81 }
73 root /etc/caddy/static82 root /etc/caddy/static
74 @cors header_regexp origin Origin ^([a-f0-9]+)\.(paperclover\.net|local\.test)$
75 header @cors Access-Control-Allow-Origin "{http.request.header.Origin}"
76 header @cors Access-Control-Allow-Methods "GET, OPTIONS"
77 header @cors Access-Control-Allow-Headers "Range"
78 file_server83 file_server
79 }84 }
80 import auth-optional "http://copyparty"85 import auth-optional "http://copyparty"
config/jellyfin/Caddyfile+1-20
...@@ -5,24 +5,10 @@ jelly.{$HOME_DOMAIN} {...@@ -5,24 +5,10 @@ jelly.{$HOME_DOMAIN} {
5 body `5 body `
6 @import url("/original{http.request.uri.path}") layer(base);6 @import url("/original{http.request.uri.path}") layer(base);
7 @import url("/original/web/themes/dark/theme.css") layer(basetheme);7 @import url("/original/web/themes/dark/theme.css") layer(basetheme);
8 @import url("https://file.paperclover.net/.static/font.css") layer(fnt);
8 @import url("https://jellyfin.catppuccin.com/theme.css") layer(cat);9 @import url("https://jellyfin.catppuccin.com/theme.css") layer(cat);
9 @import url("https://jellyfin.catppuccin.com/catppuccin-macchiato.css");10 @import url("https://jellyfin.catppuccin.com/catppuccin-macchiato.css");
10 @import url("https://jellyfin.catppuccin.com/catppuccin-latte.css") (prefers-color-scheme: light);11 @import url("https://jellyfin.catppuccin.com/catppuccin-latte.css") (prefers-color-scheme: light);
11 @font-face {
12 font-family: 'Name Sans';
13 src: url('/web/extra/font/ATNameSansVariable-Regular.woff2') format('woff2') tech(variations);
14 font-weight: 100 900;
15 font-style: normal;
16 font-display: swap;
17 font-stretch: 75% 125%;}
18
19 @font-face {
20 font-family: 'Name Sans';
21 src: url('/web/extra/font/ATNameSansVariable-Italic.woff2') format('woff2') tech(variations);
22 font-weight: 100 900;
23 font-style: italic;
24 font-display: swap;
25 font-stretch: 75% 125%;}
2612
27 body { font-family: "Name Sans", sans-serif;}13 body { font-family: "Name Sans", sans-serif;}
28 .preload, .touch-menu-la, .mainDrawer-scrollContainer {14 .preload, .touch-menu-la, .mainDrawer-scrollContainer {
...@@ -72,11 +58,6 @@ jelly.{$HOME_DOMAIN} {...@@ -72,11 +58,6 @@ jelly.{$HOME_DOMAIN} {
72 uri strip_prefix /original58 uri strip_prefix /original
73 reverse_proxy "jellyfin:8096"59 reverse_proxy "jellyfin:8096"
74 }60 }
75 handle_path /web/extra/font/* {
76 uri strip_prefix /web/extra/font
77 root /etc/caddy/font
78 file_server
79 }
80 handle_path /web/extra/* {61 handle_path /web/extra/* {
81 uri strip_prefix /web/extra62 uri strip_prefix /web/extra
82 root /etc/caddy/jellyfin63 root /etc/caddy/jellyfin
config/keycloak/theme/login/resources/css/styles.css+7
...@@ -151,6 +151,9 @@ button {...@@ -151,6 +151,9 @@ button {
151.pf-v5-c-form__group input:not([type="checkbox"]) {151.pf-v5-c-form__group input:not([type="checkbox"]) {
152 width: 100%;152 width: 100%;
153}153}
154.pf-v5-c-form__group > div:first-child {
155 display: flex;
156}
154.pf-v5-c-form__label {157.pf-v5-c-form__label {
155 margin-bottom: 0.25rem;158 margin-bottom: 0.25rem;
156 text-transform: lowercase;159 text-transform: lowercase;
...@@ -333,3 +336,7 @@ input[type="text"] + [data-password-toggle] i {...@@ -333,3 +336,7 @@ input[type="text"] + [data-password-toggle] i {
333#credit a:not(:hover) {336#credit a:not(:hover) {
334 opacity: 0.5;337 opacity: 0.5;
335}338}
339
340.subtitle:has(.subtitle .required) {
341 display: none;
342}