Files
Homelab-new-tab-page/index.html
2026-05-09 19:04:08 -04:00

824 lines
32 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>KelinReij.duckdns.org</title>
<style>
:root {
--bg: #20334e;
--panel: radial-gradient(1200px 500px at 10% -10%, #26292e 0%, transparent 50%),
radial-gradient(900px 500px at 95% -20%, #010231 0%, transparent 55%), #20334e;
--text: #e8eef7;
--muted: #9fb0c3;
--line: #233142;
--accent: #5cb3ff;
--accent-soft: #1a2a3d;
--shadow: 0 12px 36px rgba(0, 0, 0, 0.45);
--radius: 14px;
--column-width: 350px;
--num-columns: 4;
--num-columns-services: 4;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
font-family: "Segoe UI", "Noto Sans", system-ui, sans-serif;
color: var(--text);
background:
radial-gradient(1200px 500px at 10% -10%, #26292e 0%, transparent 60%),
radial-gradient(900px 500px at 95% -20%, #010231 0%, transparent 95%),
var(--bg);
min-height: 100vh;
padding: 24px;
}
.wrap {
max-width: 1600px;
margin: 0px 0px;
}
h1 {
margin: 0 0 6px;
font-size: 3.5rem;
letter-spacing: 0.2px;
font-weight: 300;
}
p.sub {
margin: 0 0 20px;
color: var(--muted);
font-size: 0.96rem;
}
.card {
background: var(--panel);
border: 1px solid var(--line);
border-radius: var(--radius);
box-shadow: var(--shadow);
overflow: hidden;
display: inline-block;
max-width: 100%;
}
.svc-icon {
width: 24px;
height: 24px;
display: block;
}
.server-icon {
width: 50px;
height: 50px;
display: inline-block;
margin: 0px 20px;
vertical-align: middle;
}
.svc-icon-wrap {
width: 24px;
height: 24px;
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 6px;
background: #1a2838;
overflow: hidden;
}
.svc-fallback {
width: 100%;
height: 100%;
display: none;
align-items: center;
justify-content: center;
font-size: 11px;
font-weight: 700;
color: #c7d6e7;
text-transform: uppercase;
}
.svc-name {
font-weight: 600;
white-space: nowrap;
}
.svc-link {
color: var(--text);
font-weight: 600;
white-space: nowrap;
}
.svc-link:hover {
color: var(--text);
}
.svc-icon-link,
.local-link {
font-size: 0.93rem;
}
.svc-icon-link {
display: inline-flex;
}
a {
color: var(--accent);
text-decoration: none;
}
a:hover { text-decoration: underline; }
.local {
font-family: inherit;
color: #d8e3f0;
font-size: 0.93rem;
white-space: nowrap;
}
.port {
font-weight: 700;
}
.links {
display: inline-flex;
gap: 8px;
align-items: center;
}
.icon-link {
width: 20px;
height: 20px;
border: 1px solid var(--line);
border-radius: 10px;
display: inline-flex;
align-items: center;
justify-content: center;
background: #132131;
transition: all 120ms ease;
}
.icon-link:hover {
transform: translateY(-1px);
background: var(--accent-soft);
border-color: #3f5d7e;
text-decoration: none;
}
.icon-link svg {
width: 16px;
height: 16px;
fill: #e3edf9;
}
.tables {
display: grid;
grid-template-columns: repeat(var(--num-columns), 1fr);
gap: 20px;
align-items: start;
justify-content: start;
margin-top: 20px;
}
.group-column {
display: flex;
flex-direction: column;
gap: 16px;
width: var(--column-width);
min-width: 0;
}
.table-wrap {
display: block;
width: var(--column-width);
max-width: var(--column-width);
overflow-x:hidden;
}
.server-name {
font-size: 1.5rem;
padding-right: 70px;
overflow-x: hidden;
}
@media (max-width: 820px) {
body { padding: 14px; }
h1 { font-size: 1.35rem; }
p.sub { font-size: 0.9rem; }
}
.header {
display: block;
top: 0px;
padding: 0px 0px;
font-size: 3rem;
letter-spacing: 0.2px;
font-weight: 300;
height: 70px;
}
.fav-icon {
width: 60px;
height: 60px;
display: inline-block;
margin: 0px 20px;
vertical-align: middle;
}
.header-flex {
display: flex;
align-items: flex-start;
}
.header-button {
display: inline-block;
vertical-align: middle;
margin: 20px 0px;
font-size: 1.1rem;
padding: 8px 16px;
background: var(--accent);
border-radius: 8px;
color: black;
}
.header-button-row {
display: inline-block;
gap: 12px;
margin-left: auto;
}
.header-button a {
color: black;
text-decoration: none;
font-weight: 600;
}
.admin-grid {
display: flex;
flex-wrap: wrap;
gap: 20px;
margin-bottom: 20px;
}
.admin-tile {
display: flex;
width: calc(var(--column-width)-10px);
border: 2px solid whitesmoke;
border-radius: 20px;
height: 100px;
z-index: 10;
}
.admin-icon {
max-width: 95px;
min-width: 95px;
height: auto;
display: inline-flex;
margin: 0px 0px 0px;
border-radius: 16px 0px 0px 16px;
z-index: 2;
}
.admin-title {
display: block;
font-size: 1.5rem;
font-weight: 600;
color: #f0e9e9;
margin-left: 20px;
margin-bottom: 0px;
max-height: 35px !important;
height: 35px !important;
}
.admin-row {
display: flex;
vertical-align: bottom;
align-items: flex-start;
flex-direction: row;
gap: 10px;
margin: 0px 10px 10px 10px;
width: 100%;
min-width: 200px;
}
.admin-row a {
display: inline-flex;
font-size: 3rem;
justify-content: center;
}
.admin-row img {
width: 30px;
height: 30px;
box-shadow: var(--shadow);
}
.local-url {
font-size: 0.8rem !important;
color: var(--text);
margin-top: 0px;
display: flex;
flex-direction: column;
justify-content: center;
}
.service-row-small {
display: flex;
gap: 20px 20px;
margin: 20px 20px;
}
.service-row-small img {
width: 30px;
height: 30px;
display: block;
padding: 0px;
margin: 0px;
}
.service-row-large {
display: flex;
gap: 20px 20px;
margin: 20px 20px;
justify-content: space-between;
}
.service-row-large img {
width: 60px;
height: 60px;
display: block;
padding: 0px;
margin: 0px;
}
.service-grid {
display: grid;
grid-template-columns: repeat(var(--num-columns-services), 1fr);
gap: 15px;
max-width: 100%;
padding: 0px;
margin: 20px 10px;
justify-content: space-evenly;
}
.service-grid div a img {
display: block;
gap: 2px;
width: 45px;
height: 45px;
}
.service-grid div {
display: flex;
flex-direction: column;
align-items: center;
border-radius: 10px;
border: 2px solid #143365;
padding: 5px 10px;
box-shadow: var(--shadow);
background: radial-gradient(1200px 500px at 10% -10%, #143365 0%, transparent 60%),
radial-gradient(900px 500px at 25% 5%, #323667 0%, transparent 10%), #091321;
}
.button-row {
display: inline-block;
background: #143365;
height: 40px;
width: 100%;
vertical-align: middle;
margin: 0px 0px 10px 0px;
white-space: nowrap;
}
.nav-button img {
padding: 0px;
margin: 3px 10px 0px 0px;
display: inline-block;
width: 37px;
height: 37px;
vertical-align: middle;
}
.nav-button {
display: inline-block;
margin: 0px 0px 5px 20px;
padding: 0px 0px 0px 0px;
width: fit-content;
font-size: 1.2rem;
vertical-align: middle;
}
.nav-button-text {
display: inline-block;
color: var(--text);
font-weight: 600;
vertical-align: middle;
}
</style>
</head>
<body>
<div class="header">
<div class="header-flex">
<img src="https://icons.kelinreij.duckdns.org/Kelin" class="fav-icon">
<div>KelinReij.duckdns.org</div>
<div class="header-button-row">
<div class="header-button"><a href="https://dashy.kelinreij.duckdns.org">Dashy</a></div>
<div class="header-button"><a href="https://ha.kelinreij.duckdns.org">Home Assistant</a></div>
<div class="header-button"><a href="https://cameras.kelinreij.duckdns.org">Cameras</a></div>
</div>
</div>
</div>
<hr>
<div class="button-row">
<div class="nav-button">
<a href="https://jellyfin.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/jellyfin.svg"><div class="nav-button-text">Watch</div></a>
</div>
<div class="nav-button">
<a href="https://jellyseerr.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/jellyseerr.svg"><div class="nav-button-text">Request</div></a>
</div>
<div class="nav-button">
<a href="https://books.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/calibre-web.svg"><div class="nav-button-text">Read</div></a>
</div>
<div class="nav-button">
<a href="https://mealie.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/mealie.svg"><div class="nav-button-text">Recipes</div></a>
</div>
<div class="nav-button">
<a href="https://vault.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/vaultwarden.svg"><div class="nav-button-text">Passwords</div></a>
</div>
<div class="nav-button">
<a href="https://linkwarden.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/linkwarden.svg"><div class="nav-button-text">Bookmarks</div></a>
</div>
</div>
</div>
<div class="wrap">
<!-- Services Section -->
<div class="tables">
<!-- First Column -->
<div class="group-column">
<!-- FoxBox -->
<div class="card table-wrap">
<div class="admin-tile" style="border-color: rgba(123, 117, 117, 0.955);">
<img src="https://icons.kelinreij.duckdns.org/Kelin" class="admin-icon">
<div>
<div class="admin-title">FoxBox</div>
<div class="admin-row">
<div>
<a href="https://arcane.foxbox.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/arcane.svg"></a><br>
<a class="local-url" href="http://192.168.4.29:3552" target="_blank" rel="noopener">3552</a>
</div>
<div>
<a href="https://backrest.foxbox.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/backrest-light.svg"></a><br>
<a class="local-url" href="http://192.168.4.29:9898" target="_blank" rel="noopener">9898</a>
</div>
<div>
<a href="https://dozzle.foxbox.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/dozzle.svg"></a><br>
<a class="local-url" href="http://192.168.4.29:8085" target="_blank" rel="noopener">8085</a>
</div>
<div>
<a href="https://traefik.foxbox.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/traefik.svg"></a><br>
<a class="local-url" href="http://192.168.4.29:8080" target="_blank" rel="noopener">8080</a>
</div>
</div>
</div>
</div>
</div>
<!-- Tucker -->
<div class="card table-wrap">
<div class="admin-tile" style="border-color: rgba(123, 117, 117, 0.955);">
<img src="https://icons.kelinreij.duckdns.org/Tucker.svg" class="admin-icon">
<div>
<div class="admin-title">Tucker</div>
<div class="admin-row">
<div>
<a href="https://arcane.tucker.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/arcane.svg"></a><br>
<a class="local-url" href="http://192.168.4.10:3552" target="_blank" rel="noopener">3552</a>
</div>
<div>
<a href="https://backrest.tucker.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/backrest-light.svg"></a><br>
<a class="local-url" href="http://192.168.4.10:9898" target="_blank" rel="noopener">9898</a>
</div>
<div>
<a href="https://dozzle.tucker.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/dozzle.svg"></a><br>
<a class="local-url" href="http://192.168.4.10:8085" target="_blank" rel="noopener">8085</a>
</div>
<div>
<a href="https://traefik.tucker.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/traefik.svg"></a><br>
<a class="local-url" href="http://192.168.4.10:8080" target="_blank" rel="noopener">8080</a>
</div>
</div>
</div>
</div>
</div>
<!-- Pokee -->
<div class="card table-wrap">
<div class="admin-tile" style="border-color: rgba(123, 117, 117, 0.955);">
<img src="https://icons.kelinreij.duckdns.org/Pokee.svg" class="admin-icon">
<div>
<div class="admin-title">Pokee</div>
<div class="admin-row">
<div>
<a href="https://arcane.pokee.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/arcane.svg"></a><br>
<a class="local-url" href="http://192.168.4.13:3552" target="_blank" rel="noopener">3552</a>
</div>
<div>
<a href="https://backrest.pokee.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/backrest-light.svg"></a><br>
<a class="local-url" href="http://192.168.4.13:9898" target="_blank" rel="noopener">9898</a>
</div>
<div>
<a href="https://dozzle.pokee.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/dozzle.svg"></a><br>
<a class="local-url" href="http://192.168.4.13:8085" target="_blank" rel="noopener">8085</a>
</div>
<div>
<a href="https://traefik.pokee.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/traefik.svg"></a><br>
<a class="local-url" href="http://192.168.4.13:8080" target="_blank" rel="noopener">8080</a>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Second Column -->
<div class="group-column">
<!-- Jasper -->
<div class="card table-wrap">
<div class="admin-tile" style="border-color: rgba(123, 117, 117, 0.955);">
<img src="https://icons.kelinreij.duckdns.org/Jasper.svg" class="admin-icon">
<div>
<div class="admin-title">Jasper</div>
<div class="admin-row">
<div>
<a href="https://arcane.jasper.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/arcane.svg"></a><br>
<a class="local-url" href="http://192.168.4.4:3552" target="_blank" rel="noopener">3552</a>
</div>
<div>
<a href="https://backrest.jasper.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/backrest-light.svg"></a><br>
<a class="local-url" href="http://192.168.4.4:9898" target="_blank" rel="noopener">9898</a>
</div>
<div>
<a href="https://dozzle.jasper.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/dozzle.svg"></a><br>
<a class="local-url" href="http://192.168.4.4:8085" target="_blank" rel="noopener">8085</a>
</div>
<div>
<a href="https://traefik.jasper.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/traefik.svg"></a><br>
<a class="local-url" href="http://192.168.4.4:8081" target="_blank" rel="noopener">8081</a>
</div>
<div>
<a href="https://keycloak.jasper.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/keycloak.svg"></a><br>
<a class="local-url" href="http://192.168.4.4:8080" target="_blank" rel="noopener">8080</a>
</div>
</div>
</div>
</div>
<div class="service-grid">
<div>
<a href="https://gitea.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/gitea.svg"></a>
<a class="local-url" href="http://192.168.4.4:3552" target="_blank" rel="noopener">3552</a>
</div>
<div>
<a href="https://mealie.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/mealie.svg"></a>
<a class="local-url" href="http://192.168.4.4:9000" target="_blank" rel="noopener">9000</a>
</div>
<div>
<a href="https://vault.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/vaultwarden-light.svg"></a>
<a class="local-url" href="http://192.168.4.4:8091" target="_blank" rel="noopener">8091</a>
</div>
<div>
<a href="https://homarr.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/homarr.svg"></a>
<a class="local-url" href="http://192.168.4.4:7575" target="_blank" rel="noopener">7575</a>
</div>
<div>
<a href="https://kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/homepage.svg"></a>
<a class="local-url" href="http://192.168.4.4:3004" target="_blank" rel="noopener">3004</a>
</div>
<div>
<a href="https://homepage.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/homepage.svg"></a>
<a class="local-url" href="http://192.168.4.4:3003" target="_blank" rel="noopener">3003</a>
</div>
<div>
<a href="https://bookstack.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/bookstack.svg"></a>
<a class="local-url" href="http://192.168.4.4:6875" target="_blank" rel="noopener">6875</a>
</div>
<div>
<a href="https://dokuwiki.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/dokuwiki.svg"></a>
<a class="local-url" href="http://192.168.4.4:8087" target="_blank" rel="noopener">8087</a>
</div>
<div>
<a href="https://metube.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/metube.svg"></a>
<a class="local-url" href="http://192.168.4.4:8081" target="_blank" rel="noopener">8081</a>
</div>
<div>
<a href="https://yarnl.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/yarnl.png"></a>
<a class="local-url" href="http://192.168.4.4:3028" target="_blank" rel="noopener">3028</a>
</div>
</div>
</div>
<!-- Jarvis Services -->
<div class="card table-wrap">
<div class="admin-tile" style="border-color: rgba(146, 138, 138, 0.955);">
<img src="https://icons.kelinreij.duckdns.org/Sammi.svg" class="admin-icon">
<div>
<div class="admin-title">Jarvis</div>
<div class="admin-row">
<div>
<a href="https://arcane.jarvis.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/arcane.svg"></a><br>
<a class="local-url" href="http://192.168.4.11:3552" target="_blank" rel="noopener">3552</a>
</div>
<div>
<a href="https://backrest.jarvis.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/backrest-light.svg"></a><br>
<a class="local-url" href="http://192.168.4.11:9898" target="_blank" rel="noopener">9898</a>
</div>
<div>
<a href="https://dozzle.jarvis.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/dozzle.svg"></a><br>
<a class="local-url" href="http://192.168.4.11:8085" target="_blank" rel="noopener">8085</a>
</div>
<div>
<a href="https://traefik.jarvis.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/traefik.svg"></a><br>
<a class="local-url" href="http://192.168.4.11:8080" target="_blank" rel="noopener">8080</a>
</div>
</div>
</div>
</div>
<div class="service-grid">
<div>
<a href="https://cameras.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/shinobi.svg"></a>
<a class="local-url" href="http://192.168.4.11:8000" target="_blank" rel="noopener">8000</a>
</div>
<div>
<a href="https://immich.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/immich.svg"></a>
<a class="local-url" href="http://192.168.4.11:2283" target="_blank" rel="noopener">2283</a>
</div>
<div>
<a href="https://nextcloud.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/nextcloud.svg"></a>
<a class="local-url" href="http://192.168.4.11:8080" target="_blank" rel="noopener">8080</a>
</div>
<div>
<a href="https://linkwarden.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/linkwarden.svg"></a>
<a class="local-url" href="http://192.168.4.11:3000" target="_blank" rel="noopener">3000</a>
</div>
<div>
<a href="https://wordpress.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/wordpress.svg"></a>
<a class="local-url" href="http://192.168.4.11:8089" target="_blank" rel="noopener">8089</a>
</div>
<div>
<a href="https://formio.jarvis.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/microsoft-forms-light.png"></a>
<a class="local-url" href="http://192.168.4.11:3002" target="_blank" rel="noopener">3002</a>
</div>
<div>
<a href="https://humhub.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/humhub.svg"></a>
<a class="local-url" href="http://192.168.4.11:8091" target="_blank" rel="noopener">8091</a>
</div>
<div>
<a href="https://plantit.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/plant-it.png"></a>
<a class="local-url" href="http://192.168.4.11:3000" target="_blank" rel="noopener">3000</a>
</div>
<div>
<a href="https://icons.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/selfh-st.svg"></a>
<a class="local-url" href="http://192.168.4.11:4050" target="_blank" rel="noopener">4050</a>
</div>
</div>
</div>
</div>
<!-- Third Column -->
<div class="group-column">
<!-- Media Services -->
<div class="card table-wrap">
<div class="admin-tile" style="border-color: rgba(123, 117, 117, 0.955);">
<img src="https://icons.kelinreij.duckdns.org/reboot.svg" class="admin-icon">
<div>
<div class="admin-title">Media</div>
<div class="admin-row">
<div>
<a class= "admin-link" href="https://jellyfin.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/jellyfin.svg"></a><br>
<a class="local-url" href="http://192.168.4.4:8096" target="_blank" rel="noopener">8096</a>
</div>
<div>
<a class= "admin-link" href="https://jellyseerr.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/jellyseerr.svg"></a><br>
<a class="local-url" href="http://192.168.4.4:5055" target="_blank" rel="noopener">5055</a>
</div>
<div>
<a class= "admin-link" href="https://books.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/calibre-web.svg"></a><br>
<a class="local-url" href="http://192.168.4.4:8083" target="_blank" rel="noopener">8083</a>
</div>
</div>
</div>
</div>
<div class="service-grid">
<div>
<a href="https://radarr.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/radarr.svg"></a>
<a class="local-url" href="http://192.168.4.4:7878" target="_blank" rel="noopener">7878</a>
</div>
<div>
<a href="https://sonarr.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/sonarr.svg"></a>
<a class="local-url" href="http://192.168.4.4:8989" target="_blank" rel="noopener">8989</a>
</div>
<div>
<a href="https://lidarr.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/lidarr.svg"></a>
<a class="local-url" href="http://192.168.4.4:8686" target="_blank" rel="noopener">8686</a>
</div>
<div>
<a href="https://lazylibrarian.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/lazylibrarian.svg"></a>
<a class="local-url" href="http://192.168.4.4:5299" target="_blank" rel="noopener">5299</a>
</div>
<div>
<a href="https://mylar3.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/mylar3.svg"></a>
<a class="local-url" href="http://192.168.4.4:8090" target="_blank" rel="noopener">8090</a>
</div>
<div>
<a href="https://prowlarr.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/prowlarr.svg"></a>
<a class="local-url" href="http://192.168.4.4:9696" target="_blank" rel="noopener">9696</a>
</div>
<div>
<a href="https://sabznb.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/sabnzbd.svg"></a>
<a class="local-url" href="http://192.168.4.4:3028" target="_blank" rel="noopener">3028</a>
</div>
<div>
<a href="https://qbittorrent.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/qbittorrent.svg"></a>
<a class="local-url" href="http://192.168.4.4:8081" target="_blank" rel="noopener">8081</a>
</div>
<div>
<a href="https://tdarr.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/tdarr.svg"></a>
<a class="local-url" href="http://192.168.4.4:8265" target="_blank" rel="noopener">8265</a>
</div>
<div>
<a href="https://unmanic.kelinreij.duckdns.org" target="_blank" rel="noopener">
<img src="https://icons.kelinreij.duckdns.org/unmanic.svg"></a>
<a class="local-url" href="http://192.168.4.4:8889" target="_blank" rel="noopener">8889</a>
</div>
</div>
</div>
</div> <!-- End Third Column -->
</div> <!-- End tables -->
</div> <!-- End wrap -->
</body>
</html>