Convert service rows into service icons in a grid instead of a table.

This commit is contained in:
kelinfoxy
2026-05-08 20:35:07 -04:00
parent 7c67e8ecd7
commit c4c115de17

View File

@@ -15,7 +15,9 @@
--accent-soft: #1a2a3d;
--shadow: 0 12px 36px rgba(0, 0, 0, 0.45);
--radius: 14px;
--column-width: 300px;
--column-width: 320px;
--num-columns: 4;
--num-columns-services: 4;
}
* { box-sizing: border-box; }
@@ -215,7 +217,7 @@
.tables {
display: grid;
grid-template-columns: auto auto auto auto;
grid-template-columns: repeat(var(--num-columns), 1fr);
gap: 20px;
align-items: start;
justify-content: start;
@@ -343,30 +345,78 @@
width: 100%;
}
.admin-row {
display: inline-flex;
display: flex;
vertical-align: bottom;
align-items: flex-start;
justify-content: 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;
display: inline-flex;
}
.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: 20px;
margin: 20px;
max-width: fit-content;
}
.service-grid div {
display: block;
gap: 6px;
width: calc(var(--column-width) / var(--num-columns-services) - 25px);
}
</style>
</head>
<body>
<div class="header">
<div class="header-flex">
<img src="https://icons.kelinreij.duckdns.org/Kelin" class="fav-icon">
@@ -378,418 +428,375 @@
</div>
</div>
</div>
<div class="wrap">
<hr>
<div class="admin-grid">
<div class="admin-tile" style="border-color: rgba(185, 8, 8, 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>
<a class="local-url" href="http://192.168.4.29:3552" target="_blank" rel="noopener">local</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>
<a class="local-url" href="http://192.168.4.29:9898" target="_blank" rel="noopener">local</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>
<a class="local-url" href="http://192.168.4.29:8085" target="_blank" rel="noopener">local</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>
<a class="local-url" href="http://192.168.4.29:8080" target="_blank" rel="noopener">local</a>
</div>
</div>
</div>
</div>
<div class="admin-tile" style="border-color: rgba(185, 8, 8, 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>
<a class="local-url" href="http://192.168.4.4:3552" target="_blank" rel="noopener">local</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>
<a class="local-url" href="http://192.168.4.4:9898" target="_blank" rel="noopener">local</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>
<a class="local-url" href="http://192.168.4.4:8085" target="_blank" rel="noopener">local</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>
<a class="local-url" href="http://192.168.4.4:8081" target="_blank" rel="noopener">local</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>
<a class="local-url" href="http://192.168.4.4:8080" target="_blank" rel="noopener">local</a>
</div>
</div>
</div>
</div>
<div class="admin-tile" style="border-color: rgba(185, 8, 8, 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>
<a class="local-url" href="http://192.168.4.11:3552" target="_blank" rel="noopener">local</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>
<a class="local-url" href="http://192.168.4.11:9898" target="_blank" rel="noopener">local</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>
<a class="local-url" href="http://192.168.4.11:8085" target="_blank" rel="noopener">local</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>
<a class="local-url" href="http://192.168.4.11:8080" target="_blank" rel="noopener">local</a>
</div>
</div>
</div>
</div>
<div class="admin-tile" style="border-color: rgba(185, 8, 8, 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>
<a class="local-url" href="http://192.168.4.10:3552" target="_blank" rel="noopener">local</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>
<a class="local-url" href="http://192.168.4.10:9898" target="_blank" rel="noopener">local</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>
<a class="local-url" href="http://192.168.4.10:8085" target="_blank" rel="noopener">local</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>
<a class="local-url" href="http://192.168.4.10:8081" target="_blank" rel="noopener">local</a>
</div>
</div>
</div>
</div>
<div class="admin-tile" style="border-color: rgba(185, 8, 8, 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>
<a class="local-url" href="http://192.168.4.13:3552" target="_blank" rel="noopener">local</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>
<a class="local-url" href="http://192.168.4.13:9898" target="_blank" rel="noopener">local</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>
<a class="local-url" href="http://192.168.4.13:8085" target="_blank" rel="noopener">local</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>
<a class="local-url" href="http://192.168.4.13:8081" target="_blank" rel="noopener">local</a>
</div>
</div>
</div>
</div>
</div>
<!-- Services Section -->
<div class="tables">
<div class="group-column">
<div class="card table-wrap">
<table>
<thead>
<tr>
<th colspan="4" class="server-name"><img src="https://icons.kelinreij.duckdns.org/Jasper" class="server-icon">Jasper Services</th>
</tr>
</thead>
<tbody>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://gitea.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/gitea.svg" alt="Gitea" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">G</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://gitea.kelinreij.duckdns.org" target="_blank" rel="noopener">Gitea</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.4:3010" target="_blank" rel="noopener"><span class="port">3010</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/go-gitea/gitea" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://docs.gitea.com/" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://mealie.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/mealie.svg" alt="Mealie" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">M</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://mealie.kelinreij.duckdns.org" target="_blank" rel="noopener">Mealie</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.4:9000" target="_blank" rel="noopener"><span class="port">9000</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/mealie-recipes/mealie" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://docs.mealie.io/" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://vault.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/vaultwarden-light.svg" alt="Vaultwarden" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">V</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://vault.kelinreij.duckdns.org" target="_blank" rel="noopener">Vault</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.4:8091" target="_blank" rel="noopener"><span class="port">8091</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/dani-garcia/vaultwarden" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://github.com/dani-garcia/vaultwarden/wiki" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://bookstack.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/bookstack.svg" alt="BookStack" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">B</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://bookstack.kelinreij.duckdns.org" target="_blank" rel="noopener">BookStack</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.4:6875" target="_blank" rel="noopener"><span class="port">6875</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/BookStackApp/BookStack" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://www.bookstackapp.com/docs/" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://dokuwiki.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/dokuwiki.svg" alt="DokuWiki" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">D</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://dokuwiki.kelinreij.duckdns.org" target="_blank" rel="noopener">DokuWiki</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.4:8087" target="_blank" rel="noopener"><span class="port">8087</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/dokuwiki/dokuwiki" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://www.dokuwiki.org/manual" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://homarr.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/homarr.svg" alt="Homarr" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">H</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://homarr.kelinreij.duckdns.org" target="_blank" rel="noopener">Homarr</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.4:7575" target="_blank" rel="noopener"><span class="port">7575</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/homarr-labs/homarr" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://homarr.dev/docs/" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/homepage.svg" alt="User Homepage" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">U</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://kelinreij.duckdns.org" target="_blank" rel="noopener">Homepage</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.4:3004" target="_blank" rel="noopener"><span class="port">3004</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/gethomepage/homepage" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://gethomepage.dev/latest/" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://homepage.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/homepage.svg" alt="Homepage" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">H</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://homepage.kelinreij.duckdns.org" target="_blank" rel="noopener">Admin HP</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.4:3003" target="_blank" rel="noopener"><span class="port">3003</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/gethomepage/homepage" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://gethomepage.dev/latest/" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://metube.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/metube.svg" alt="MeTube" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">M</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://metube.kelinreij.duckdns.org" target="_blank" rel="noopener">MeTube</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.4:8099" target="_blank" rel="noopener"><span class="port">8099</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/alexta69/metube" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://github.com/alexta69/metube#readme" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://yarnl.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/yarnl.png" alt="Yarnl" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">Y</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://yarnl.kelinreij.duckdns.org" target="_blank" rel="noopener">Yarnl</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.4:3028" target="_blank" rel="noopener"><span class="port">3028</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/titandrive/yarnl" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://github.com/titandrive/yarnl#readme" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- First Column -->
<div class="group-column">
<div class="card table-wrap">
<table>
<thead>
<tr>
<th colspan="4" class="server-name"><img src="https://icons.kelinreij.duckdns.org/Sammi" class="server-icon">Jarvis Services</th>
</tr>
</thead>
<tbody>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://cameras.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/shinobi.png" alt="Shinobi" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">S</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://cameras.kelinreij.duckdns.org" target="_blank" rel="noopener">Shinobi</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.11:8000" target="_blank" rel="noopener"><span class="port">8000</span></a></td>
<td><span class="links"><a class="icon-link" href="https://gitlab.com/Shinobi-Systems/Shinobi" title="GitHub/GitLab" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://docs.shinobi.video/" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://immich.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/immich.svg" alt="Immich" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">I</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://immich.kelinreij.duckdns.org" target="_blank" rel="noopener">Immich</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.11:2283" target="_blank" rel="noopener"><span class="port">2283</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/immich-app/immich" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://docs.immich.app/" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://nextcloud.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/nextcloud.svg" alt="Nextcloud" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">N</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://nextcloud.kelinreij.duckdns.org" target="_blank" rel="noopener">Nextcloud</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.11:8089" target="_blank" rel="noopener"><span class="port">8089</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/nextcloud/server" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://docs.nextcloud.com/" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://wordpress.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/wordpress.svg" alt="WordPress" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">W</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://wordpress.kelinreij.duckdns.org" target="_blank" rel="noopener">WordPress</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.11:8088" target="_blank" rel="noopener"><span class="port">8088</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/WordPress/WordPress" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://wordpress.org/documentation/" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://formio.jarvis.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/microsoft-forms-2016.svg" alt="Formio" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">F</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://formio.jarvis.kelinreij.duckdns.org" target="_blank" rel="noopener">Formio</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.11:3002" target="_blank" rel="noopener"><span class="port">3002</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/formio/formio" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://help.form.io/" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://hub.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/humhub.svg" alt="HumHub" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">H</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://hub.kelinreij.duckdns.org" target="_blank" rel="noopener">HumHub</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.11:8091" target="_blank" rel="noopener"><span class="port">8091</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/humhub/humhub" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://docs.humhub.org/" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://plantit.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/plant-it.png" alt="Plant-It" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">P</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://plantit.kelinreij.duckdns.org" target="_blank" rel="noopener">Plant-It</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.11:3000" target="_blank" rel="noopener"><span class="port">3000</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/MDeLuise/plant-it" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://github.com/MDeLuise/plant-it#readme" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
</tbody>
</table>
<!-- FoxBox -->
<div class="admin-tile" style="border-color: rgba(185, 8, 8, 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>
<!-- Tucker -->
<div class="admin-tile" style="border-color: rgba(185, 8, 8, 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>
<!-- Pokee -->
<div class="admin-tile" style="border-color: rgba(185, 8, 8, 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>
<!-- Second Column -->
<div class="group-column">
<!-- Jasper -->
<div class="card table-wrap">
<table>
<thead>
<tr>
<th colspan="4" class="server-name"><img src="https://icons.kelinreij.duckdns.org/reboot.svg" class="server-icon">Media</th>
</tr>
</thead>
<tbody>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://jellyfin.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/jellyfin.svg" alt="Jellyfin" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">J</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://jellyfin.kelinreij.duckdns.org" target="_blank" rel="noopener">Jellyfin</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.11:8096" target="_blank" rel="noopener"><span class="port">8096</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/jellyfin/jellyfin" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://jellyfin.org/docs/" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
<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.jasper.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.jasper.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.jasper.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>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://jellyseerr.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/jellyseerr.svg" alt="Jellyseerr" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">J</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://jellyseerr.kelinreij.duckdns.org" target="_blank" rel="noopener">Jellyseerr</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.11:5055" target="_blank" rel="noopener"><span class="port">5055</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/Fallenbagel/jellyseerr" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://docs.jellyseerr.dev/" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
<div>
<a href="https://homarr.jasper.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>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://books.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/calibre-web.svg" alt="Calibre-Web" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">C</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://books.kelinreij.duckdns.org" target="_blank" rel="noopener">Calibre</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.11:8083" target="_blank" rel="noopener"><span class="port">8083</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/janeczku/calibre-web" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://github.com/janeczku/calibre-web/wiki" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
</div>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://radarr.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/radarr.svg" alt="Radarr" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">R</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://radarr.kelinreij.duckdns.org" target="_blank" rel="noopener">Radarr</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.11:7878" target="_blank" rel="noopener"><span class="port">7878</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/Radarr/Radarr" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://wiki.servarr.com/radarr" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://sonarr.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/sonarr.svg" alt="Sonarr" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">S</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://sonarr.kelinreij.duckdns.org" target="_blank" rel="noopener">Sonarr</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.11:8989" target="_blank" rel="noopener"><span class="port">8989</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/Sonarr/Sonarr" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://wiki.servarr.com/sonarr" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://lidarr.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/lidarr.svg" alt="Lidarr" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">L</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://lidarr.kelinreij.duckdns.org" target="_blank" rel="noopener">Lidarr</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.11:8686" target="_blank" rel="noopener"><span class="port">8686</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/Lidarr/Lidarr" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://wiki.servarr.com/lidarr" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://lazylibrarian.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/lazylibrarian.svg" alt="LazyLibrarian" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">L</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://lazylibrarian.kelinreij.duckdns.org" target="_blank" rel="noopener">LazyLibrarian</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.11:5299" target="_blank" rel="noopener"><span class="port">5299</span></a></td>
<td><span class="links"><a class="icon-link" href="https://gitlab.com/LazyLibrarian/LazyLibrarian" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://lazylibrarian.gitlab.io/" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://mylar3.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/mylar3.svg" alt="Mylar3" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">M</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://mylar3.kelinreij.duckdns.org" target="_blank" rel="noopener">Mylar3</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.11:8090" target="_blank" rel="noopener"><span class="port">8090</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/mylar3/mylar3" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://mylarcomics.com/" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://prowlarr.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/prowlarr.svg" alt="Prowlarr" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">P</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://prowlarr.kelinreij.duckdns.org" target="_blank" rel="noopener">Prowlarr</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.11:9696" target="_blank" rel="noopener"><span class="port">9696</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/Prowlarr/Prowlarr" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://wiki.servarr.com/prowlarr" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://sabnzb.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/sabnzbd.svg" alt="sabnzb" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">B</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://sabnzb.kelinreij.duckdns.org" target="_blank" rel="noopener">sabnzb</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.11:8080" target="_blank" rel="noopener"><span class="port">8080</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/sabnzbd/sabnzbd" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://sabnzbd.org/wiki/" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://qbittorrent.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/qbittorrent.svg" alt="qBittorrent" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">Q</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://qbittorrent.kelinreij.duckdns.org" target="_blank" rel="noopener">qBittorrent</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.11:8081" target="_blank" rel="noopener"><span class="port">8081</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/qbittorrent/qBittorrent" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://github.com/qbittorrent/qBittorrent/wiki" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://tdarr.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/tdarr.svg" alt="Tdarr" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">T</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://tdarr.kelinreij.duckdns.org" target="_blank" rel="noopener">Tdarr</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.11:8265" target="_blank" rel="noopener"><span class="port">8265</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/HaveAGitGat/Tdarr" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://docs.tdarr.io/" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
<tr>
<td class="col-icon"><a class="svc-icon-link" href="https://unmanic.kelinreij.duckdns.org" target="_blank" rel="noopener"><span class="svc-icon-wrap"><img class="svc-icon" src="https://icons.kelinreij.duckdns.org/unmanic.png" alt="Unmanic" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='inline-flex'" /><span class="svc-fallback" aria-hidden="true">U</span></span></a></td>
<td class="svc-name col-name"><a class="svc-link" href="https://unmanic.kelinreij.duckdns.org" target="_blank" rel="noopener">Unmanic</a></td>
<td class="local"><a class="local-link" href="http://192.168.4.11:8889" target="_blank" rel="noopener"><span class="port">8889</span></a></td>
<td><span class="links"><a class="icon-link" href="https://github.com/Unmanic/unmanic" title="GitHub" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/github-light.svg"></a><a class="icon-link" href="https://docs.unmanic.app/" title="Docs" target="_blank" rel="noopener"><img class="icon-link" src="https://icons.kelinreij.duckdns.org/docs-collaboration-light.svg"></a></span></td>
</tr>
</tbody>
</table>
</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://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>
</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>