| author | |
| committer | |
| log | 475b7d66a8d2e212107ca5ed624b515b45c90e5e |
| tree | 33d32adc0df85f5534ddd8990496309682535f42 |
| parent | dd75657461727cf1146fb33cb1d6f0649c09e9b9 |
| signature |
19 files changed, 107 insertions(+), 95 deletions(-)
compose.yaml+3-4| ... | ... | @@ -27,7 +27,6 @@ services: |
| 27 | 27 | volumes: |
| 28 | 28 | - "${APP_ROOT}/keycloak:/shared:rw" |
| 29 | 29 | - "./config/keycloak/theme:/opt/keycloak/themes/snow:ro" |
| 30 | - "./config/font:/opt/keycloak/themes/snow/login/resources/font:ro" | |
| 31 | 30 | secrets: |
| 32 | 31 | - keycloak-crt |
| 33 | 32 | - keycloak-key |
| ... | ... | @@ -111,7 +110,7 @@ services: |
| 111 | 110 | restart: unless-stopped |
| 112 | 111 | labels: |
| 113 | 112 | net.paperclover.list.name: Copyparty File Storage |
| 114 | net.paperclover.list.domain: nas | |
| 113 | net.paperclover.list.domain: file | |
| 115 | 114 | net.paperclover.list.priority: 103 |
| 116 | 115 | depends_on: |
| 117 | 116 | forward-auth: |
| ... | ... | @@ -171,7 +170,6 @@ services: |
| 171 | 170 | - "/etc/localtime:/etc/localtime:ro" |
| 172 | 171 | - ./config/forgejo/public:/custom/public:ro |
| 173 | 172 | - ./config/forgejo/templates:/custom/templates:ro |
| 174 | - ./config/font:/custom/public/assets/font:ro | |
| 175 | 173 | - ./config/forgejo/init:/custom/init:ro |
| 176 | 174 | labels: |
| 177 | 175 | net.paperclover.list.name: Clover Git Forge |
| ... | ... | @@ -196,6 +194,8 @@ services: |
| 196 | 194 | TARGET: http://forgejo:3000 |
| 197 | 195 | COOKIE_DOMAIN: "${HOME_DOMAIN:?}" |
| 198 | 196 | ED25519_PRIVATE_KEY_HEX: "${ANUBIS_PRIVATE_KEY:?}" |
| 197 | COOKIE_PREFIX: "anubis_v1" | |
| 198 | DIFFICULTY: 5 | |
| 199 | 199 | forgejo-runner: |
| 200 | 200 | container_name: forgejo-runner |
| 201 | 201 | image: code.forgejo.org/forgejo/runner:12 |
| ... | ... | @@ -237,7 +237,6 @@ services: |
| 237 | 237 | - "${APP_ROOT}/jellyfin/cache:/cache:rw" |
| 238 | 238 | - "./config/jellyfin:/config/custom:ro" |
| 239 | 239 | - "./config/jellyfin/branding.xml:/config/config/branding.xml:ro" |
| 240 | - "./config/font:/usr/local/share/fonts/custom:ro" | |
| 241 | 240 | labels: |
| 242 | 241 | net.paperclover.list.name: Cloverfin |
| 243 | 242 | net.paperclover.list.domain: jelly |
config/Caddyfile+22-4| ... | ... | @@ -67,6 +67,18 @@ dawarich.{$HOME_DOMAIN} { |
| 67 | 67 | db.{$HOME_DOMAIN} { |
| 68 | 68 | 	reverse_proxy "http://clover-source-of-truth" |
| 69 | 69 | } |
| 70 | file.{$HOME_DOMAIN} { | |
| 71 | handle "/.static/*" { | |
| 72 | uri strip_prefix /.static | |
| 73 | 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_server | |
| 79 | } | |
| 80 | import auth-optional "http://copyparty" | |
| 81 | } | |
| 70 | 82 | git.{$HOME_DOMAIN} { |
| 71 | 83 | handle /user/login { |
| 72 | 84 | rewrite /user/oauth2/snow |
| ... | ... | @@ -86,9 +98,6 @@ import ./jellyfin/Caddyfile |
| 86 | 98 | music.{$HOME_DOMAIN} { |
| 87 | 99 | 	reverse_proxy "http://navidrome:4533" |
| 88 | 100 | } |
| 89 | nas.{$HOME_DOMAIN} { | |
| 90 | import auth-optional "http://copyparty" | |
| 91 | } | |
| 92 | 101 | # opencode.{$HOME_DOMAIN} { |
| 93 | 102 | # 	import auth |
| 94 | 103 | # 	reverse_proxy "http://opencode" |
| ... | ... | @@ -132,12 +141,21 @@ paperclover.dev { |
| 132 | 141 | 		on_demand |
| 133 | 142 | 	} |
| 134 | 143 | } |
| 144 | nas.paperclover.net { | |
| 145 | 	redir "https://file.paperclover.net{uri}" | |
| 146 | 	tls { | |
| 147 | 		on_demand | |
| 148 | 	} | |
| 149 | } | |
| 135 | 150 | |
| 136 | 151 | :80, :443 { |
| 137 | 152 | 	handle_errors { |
| 138 | 153 | 		rewrite * /{err.status_code} |
| 139 | 154 | 		reverse_proxy https://http.cat { |
| 140 | 			header_up Host {upstream_hostport} | |
| 155 | 			header_up host {upstream_hostport} | |
| 156 | header_down Cache-Control "no-store, no-cache, must-revalidate, max-age=0" | |
| 157 | header_down Pragma "no-cache" | |
| 158 | header_down Expires "0" | |
| 141 | 159 | 			replace_status {err.status_code} |
| 142 | 160 | 		} |
| 143 | 161 | 	} |
config/copyparty.conf+12-4| ... | ... | @@ -19,6 +19,8 @@ |
| 19 | 19 | idp-logout: /snow.oauth2/sign_out |
| 20 | 20 | idp-login-t: with sso (snow sign on) |
| 21 | 21 | |
| 22 | html-head: <link rel="stylesheet" href="/.static/copyparty.css"> | |
| 23 | ||
| 22 | 24 | [/] # webroot |
| 23 | 25 | /w |
| 24 | 26 | accs: |
| ... | ... | @@ -26,18 +28,24 @@ |
| 26 | 28 | [/clover] |
| 27 | 29 | /w/clover |
| 28 | 30 | accs: |
| 29 | rwmda: snow | |
| 31 | rwmd: snow | |
| 30 | 32 | [/media] # mediaroot |
| 31 | 33 | /w/media |
| 32 | 34 | accs: |
| 33 | rwmda: snow | |
| 34 | rwmd: rain, fish, akira | |
| 35 | rwmd: snow, rain, fish, akira, @media-manage | |
| 36 | r: @media | |
| 35 | 37 | [/home/${u}] |
| 36 | 38 | /w/home/${u} |
| 37 | 39 | accs: |
| 38 | rwmda: ${u}, @su | |
| 40 | rwmd: ${u}, @su | |
| 39 | 41 | [/clover/Public] |
| 40 | 42 | /w/clover/Public |
| 41 | 43 | accs: |
| 42 | 44 | r: * |
| 43 | 45 | rwm: @acct |
| 46 | rwmd: snow | |
| 47 | [/mirrors] | |
| 48 | /w/mirrors | |
| 49 | accs: | |
| 50 | r: * | |
| 51 | rwmd: snow |
config/font/README.txt deleted-14| ... | ... | @@ -1,14 +0,0 @@ |
| 1 | The fonts in this directory MUST be purchased to use: | |
| 2 | https://www.arrowtype.com/name-sans | |
| 3 | https://www.arrowtype.com/name-mono | |
| 4 | ||
| 5 | The full license from ArrowType: https://www.arrowtype.com/licensing/commercial | |
| 6 | ||
| 7 | This license specifically grants me, Clover M Caruso, the right to embed these | |
| 8 | webfonts on domains I control. | |
| 9 | ||
| 10 | > The webfonts may only be installed on website domains that are under your | |
| 11 | > direct control. | |
| 12 | ||
| 13 | Since this git repo is hosted on a domain I control, using hardware I control | |
| 14 | (local git server in my home), I |
config/font/nm.woff2| Binary files a/config/font/nm.woff2 and /dev/null differ |
config/font/nmb.woff2| Binary files a/config/font/nmb.woff2 and /dev/null differ |
config/font/nmi.woff2| Binary files a/config/font/nmi.woff2 and /dev/null differ |
config/font/nsv.woff2| Binary files a/config/font/nsv.woff2 and /dev/null differ |
config/font/nsvi.woff2| Binary files a/config/font/nsvi.woff2 and /dev/null differ |
config/forgejo/public/assets/css/theme-clover.css+1-43| ... | ... | @@ -1,47 +1,6 @@ |
| 1 | 1 | @import "theme-forgejo-light.css"; |
| 2 | 2 | @import "theme-forgejo-dark.css" (prefers-color-scheme: dark); |
| 3 | ||
| 4 | @font-face { | |
| 5 | font-family: "Name Mono"; | |
| 6 | src: url("../font/nm.woff2") format("woff2"); | |
| 7 | font-weight: 400; | |
| 8 | font-style: normal; | |
| 9 | font-display: swap; | |
| 10 | } | |
| 11 | ||
| 12 | @font-face { | |
| 13 | font-family: "Name Mono"; | |
| 14 | src: url("../font/nmb.woff2") format("woff2"); | |
| 15 | font-weight: 700; | |
| 16 | font-style: normal; | |
| 17 | font-display: swap; | |
| 18 | } | |
| 19 | ||
| 20 | @font-face { | |
| 21 | font-family: "Name Mono"; | |
| 22 | src: url("../font/nmi.woff2") format("woff2"); | |
| 23 | font-weight: 400; | |
| 24 | font-style: italic; | |
| 25 | font-display: swap; | |
| 26 | } | |
| 27 | ||
| 28 | @font-face { | |
| 29 | font-family: "Name Sans"; | |
| 30 | src: url("../font/nsv.woff2") format("woff2") tech(variations); | |
| 31 | font-weight: 100 900; | |
| 32 | font-style: normal; | |
| 33 | font-display: swap; | |
| 34 | font-stretch: 75% 125%; | |
| 35 | } | |
| 36 | ||
| 37 | @font-face { | |
| 38 | font-family: "Name Sans"; | |
| 39 | src: url("../font/nsvi.woff2") format("woff2") tech(variations); | |
| 40 | font-weight: 100 900; | |
| 41 | font-style: italic; | |
| 42 | font-display: swap; | |
| 43 | font-stretch: 75% 125%; | |
| 44 | } | |
| 3 | @import "https://file.paperclover.net/.static/font.css"; | |
| 45 | 4 | |
| 46 | 5 | :root { |
| 47 | 6 | --fonts-proportional: |
| ... | ... | @@ -225,4 +184,3 @@ |
| 225 | 184 | transparent |
| 226 | 185 | ); |
| 227 | 186 | } |
| 228 |
config/keycloak/theme/login/resources/css/styles.css+1-26| ... | ... | @@ -1,28 +1,4 @@ |
| 1 | @font-face { | |
| 2 | font-family: "Name Mono"; | |
| 3 | src: url("../font/ATNameMono-Italic.woff2") format("woff2"); | |
| 4 | font-weight: 400; | |
| 5 | font-style: italic; | |
| 6 | font-display: swap; | |
| 7 | } | |
| 8 | ||
| 9 | @font-face { | |
| 10 | font-family: "Name Sans"; | |
| 11 | src: url("../font/nsv.woff2") format("woff2") tech(variations); | |
| 12 | font-weight: 100 900; | |
| 13 | font-style: normal; | |
| 14 | font-display: swap; | |
| 15 | font-stretch: 75% 125%; | |
| 16 | } | |
| 17 | ||
| 18 | @font-face { | |
| 19 | font-family: "Name Sans"; | |
| 20 | src: url("../font/nsvi.woff2") format("woff2") tech(variations); | |
| 21 | font-weight: 100 900; | |
| 22 | font-style: italic; | |
| 23 | font-display: swap; | |
| 24 | font-stretch: 75% 125%; | |
| 25 | } | |
| 1 | @import "https://file.paperclover.net/.static/font.css"; | |
| 26 | 2 | |
| 27 | 3 | /* reset */ |
| 28 | 4 | html, |
| ... | ... | @@ -84,7 +60,6 @@ body { |
| 84 | 60 | background-repeat: no-repeat; |
| 85 | 61 | color: black; |
| 86 | 62 | --text: black; |
| 87 | font-family: "Name Sans", sans-serif; | |
| 88 | 63 | |
| 89 | 64 | --header: light-dark(#1a46cd, #938cff); |
| 90 | 65 | --primary: light-dark(#00238f, #938cff); |
config/static/README.txt created+14| ... | ... | @@ -0,0 +1,14 @@ |
| 1 | The fonts in this directory MUST be purchased to use: | |
| 2 | https://www.arrowtype.com/name-sans | |
| 3 | https://www.arrowtype.com/name-mono | |
| 4 | ||
| 5 | The full license from ArrowType: https://www.arrowtype.com/licensing/commercial | |
| 6 | ||
| 7 | This license specifically grants me, Clover M Caruso, the right to embed these | |
| 8 | webfonts on domains I control. | |
| 9 | ||
| 10 | > The webfonts may only be installed on website domains that are under your | |
| 11 | > direct control. | |
| 12 | ||
| 13 | Since this git repo is hosted on a domain I control, using hardware I control | |
| 14 | (local git server in my home), I |
config/static/copyparty.css created+9| ... | ... | @@ -0,0 +1,9 @@ |
| 1 | @import "/.static/font.css"; | |
| 2 | #opa_msg, #repl { | |
| 3 | display: none; | |
| 4 | } | |
| 5 | :root { | |
| 6 | --font-main: "Name Sans", sans-serif; | |
| 7 | --font-serif: "Name Sans", serif; | |
| 8 | --font-mono: "Name Mono", monospace; | |
| 9 | } |
config/static/font.css created+45| ... | ... | @@ -0,0 +1,45 @@ |
| 1 | @font-face { | |
| 2 | font-family: "Name Mono"; | |
| 3 | src: url("./nm.woff2") format("woff2"); | |
| 4 | font-weight: 400; | |
| 5 | font-style: normal; | |
| 6 | font-display: swap; | |
| 7 | } | |
| 8 | ||
| 9 | @font-face { | |
| 10 | font-family: "Name Mono"; | |
| 11 | src: url("./nmb.woff2") format("woff2"); | |
| 12 | font-weight: 700; | |
| 13 | font-style: normal; | |
| 14 | font-display: swap; | |
| 15 | } | |
| 16 | ||
| 17 | @font-face { | |
| 18 | font-family: "Name Mono"; | |
| 19 | src: url("./nmi.woff2") format("woff2"); | |
| 20 | font-weight: 400; | |
| 21 | font-style: italic; | |
| 22 | font-display: swap; | |
| 23 | } | |
| 24 | ||
| 25 | @font-face { | |
| 26 | font-family: "Name Sans"; | |
| 27 | src: url("./nsv.woff2") format("woff2") tech(variations); | |
| 28 | font-weight: 100 900; | |
| 29 | font-style: normal; | |
| 30 | font-display: swap; | |
| 31 | font-stretch: 75% 125%; | |
| 32 | } | |
| 33 | ||
| 34 | @font-face { | |
| 35 | font-family: "Name Sans"; | |
| 36 | src: url("./nsvi.woff2") format("woff2") tech(variations); | |
| 37 | font-weight: 100 900; | |
| 38 | font-style: italic; | |
| 39 | font-display: swap; | |
| 40 | font-stretch: 75% 125%; | |
| 41 | } | |
| 42 | ||
| 43 | body { | |
| 44 | font-family: "Name Sans", sans-serif; | |
| 45 | } |
config/static/nm.woff2| Binary files /dev/null and b/config/static/nm.woff2 differ |
config/static/nmb.woff2| Binary files /dev/null and b/config/static/nmb.woff2 differ |
config/static/nmi.woff2| Binary files /dev/null and b/config/static/nmi.woff2 differ |
config/static/nsv.woff2| Binary files /dev/null and b/config/static/nsv.woff2 differ |
config/static/nsvi.woff2| Binary files /dev/null and b/config/static/nsvi.woff2 differ |