Files
homelab-manifests/felhom-system/webpage.yaml
T
2026-01-27 09:41:27 +01:00

1409 lines
101 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
# Namespace for felhom.eu website
apiVersion: v1
kind: Namespace
metadata:
name: felhom-system
---
# ConfigMap containing the website HTML
# NOTE: For larger sites, consider using a custom Docker image instead
apiVersion: v1
kind: ConfigMap
metadata:
name: felhom-website-apps
namespace: felhom-system
labels:
app.kubernetes.io/name: felhom
app.kubernetes.io/instance: felhom
data:
alkalmazasok.html: |
<!DOCTYPE html>
<html lang="hu">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Felhom.eu - Telepíthető alkalmazások. Nyílt forráskódú, önhostolt alkalmazások széles választéka otthoni szerveredre.">
<title>Alkalmazások - Felhom.eu</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<link rel="icon" type="image/png" href="/assets/logo.png">
<style>
:root {
--bg-primary: #0d1117;
--bg-secondary: #161b22;
--bg-card: #1c2128;
--text-primary: #e6edf3;
--text-secondary: #8b949e;
--text-muted: #6e7681;
--accent-blue: #0088cc;
--accent-light: #00aaff;
--accent-glow: rgba(0, 136, 204, 0.3);
--border-color: #30363d;
--success-green: #238636;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
background: var(--bg-primary);
color: var(--text-primary);
line-height: 1.6;
min-height: 100vh;
}
body::before {
content: '';
position: fixed;
top: 0; left: 0;
width: 100%; height: 100%;
background-image:
linear-gradient(rgba(0, 136, 204, 0.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(0, 136, 204, 0.03) 1px, transparent 1px);
background-size: 50px 50px;
pointer-events: none;
z-index: -1;
}
.container { max-width: 1400px; margin: 0 auto; padding: 0 24px; }
nav {
position: fixed;
top: 0; left: 0; right: 0;
padding: 20px 0;
background: rgba(13, 17, 23, 0.9);
backdrop-filter: blur(12px);
border-bottom: 1px solid var(--border-color);
z-index: 100;
}
nav .container { display: flex; justify-content: space-between; align-items: center; }
.logo { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.logo img { height: 40px; width: auto; }
.logo-text { font-size: 1.5rem; font-weight: 700; color: var(--accent-light); letter-spacing: -0.02em; }
.nav-links { display: flex; gap: 32px; list-style: none; }
.nav-links a { color: var(--text-secondary); text-decoration: none; font-weight: 500; font-size: 0.95rem; transition: color 0.2s ease; }
.nav-links a:hover, .nav-links a.active { color: var(--accent-light); }
.page-header { padding: 140px 0 60px; text-align: center; }
.page-header h1 { font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; margin-bottom: 16px; letter-spacing: -0.02em; }
.page-header h1 span { background: linear-gradient(135deg, var(--accent-light), var(--accent-blue)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.page-header p { font-size: 1.1rem; color: var(--text-secondary); max-width: 700px; margin: 0 auto 32px; }
.disclaimer-banner {
background: linear-gradient(135deg, rgba(0, 136, 204, 0.1), rgba(0, 136, 204, 0.05));
border: 1px solid var(--border-color);
border-radius: 12px;
padding: 24px 32px;
margin-bottom: 48px;
}
.disclaimer-banner h3 { font-size: 1rem; color: var(--accent-light); margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }
.disclaimer-banner ul { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 12px; }
.disclaimer-banner li { color: var(--text-secondary); font-size: 0.9rem; display: flex; align-items: flex-start; gap: 8px; }
.disclaimer-banner li::before { content: '✓'; color: var(--success-green); font-weight: bold; flex-shrink: 0; }
.disclaimer-banner a { color: var(--accent-light); }
.category-section { margin-bottom: 64px; }
.category-header { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; padding-bottom: 16px; border-bottom: 1px solid var(--border-color); }
.category-icon { font-size: 1.8rem; }
.category-header h2 { font-size: 1.5rem; font-weight: 600; color: var(--text-primary); }
.category-header .app-count { background: var(--bg-card); color: var(--text-secondary); padding: 4px 12px; border-radius: 12px; font-size: 0.8rem; font-weight: 500; }
.app-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 24px; }
.app-card {
background: var(--bg-card);
border: 1px solid var(--border-color);
border-radius: 12px;
overflow: hidden;
transition: all 0.3s ease;
display: flex;
flex-direction: column;
}
.app-card:hover { border-color: var(--accent-blue); transform: translateY(-4px); box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3); }
.app-card-header { display: flex; align-items: center; gap: 16px; padding: 20px; border-bottom: 1px solid var(--border-color); }
.app-logo { width: 48px; height: 48px; border-radius: 10px; object-fit: contain; background: var(--bg-secondary); padding: 6px; flex-shrink: 0; }
.app-title-area h3 { font-size: 1.1rem; font-weight: 600; color: var(--text-primary); margin-bottom: 4px; }
.app-title-area .app-tagline { font-size: 0.8rem; color: var(--text-muted); }
.app-card-body { padding: 20px; flex-grow: 1; display: flex; flex-direction: column; }
.app-description { color: var(--text-secondary); font-size: 0.9rem; line-height: 1.6; margin-bottom: 16px; flex-grow: 1; }
.app-features { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.app-feature { background: rgba(0, 136, 204, 0.1); color: var(--accent-light); padding: 4px 10px; border-radius: 6px; font-size: 0.75rem; font-weight: 500; }
.app-screenshot { width: 100%; aspect-ratio: 16/10; object-fit: cover; border-radius: 8px; border: 1px solid var(--border-color); background: var(--bg-secondary); }
.app-card-footer { padding: 16px 20px; border-top: 1px solid var(--border-color); display: flex; justify-content: space-between; align-items: center; }
.github-link { display: flex; align-items: center; gap: 6px; color: var(--text-secondary); text-decoration: none; font-size: 0.85rem; font-weight: 500; transition: color 0.2s ease; }
.github-link:hover { color: var(--accent-light); }
.github-link svg { width: 18px; height: 18px; fill: currentColor; }
.open-source-badge { display: flex; align-items: center; gap: 4px; color: var(--success-green); font-size: 0.75rem; font-weight: 500; }
.stats-section { background: var(--bg-secondary); padding: 60px 0; margin-top: 48px; }
.stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 32px; text-align: center; }
.stat-item h3 { font-size: 2.5rem; font-weight: 700; background: linear-gradient(135deg, var(--accent-light), var(--accent-blue)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; margin-bottom: 8px; }
.stat-item p { color: var(--text-secondary); font-size: 0.95rem; }
.cta-section { padding: 80px 0; text-align: center; }
.cta-section h2 { font-size: 2rem; font-weight: 700; margin-bottom: 16px; }
.cta-section p { color: var(--text-secondary); font-size: 1.1rem; margin-bottom: 32px; max-width: 600px; margin-left: auto; margin-right: auto; }
.cta-button { display: inline-flex; align-items: center; gap: 8px; background: linear-gradient(135deg, var(--accent-blue), var(--accent-light)); color: white; padding: 16px 32px; border-radius: 8px; text-decoration: none; font-weight: 600; font-size: 1rem; transition: transform 0.2s ease, box-shadow 0.2s ease; box-shadow: 0 4px 20px var(--accent-glow); }
.cta-button:hover { transform: translateY(-2px); box-shadow: 0 8px 30px var(--accent-glow); }
footer { padding: 32px 0; text-align: center; border-top: 1px solid var(--border-color); color: var(--text-secondary); font-size: 0.9rem; }
@media (max-width: 768px) {
.nav-links { display: none; }
.page-header { padding: 120px 0 40px; }
.disclaimer-banner { padding: 20px; }
.disclaimer-banner ul { grid-template-columns: 1fr; }
.app-grid { grid-template-columns: 1fr; }
.category-header { flex-wrap: wrap; }
}
</style>
</head>
<body>
<nav>
<div class="container">
<a href="/" class="logo">
<img src="/assets/logo.png" alt="Felhom.eu logo">
<span class="logo-text">felhom.eu</span>
</a>
<ul class="nav-links">
<li><a href="/#szolgaltatasok">Szolgáltatások</a></li>
<li><a href="/alkalmazasok.html" class="active">Alkalmazások</a></li>
<li><a href="/#miert">Miért érdemes?</a></li>
<li><a href="/#kapcsolat">Kapcsolat</a></li>
</ul>
</div>
</nav>
<main>
<section class="page-header">
<div class="container">
<h1>Telepíthető <span>Alkalmazások</span></h1>
<p>Válassz a nyílt forráskódú alkalmazások széles kínálatából. Mindegyik ingyenes, közösség által fejlesztett szoftver, amit a saját szervereden futtathatsz.</p>
<div class="disclaimer-banner">
<h3>️ Fontos tudnivalók</h3>
<ul>
<li>Az alkalmazások <strong>nyílt forráskódúak</strong> bárki ellenőrizheti a működésüket, nincs rejtett funkció</li>
<li>Szolgáltatásunk az alkalmazások <strong>telepítésére</strong> terjed ki, nem azok fejlesztésére vagy értékesítésére</li>
<li>Az alkalmazások működéséért és frissítéseiért az eredeti fejlesztők felelősek</li>
<li>Egyedi igények esetén további alkalmazások is telepíthetők <a href="/#kapcsolat">kérdezz bátran!</a></li>
</ul>
</div>
</div>
</section>
<section class="apps-section">
<div class="container">
<!-- Fájlkezelés & Felhő -->
<div class="category-section" id="fajlkezeles">
<div class="category-header">
<span class="category-icon">📁</span>
<h2>Fájlkezelés & Felhő</h2>
<span class="app-count">4 alkalmazás</span>
</div>
<div class="app-grid">
<div class="app-card">
<div class="app-card-header">
<img src="/assets/nextcloud-logo.png" alt="Nextcloud" class="app-logo">
<div class="app-title-area"><h3>Nextcloud</h3><span class="app-tagline">A saját Google Drive-od</span></div>
</div>
<div class="app-card-body">
<p class="app-description">Teljes értékű felhőszolgáltatás a saját szervereden. Fájlok szinkronizálása, naptár, kontaktok, dokumentumszerkesztés, és rengeteg bővítmény.</p>
<div class="app-features"><span class="app-feature">Fájl szinkron</span><span class="app-feature">Naptár</span><span class="app-feature">Dokumentumok</span><span class="app-feature">Mobil app</span></div>
<img src="/assets/nextcloud-screenshot.png" alt="Nextcloud screenshot" class="app-screenshot">
</div>
<div class="app-card-footer">
<a href="https://github.com/nextcloud/server" target="_blank" rel="noopener" class="github-link"><svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>Forráskód</a>
<span class="open-source-badge"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.78 5.72a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L4.22 8.78a.75.75 0 0 1 1.06-1.06l1.72 1.72 3.72-3.72a.75.75 0 0 1 1.06 0z"/></svg>Open Source</span>
</div>
</div>
<div class="app-card">
<div class="app-card-header">
<img src="/assets/filebrowser-logo.png" alt="FileBrowser" class="app-logo">
<div class="app-title-area"><h3>FileBrowser</h3><span class="app-tagline">Egyszerű webes fájlkezelő</span></div>
</div>
<div class="app-card-body">
<p class="app-description">Könnyű és gyors webes fájlkezelő. Böngészd, töltsd fel és oszd meg a fájljaidat bárhonnan, modern felületen keresztül.</p>
<div class="app-features"><span class="app-feature">Drag & drop</span><span class="app-feature">Megosztás</span><span class="app-feature">Előnézet</span><span class="app-feature">Keresés</span></div>
<img src="/assets/filebrowser-screenshot.png" alt="FileBrowser screenshot" class="app-screenshot">
</div>
<div class="app-card-footer">
<a href="https://github.com/filebrowser/filebrowser" target="_blank" rel="noopener" class="github-link"><svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>Forráskód</a>
<span class="open-source-badge"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.78 5.72a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L4.22 8.78a.75.75 0 0 1 1.06-1.06l1.72 1.72 3.72-3.72a.75.75 0 0 1 1.06 0z"/></svg>Open Source</span>
</div>
</div>
<div class="app-card">
<div class="app-card-header">
<img src="/assets/gokapi-logo.png" alt="Gokapi" class="app-logo">
<div class="app-title-area"><h3>Gokapi</h3><span class="app-tagline">Ideiglenes fájlmegosztás</span></div>
</div>
<div class="app-card-body">
<p class="app-description">Könnyűsúlyú fájlmegosztó szerver lejárati idővel és letöltési limittel. Tökéletes nagy fájlok gyors és biztonságos megosztására.</p>
<div class="app-features"><span class="app-feature">Lejárati idő</span><span class="app-feature">Letöltési limit</span><span class="app-feature">Jelszóvédelem</span></div>
<img src="/assets/gokapi-screenshot.png" alt="Gokapi screenshot" class="app-screenshot">
</div>
<div class="app-card-footer">
<a href="https://github.com/Forceu/Gokapi" target="_blank" rel="noopener" class="github-link"><svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>Forráskód</a>
<span class="open-source-badge"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.78 5.72a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L4.22 8.78a.75.75 0 0 1 1.06-1.06l1.72 1.72 3.72-3.72a.75.75 0 0 1 1.06 0z"/></svg>Open Source</span>
</div>
</div>
<div class="app-card">
<div class="app-card-header">
<img src="/assets/zipline-logo.png" alt="Zipline" class="app-logo">
<div class="app-title-area"><h3>Zipline</h3><span class="app-tagline">ShareX/Flameshot szerver</span></div>
</div>
<div class="app-card-body">
<p class="app-description">Modern, funkciógazdag fájl- és képmegosztó. Tökéletes screenshot megosztásra, URL rövidítésre és szövegtárolásra.</p>
<div class="app-features"><span class="app-feature">Screenshot</span><span class="app-feature">URL rövidítő</span><span class="app-feature">Galéria</span><span class="app-feature">API</span></div>
<img src="/assets/zipline-screenshot.png" alt="Zipline screenshot" class="app-screenshot">
</div>
<div class="app-card-footer">
<a href="https://github.com/diced/zipline" target="_blank" rel="noopener" class="github-link"><svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>Forráskód</a>
<span class="open-source-badge"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.78 5.72a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L4.22 8.78a.75.75 0 0 1 1.06-1.06l1.72 1.72 3.72-3.72a.75.75 0 0 1 1.06 0z"/></svg>Open Source</span>
</div>
</div>
</div>
</div>
<!-- Fotók & Média -->
<div class="category-section" id="fotok-media">
<div class="category-header">
<span class="category-icon">📷</span>
<h2>Fotók & Média</h2>
<span class="app-count">3 alkalmazás</span>
</div>
<div class="app-grid">
<div class="app-card">
<div class="app-card-header">
<img src="/assets/immich-logo.png" alt="Immich" class="app-logo">
<div class="app-title-area"><h3>Immich</h3><span class="app-tagline">Google Photos alternatíva</span></div>
</div>
<div class="app-card-body">
<p class="app-description">Gyors és modern fotó/videó mentési megoldás. Automatikus feltöltés telefonról, arc- és tárgyfelismerés, megosztás és emlékek.</p>
<div class="app-features"><span class="app-feature">Auto backup</span><span class="app-feature">Arcfelismerés</span><span class="app-feature">Térkép</span><span class="app-feature">Mobil app</span></div>
<img src="/assets/immich-screenshot.png" alt="Immich screenshot" class="app-screenshot">
</div>
<div class="app-card-footer">
<a href="https://github.com/immich-app/immich" target="_blank" rel="noopener" class="github-link"><svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>Forráskód</a>
<span class="open-source-badge"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.78 5.72a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L4.22 8.78a.75.75 0 0 1 1.06-1.06l1.72 1.72 3.72-3.72a.75.75 0 0 1 1.06 0z"/></svg>Open Source</span>
</div>
</div>
<div class="app-card">
<div class="app-card-header">
<img src="/assets/audiobookshelf-logo.png" alt="Audiobookshelf" class="app-logo">
<div class="app-title-area"><h3>Audiobookshelf</h3><span class="app-tagline">Hangoskönyv & podcast</span></div>
</div>
<div class="app-card-body">
<p class="app-description">Hangoskönyv és podcast kezelő szerver. Automatikus metaadat letöltés, folytatás ahol abbahagytad, és dedikált mobil alkalmazások.</p>
<div class="app-features"><span class="app-feature">Hangoskönyvek</span><span class="app-feature">Podcastok</span><span class="app-feature">Szinkron</span><span class="app-feature">Mobil app</span></div>
<img src="/assets/audiobookshelf-screenshot.png" alt="Audiobookshelf screenshot" class="app-screenshot">
</div>
<div class="app-card-footer">
<a href="https://github.com/advplyr/audiobookshelf" target="_blank" rel="noopener" class="github-link"><svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>Forráskód</a>
<span class="open-source-badge"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.78 5.72a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L4.22 8.78a.75.75 0 0 1 1.06-1.06l1.72 1.72 3.72-3.72a.75.75 0 0 1 1.06 0z"/></svg>Open Source</span>
</div>
</div>
<div class="app-card">
<div class="app-card-header">
<img src="/assets/calibre-web-logo.png" alt="Calibre-web" class="app-logo">
<div class="app-title-area"><h3>Calibre-web</h3><span class="app-tagline">E-könyv könyvtár</span></div>
</div>
<div class="app-card-body">
<p class="app-description">Webes felület a Calibre könyvtáradhoz. Böngészd, olvasd és töltsd le az e-könyveidet bárhonnan, Kindle támogatással.</p>
<div class="app-features"><span class="app-feature">E-könyvek</span><span class="app-feature">Kindle küldés</span><span class="app-feature">OPDS</span><span class="app-feature">Olvasó</span></div>
<img src="/assets/calibre-web-screenshot.png" alt="Calibre-web screenshot" class="app-screenshot">
</div>
<div class="app-card-footer">
<a href="https://github.com/janeczku/calibre-web" target="_blank" rel="noopener" class="github-link"><svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>Forráskód</a>
<span class="open-source-badge"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.78 5.72a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L4.22 8.78a.75.75 0 0 1 1.06-1.06l1.72 1.72 3.72-3.72a.75.75 0 0 1 1.06 0z"/></svg>Open Source</span>
</div>
</div>
</div>
</div>
<!-- Dokumentumkezelés & Tudásbázis -->
<div class="category-section" id="dokumentumok">
<div class="category-header">
<span class="category-icon">📄</span>
<h2>Dokumentumkezelés & Tudásbázis</h2>
<span class="app-count">3 alkalmazás</span>
</div>
<div class="app-grid">
<div class="app-card">
<div class="app-card-header">
<img src="/assets/paperless-ngx-logo.png" alt="Paperless-ngx" class="app-logo">
<div class="app-title-area"><h3>Paperless-ngx</h3><span class="app-tagline">Digitális irattár</span></div>
</div>
<div class="app-card-body">
<p class="app-description">Szkenneld be a papír dokumentumaidat és felejtsd el őket. OCR, automatikus kategorizálás, és teljes szöveges keresés.</p>
<div class="app-features"><span class="app-feature">OCR</span><span class="app-feature">Auto kategória</span><span class="app-feature">Keresés</span><span class="app-feature">Címkék</span></div>
<img src="/assets/paperless-ngx-screenshot.png" alt="Paperless-ngx screenshot" class="app-screenshot">
</div>
<div class="app-card-footer">
<a href="https://github.com/paperless-ngx/paperless-ngx" target="_blank" rel="noopener" class="github-link"><svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>Forráskód</a>
<span class="open-source-badge"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.78 5.72a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L4.22 8.78a.75.75 0 0 1 1.06-1.06l1.72 1.72 3.72-3.72a.75.75 0 0 1 1.06 0z"/></svg>Open Source</span>
</div>
</div>
<div class="app-card">
<div class="app-card-header">
<img src="/assets/bookstack-logo.png" alt="BookStack" class="app-logo">
<div class="app-title-area"><h3>BookStack</h3><span class="app-tagline">Könyv-szerű dokumentáció</span></div>
</div>
<div class="app-card-body">
<p class="app-description">Egyszerű, önhostolt wiki platform. Rendezd tudásodat könyvekbe, fejezetekbe és oldalakra könnyen kereshető formában.</p>
<div class="app-features"><span class="app-feature">WYSIWYG</span><span class="app-feature">Könyvek</span><span class="app-feature">Keresés</span><span class="app-feature">Jogosultságok</span></div>
<img src="/assets/bookstack-screenshot.png" alt="BookStack screenshot" class="app-screenshot">
</div>
<div class="app-card-footer">
<a href="https://github.com/BookStackApp/BookStack" target="_blank" rel="noopener" class="github-link"><svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>Forráskód</a>
<span class="open-source-badge"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.78 5.72a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L4.22 8.78a.75.75 0 0 1 1.06-1.06l1.72 1.72 3.72-3.72a.75.75 0 0 1 1.06 0z"/></svg>Open Source</span>
</div>
</div>
<div class="app-card">
<div class="app-card-header">
<img src="/assets/outline-logo.png" alt="Outline" class="app-logo">
<div class="app-title-area"><h3>Outline</h3><span class="app-tagline">Csapat tudásbázis</span></div>
</div>
<div class="app-card-body">
<p class="app-description">Gyönyörű wiki és tudásbázis csapatok számára. Markdown támogatás, valós idejű együttműködés, és strukturált dokumentáció.</p>
<div class="app-features"><span class="app-feature">Markdown</span><span class="app-feature">Együttműködés</span><span class="app-feature">Keresés</span><span class="app-feature">Integráció</span></div>
<img src="/assets/outline-screenshot.png" alt="Outline screenshot" class="app-screenshot">
</div>
<div class="app-card-footer">
<a href="https://github.com/outline/outline" target="_blank" rel="noopener" class="github-link"><svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>Forráskód</a>
<span class="open-source-badge"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.78 5.72a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L4.22 8.78a.75.75 0 0 1 1.06-1.06l1.72 1.72 3.72-3.72a.75.75 0 0 1 1.06 0z"/></svg>Open Source</span>
</div>
</div>
</div>
</div>
<!-- Biztonság & Adatvédelem -->
<div class="category-section" id="biztonsag">
<div class="category-header">
<span class="category-icon">🔐</span>
<h2>Biztonság & Adatvédelem</h2>
<span class="app-count">2 alkalmazás</span>
</div>
<div class="app-grid">
<div class="app-card">
<div class="app-card-header">
<img src="/assets/vaultwarden-logo.png" alt="Vaultwarden" class="app-logo">
<div class="app-title-area"><h3>Vaultwarden</h3><span class="app-tagline">Jelszókezelő (Bitwarden)</span></div>
</div>
<div class="app-card-body">
<p class="app-description">Könnyű Bitwarden szerver implementáció. Tárold biztonságosan a jelszavaidat, és szinkronizáld minden eszközödön.</p>
<div class="app-features"><span class="app-feature">E2E titkosítás</span><span class="app-feature">Mobil app</span><span class="app-feature">Böngésző kieg.</span><span class="app-feature">2FA</span></div>
<img src="/assets/vaultwarden-screenshot.png" alt="Vaultwarden screenshot" class="app-screenshot">
</div>
<div class="app-card-footer">
<a href="https://github.com/dani-garcia/vaultwarden" target="_blank" rel="noopener" class="github-link"><svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>Forráskód</a>
<span class="open-source-badge"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.78 5.72a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L4.22 8.78a.75.75 0 0 1 1.06-1.06l1.72 1.72 3.72-3.72a.75.75 0 0 1 1.06 0z"/></svg>Open Source</span>
</div>
</div>
<div class="app-card">
<div class="app-card-header">
<img src="/assets/privatebin-logo.png" alt="PrivateBin" class="app-logo">
<div class="app-title-area"><h3>PrivateBin</h3><span class="app-tagline">Titkosított paste</span></div>
</div>
<div class="app-card-body">
<p class="app-description">Minimális, titkosított pastebin. A szerver nem látja a tartalmakat tökéletes érzékeny szövegek biztonságos megosztására.</p>
<div class="app-features"><span class="app-feature">E2E titkosítás</span><span class="app-feature">Lejárat</span><span class="app-feature">Égés után</span><span class="app-feature">Jelszóvédelem</span></div>
<img src="/assets/privatebin-screenshot.png" alt="PrivateBin screenshot" class="app-screenshot">
</div>
<div class="app-card-footer">
<a href="https://github.com/PrivateBin/PrivateBin" target="_blank" rel="noopener" class="github-link"><svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>Forráskód</a>
<span class="open-source-badge"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.78 5.72a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L4.22 8.78a.75.75 0 0 1 1.06-1.06l1.72 1.72 3.72-3.72a.75.75 0 0 1 1.06 0z"/></svg>Open Source</span>
</div>
</div>
</div>
</div>
<!-- Otthon & Életmód -->
<div class="category-section" id="otthon">
<div class="category-header">
<span class="category-icon">🏠</span>
<h2>Otthon & Életmód</h2>
<span class="app-count">4 alkalmazás</span>
</div>
<div class="app-grid">
<div class="app-card">
<div class="app-card-header">
<img src="/assets/tandoor-logo.png" alt="Tandoor" class="app-logo">
<div class="app-title-area"><h3>Tandoor Recipes</h3><span class="app-tagline">Receptkezelő</span></div>
</div>
<div class="app-card-body">
<p class="app-description">Receptek tárolása, étkezés tervezés és bevásárlólista. Importálj recepteket webről, oszd meg a családdal.</p>
<div class="app-features"><span class="app-feature">Recept import</span><span class="app-feature">Étlap tervezés</span><span class="app-feature">Bevásárlólista</span></div>
<img src="/assets/tandoor-screenshot.png" alt="Tandoor screenshot" class="app-screenshot">
</div>
<div class="app-card-footer">
<a href="https://github.com/TandoorRecipes/recipes" target="_blank" rel="noopener" class="github-link"><svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>Forráskód</a>
<span class="open-source-badge"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.78 5.72a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L4.22 8.78a.75.75 0 0 1 1.06-1.06l1.72 1.72 3.72-3.72a.75.75 0 0 1 1.06 0z"/></svg>Open Source</span>
</div>
</div>
<div class="app-card">
<div class="app-card-header">
<img src="/assets/plantit-logo.png" alt="Plant-it" class="app-logo">
<div class="app-title-area"><h3>Plant-it</h3><span class="app-tagline">Növénynapló</span></div>
</div>
<div class="app-card-body">
<p class="app-description">Tartsd nyilván a növényeidet és gondozásukat. Emlékeztetők öntözésre, trágyázásra, és fotónapló a fejlődésről.</p>
<div class="app-features"><span class="app-feature">Emlékeztetők</span><span class="app-feature">Fotónapló</span><span class="app-feature">Statisztikák</span></div>
<img src="/assets/plantit-screenshot.png" alt="Plant-it screenshot" class="app-screenshot">
</div>
<div class="app-card-footer">
<a href="https://github.com/MDeLuise/plant-it" target="_blank" rel="noopener" class="github-link"><svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>Forráskód</a>
<span class="open-source-badge"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.78 5.72a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L4.22 8.78a.75.75 0 0 1 1.06-1.06l1.72 1.72 3.72-3.72a.75.75 0 0 1 1.06 0z"/></svg>Open Source</span>
</div>
</div>
<div class="app-card">
<div class="app-card-header">
<img src="/assets/wger-logo.png" alt="wger" class="app-logo">
<div class="app-title-area"><h3>wger</h3><span class="app-tagline">Edzésnapló</span></div>
</div>
<div class="app-card-body">
<p class="app-description">Edzéstervező és napló alkalmazás. Kövesd nyomon az edzéseidet, testsúlyodat és kalória beviteledet egy helyen.</p>
<div class="app-features"><span class="app-feature">Edzéstervek</span><span class="app-feature">Testsúly követés</span><span class="app-feature">Kalória napló</span></div>
<img src="/assets/wger-screenshot.png" alt="wger screenshot" class="app-screenshot">
</div>
<div class="app-card-footer">
<a href="https://github.com/wger-project/wger" target="_blank" rel="noopener" class="github-link"><svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>Forráskód</a>
<span class="open-source-badge"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.78 5.72a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L4.22 8.78a.75.75 0 0 1 1.06-1.06l1.72 1.72 3.72-3.72a.75.75 0 0 1 1.06 0z"/></svg>Open Source</span>
</div>
</div>
<div class="app-card">
<div class="app-card-header">
<img src="/assets/actualbudget-logo.png" alt="Actual Budget" class="app-logo">
<div class="app-title-area"><h3>Actual Budget</h3><span class="app-tagline">Költségvetés tervező</span></div>
</div>
<div class="app-card-body">
<p class="app-description">Helyi-központú személyes pénzügyek kezelése. Költségvetés tervezés, tranzakció követés, és pénzügyi célok.</p>
<div class="app-features"><span class="app-feature">Költségvetés</span><span class="app-feature">Szinkron</span><span class="app-feature">Bank import</span><span class="app-feature">Riportok</span></div>
<img src="/assets/actualbudget-screenshot.png" alt="Actual Budget screenshot" class="app-screenshot">
</div>
<div class="app-card-footer">
<a href="https://github.com/actualbudget/actual" target="_blank" rel="noopener" class="github-link"><svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>Forráskód</a>
<span class="open-source-badge"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.78 5.72a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L4.22 8.78a.75.75 0 0 1 1.06-1.06l1.72 1.72 3.72-3.72a.75.75 0 0 1 1.06 0z"/></svg>Open Source</span>
</div>
</div>
</div>
</div>
<!-- Utazás & Szabadidő -->
<div class="category-section" id="utazas">
<div class="category-header">
<span class="category-icon">🗺️</span>
<h2>Utazás & Szabadidő</h2>
<span class="app-count">3 alkalmazás</span>
</div>
<div class="app-grid">
<div class="app-card">
<div class="app-card-header">
<img src="/assets/adventurelog-logo.png" alt="AdventureLog" class="app-logo">
<div class="app-title-area"><h3>AdventureLog</h3><span class="app-tagline">Utazási napló</span></div>
</div>
<div class="app-card-body">
<p class="app-description">Dokumentáld az utazásaidat és kalandjaidat. Térképes megjelenítés, fotók, statisztikák a meglátogatott helyekről.</p>
<div class="app-features"><span class="app-feature">Térkép</span><span class="app-feature">Fotók</span><span class="app-feature">Statisztikák</span><span class="app-feature">Megosztás</span></div>
<img src="/assets/adventurelog-screenshot.png" alt="AdventureLog screenshot" class="app-screenshot">
</div>
<div class="app-card-footer">
<a href="https://github.com/seanmorley15/AdventureLog" target="_blank" rel="noopener" class="github-link"><svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>Forráskód</a>
<span class="open-source-badge"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.78 5.72a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L4.22 8.78a.75.75 0 0 1 1.06-1.06l1.72 1.72 3.72-3.72a.75.75 0 0 1 1.06 0z"/></svg>Open Source</span>
</div>
</div>
<div class="app-card">
<div class="app-card-header">
<img src="/assets/wanderer-logo.png" alt="Wanderer" class="app-logo">
<div class="app-title-area"><h3>Wanderer</h3><span class="app-tagline">Túra tervező</span></div>
</div>
<div class="app-card-body">
<p class="app-description">Túrák és útvonalak tervezése, GPX fájlok kezelése. Térképes megjelenítés szintvonalakkal, útvonal statisztikák.</p>
<div class="app-features"><span class="app-feature">GPX import</span><span class="app-feature">Térképek</span><span class="app-feature">Szintadatok</span><span class="app-feature">Útvonalak</span></div>
<img src="/assets/wanderer-screenshot.png" alt="Wanderer screenshot" class="app-screenshot">
</div>
<div class="app-card-footer">
<a href="https://github.com/Flomp/wanderer" target="_blank" rel="noopener" class="github-link"><svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>Forráskód</a>
<span class="open-source-badge"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.78 5.72a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L4.22 8.78a.75.75 0 0 1 1.06-1.06l1.72 1.72 3.72-3.72a.75.75 0 0 1 1.06 0z"/></svg>Open Source</span>
</div>
</div>
<div class="app-card">
<div class="app-card-header">
<img src="/assets/calcom-logo.png" alt="Cal.com" class="app-logo">
<div class="app-title-area"><h3>Cal.com</h3><span class="app-tagline">Időpontfoglaló</span></div>
</div>
<div class="app-card-body">
<p class="app-description">Nyílt forráskódú Calendly alternatíva. Könnyű időpont egyeztetés ügyfelekkel, naptár integrációk és automatikus emlékeztetők.</p>
<div class="app-features"><span class="app-feature">Foglalási oldal</span><span class="app-feature">Naptár szinkron</span><span class="app-feature">Csapatok</span><span class="app-feature">Emlékeztetők</span></div>
<img src="/assets/calcom-screenshot.png" alt="Cal.com screenshot" class="app-screenshot">
</div>
<div class="app-card-footer">
<a href="https://github.com/calcom/cal.com" target="_blank" rel="noopener" class="github-link"><svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>Forráskód</a>
<span class="open-source-badge"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.78 5.72a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L4.22 8.78a.75.75 0 0 1 1.06-1.06l1.72 1.72 3.72-3.72a.75.75 0 0 1 1.06 0z"/></svg>Open Source</span>
</div>
</div>
</div>
</div>
<!-- Dashboard & Monitoring -->
<div class="category-section" id="dashboard">
<div class="category-header">
<span class="category-icon">📊</span>
<h2>Dashboard & Monitoring</h2>
<span class="app-count">3 alkalmazás</span>
</div>
<div class="app-grid">
<div class="app-card">
<div class="app-card-header">
<img src="/assets/homepage-logo.png" alt="Homepage" class="app-logo">
<div class="app-title-area"><h3>Homepage</h3><span class="app-tagline">Személyes kezdőlap</span></div>
</div>
<div class="app-card-body">
<p class="app-description">Gyönyörű és funkciókban gazdag kezdőlap a szerveredhez. Szolgáltatás státuszok, widgetek, könyvjelzők egy helyen.</p>
<div class="app-features"><span class="app-feature">Widgetek</span><span class="app-feature">Integrációk</span><span class="app-feature">Témák</span><span class="app-feature">Státusz</span></div>
<img src="/assets/homepage-screenshot.png" alt="Homepage screenshot" class="app-screenshot">
</div>
<div class="app-card-footer">
<a href="https://github.com/gethomepage/homepage" target="_blank" rel="noopener" class="github-link"><svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>Forráskód</a>
<span class="open-source-badge"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.78 5.72a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L4.22 8.78a.75.75 0 0 1 1.06-1.06l1.72 1.72 3.72-3.72a.75.75 0 0 1 1.06 0z"/></svg>Open Source</span>
</div>
</div>
<div class="app-card">
<div class="app-card-header">
<img src="/assets/glance-logo.png" alt="Glance" class="app-logo">
<div class="app-title-area"><h3>Glance</h3><span class="app-tagline">Információs dashboard</span></div>
</div>
<div class="app-card-body">
<p class="app-description">Minimális, gyors dashboard mindenféle információval. RSS, időjárás, könyvjelzők, Reddit, YouTube és sok más egy oldalon.</p>
<div class="app-features"><span class="app-feature">RSS</span><span class="app-feature">Időjárás</span><span class="app-feature">YouTube</span><span class="app-feature">Gyors</span></div>
<img src="/assets/glance-screenshot.png" alt="Glance screenshot" class="app-screenshot">
</div>
<div class="app-card-footer">
<a href="https://github.com/glanceapp/glance" target="_blank" rel="noopener" class="github-link"><svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>Forráskód</a>
<span class="open-source-badge"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.78 5.72a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L4.22 8.78a.75.75 0 0 1 1.06-1.06l1.72 1.72 3.72-3.72a.75.75 0 0 1 1.06 0z"/></svg>Open Source</span>
</div>
</div>
<div class="app-card">
<div class="app-card-header">
<img src="/assets/uptimekuma-logo.png" alt="Uptime Kuma" class="app-logo">
<div class="app-title-area"><h3>Uptime Kuma</h3><span class="app-tagline">Szolgáltatás monitoring</span></div>
</div>
<div class="app-card-body">
<p class="app-description">Elegáns szolgáltatás monitorozó. Figyeld a weboldalaidat, API-kat, és kapj értesítést ha valami nem működik.</p>
<div class="app-features"><span class="app-feature">HTTP/TCP/DNS</span><span class="app-feature">Értesítések</span><span class="app-feature">Státusz oldal</span><span class="app-feature">Grafikonok</span></div>
<img src="/assets/uptimekuma-screenshot.png" alt="Uptime Kuma screenshot" class="app-screenshot">
</div>
<div class="app-card-footer">
<a href="https://github.com/louislam/uptime-kuma" target="_blank" rel="noopener" class="github-link"><svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>Forráskód</a>
<span class="open-source-badge"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.78 5.72a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L4.22 8.78a.75.75 0 0 1 1.06-1.06l1.72 1.72 3.72-3.72a.75.75 0 0 1 1.06 0z"/></svg>Open Source</span>
</div>
</div>
</div>
</div>
<!-- Fejlesztőknek -->
<div class="category-section" id="fejlesztes">
<div class="category-header">
<span class="category-icon">👨‍💻</span>
<h2>Fejlesztőknek</h2>
<span class="app-count">3 alkalmazás</span>
</div>
<div class="app-grid">
<div class="app-card">
<div class="app-card-header">
<img src="/assets/gitea-logo.png" alt="Gitea" class="app-logo">
<div class="app-title-area"><h3>Gitea</h3><span class="app-tagline">Git szerver (GitHub)</span></div>
</div>
<div class="app-card-body">
<p class="app-description">Könnyű, gyors Git hosting szolgáltatás. A saját GitHub/GitLab-od, issue tracking, CI/CD, és package registry.</p>
<div class="app-features"><span class="app-feature">Git hosting</span><span class="app-feature">Issues</span><span class="app-feature">CI/CD</span><span class="app-feature">Wiki</span></div>
<img src="/assets/gitea-screenshot.png" alt="Gitea screenshot" class="app-screenshot">
</div>
<div class="app-card-footer">
<a href="https://github.com/go-gitea/gitea" target="_blank" rel="noopener" class="github-link"><svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>Forráskód</a>
<span class="open-source-badge"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.78 5.72a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L4.22 8.78a.75.75 0 0 1 1.06-1.06l1.72 1.72 3.72-3.72a.75.75 0 0 1 1.06 0z"/></svg>Open Source</span>
</div>
</div>
<div class="app-card">
<div class="app-card-header">
<img src="/assets/code-server-logo.png" alt="Code-Server" class="app-logo">
<div class="app-title-area"><h3>Code-Server</h3><span class="app-tagline">VS Code böngészőben</span></div>
</div>
<div class="app-card-body">
<p class="app-description">Visual Studio Code a böngészőben. Fejlessz bárhonnan, bármilyen eszközről ugyanazzal az ismerős felülettel.</p>
<div class="app-features"><span class="app-feature">VS Code</span><span class="app-feature">Bővítmények</span><span class="app-feature">Terminál</span><span class="app-feature">Git</span></div>
<img src="/assets/code-server-screenshot.png" alt="Code-Server screenshot" class="app-screenshot">
</div>
<div class="app-card-footer">
<a href="https://github.com/coder/code-server" target="_blank" rel="noopener" class="github-link"><svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>Forráskód</a>
<span class="open-source-badge"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.78 5.72a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L4.22 8.78a.75.75 0 0 1 1.06-1.06l1.72 1.72 3.72-3.72a.75.75 0 0 1 1.06 0z"/></svg>Open Source</span>
</div>
</div>
<div class="app-card">
<div class="app-card-header">
<img src="/assets/opengist-logo.png" alt="OpenGist" class="app-logo">
<div class="app-title-area"><h3>OpenGist</h3><span class="app-tagline">Kód snippetek (Gist)</span></div>
</div>
<div class="app-card-body">
<p class="app-description">Saját GitHub Gist szerver. Kód snippetek megosztása, szintaxis kiemelés, és verziókezelés Git alapokon.</p>
<div class="app-features"><span class="app-feature">Snippetek</span><span class="app-feature">Szintaxis</span><span class="app-feature">Git</span><span class="app-feature">Embed</span></div>
<img src="/assets/opengist-screenshot.png" alt="OpenGist screenshot" class="app-screenshot">
</div>
<div class="app-card-footer">
<a href="https://github.com/thomiceli/opengist" target="_blank" rel="noopener" class="github-link"><svg viewBox="0 0 16 16"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>Forráskód</a>
<span class="open-source-badge"><svg width="12" height="12" viewBox="0 0 16 16" fill="currentColor"><path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.78 5.72a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L4.22 8.78a.75.75 0 0 1 1.06-1.06l1.72 1.72 3.72-3.72a.75.75 0 0 1 1.06 0z"/></svg>Open Source</span>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Stats Section -->
<section class="stats-section">
<div class="container">
<div class="stats-grid">
<div class="stat-item">
<h3>25+</h3>
<p>Elérhető alkalmazás</p>
</div>
<div class="stat-item">
<h3>10</h3>
<p>Kategória</p>
</div>
<div class="stat-item">
<h3>100%</h3>
<p>Nyílt forráskódú</p>
</div>
<div class="stat-item">
<h3>0 Ft</h3>
<p>Licenc költség</p>
</div>
</div>
</div>
</section>
<!-- CTA Section -->
<section class="cta-section">
<div class="container">
<h2>Nem találod amit keresel?</h2>
<p>Ez csak egy részlet a telepíthető alkalmazásokból. Ha van egy konkrét igényed, keress minket és megtaláljuk a megfelelő megoldást!</p>
<a href="/#kapcsolat" class="cta-button">Kapcsolatfelvétel →</a>
</div>
</section>
</main>
<footer>
<div class="container">
<p>© 2025 felhom.eu — Saját felhőd, saját szabályaid</p>
</div>
</footer>
</body>
</html>
---
# ConfigMap containing the website HTML
# NOTE: For larger sites, consider using a custom Docker image instead
apiVersion: v1
kind: ConfigMap
metadata:
name: felhom-website-index
namespace: felhom-system
labels:
app.kubernetes.io/name: felhom
app.kubernetes.io/instance: felhom
data:
index.html: |
<!DOCTYPE html>
<html lang="hu">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Felhom.eu - Saját szerver, saját adatok. Professzionális otthoni szerver telepítés és üzemeltetés.">
<title>Felhom.eu - Saját felhőd, saját szabályaid</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<link rel="icon" type="image/png" href="/assets/logo.png">
<style>
:root {
--bg-primary: #0d1117;
--bg-secondary: #161b22;
--bg-card: #1c2128;
--text-primary: #e6edf3;
--text-secondary: #8b949e;
--accent-blue: #0088cc;
--accent-light: #00aaff;
--accent-glow: rgba(0, 136, 204, 0.3);
--border-color: #30363d;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
background: var(--bg-primary);
color: var(--text-primary);
line-height: 1.6;
min-height: 100vh;
}
body::before {
content: '';
position: fixed;
top: 0; left: 0;
width: 100%; height: 100%;
background-image:
linear-gradient(rgba(0, 136, 204, 0.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(0, 136, 204, 0.03) 1px, transparent 1px);
background-size: 50px 50px;
pointer-events: none;
z-index: -1;
}
.container { max-width: 1100px; margin: 0 auto; padding: 0 24px; }
nav {
position: fixed;
top: 0; left: 0; right: 0;
padding: 20px 0;
background: rgba(13, 17, 23, 0.8);
backdrop-filter: blur(12px);
border-bottom: 1px solid var(--border-color);
z-index: 100;
}
nav .container { display: flex; justify-content: space-between; align-items: center; }
.logo { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.logo img { height: 40px; width: auto; }
.logo-text { font-size: 1.5rem; font-weight: 700; color: var(--accent-light); letter-spacing: -0.02em; }
.nav-links { display: flex; gap: 32px; list-style: none; }
.nav-links a { color: var(--text-secondary); text-decoration: none; font-weight: 500; font-size: 0.95rem; transition: color 0.2s ease; }
.nav-links a:hover { color: var(--accent-light); }
.hero {
min-height: 100vh;
display: flex;
align-items: center;
padding: 120px 0 80px;
}
.hero-content { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.hero-text h1 {
font-size: clamp(2.5rem, 5vw, 3.5rem);
font-weight: 700;
line-height: 1.1;
margin-bottom: 24px;
letter-spacing: -0.03em;
}
.hero-text h1 span {
background: linear-gradient(135deg, var(--accent-light), var(--accent-blue));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.hero-text p { font-size: 1.2rem; color: var(--text-secondary); margin-bottom: 32px; max-width: 500px; }
.hero-visual { display: flex; justify-content: center; align-items: center; }
.hero-visual img {
max-width: 380px;
width: 100%;
height: auto;
filter: drop-shadow(0 0 60px var(--accent-glow));
animation: float 6s ease-in-out infinite;
}
@keyframes float {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-15px); }
}
.cta-button {
display: inline-flex;
align-items: center;
gap: 8px;
background: linear-gradient(135deg, var(--accent-blue), var(--accent-light));
color: white;
padding: 16px 32px;
border-radius: 8px;
text-decoration: none;
font-weight: 600;
font-size: 1rem;
transition: transform 0.2s ease, box-shadow 0.2s ease;
box-shadow: 0 4px 20px var(--accent-glow);
}
.cta-button:hover { transform: translateY(-2px); box-shadow: 0 8px 30px var(--accent-glow); }
.problem { padding: 100px 0; background: var(--bg-secondary); }
.section-header { text-align: center; margin-bottom: 60px; }
.section-header h2 { font-size: 2.2rem; font-weight: 700; margin-bottom: 16px; letter-spacing: -0.02em; }
.section-header p { color: var(--text-secondary); font-size: 1.1rem; max-width: 600px; margin: 0 auto; }
.problem-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.problem-card {
background: var(--bg-card);
border: 1px solid var(--border-color);
border-radius: 12px;
padding: 32px;
transition: border-color 0.3s ease, transform 0.3s ease;
}
.problem-card:hover { border-color: var(--accent-blue); transform: translateY(-4px); }
.problem-icon { font-size: 2.5rem; margin-bottom: 20px; }
.problem-card h3 { font-size: 1.2rem; margin-bottom: 12px; color: var(--text-primary); }
.problem-card p { color: var(--text-secondary); font-size: 0.95rem; }
.services { padding: 100px 0; }
.service-list { display: grid; gap: 20px; }
.service-item {
display: grid;
grid-template-columns: auto 1fr auto;
gap: 24px;
align-items: center;
background: var(--bg-card);
border: 1px solid var(--border-color);
border-radius: 12px;
padding: 28px 32px;
transition: border-color 0.3s ease;
}
.service-item:hover { border-color: var(--accent-blue); }
.service-number {
font-family: 'JetBrains Mono', monospace;
font-size: 0.9rem;
color: var(--accent-light);
background: rgba(0, 136, 204, 0.15);
padding: 8px 14px;
border-radius: 6px;
font-weight: 500;
}
.service-content h3 { font-size: 1.15rem; margin-bottom: 6px; }
.service-content p { color: var(--text-secondary); font-size: 0.95rem; }
.service-icon { font-size: 1.8rem; }
.why { padding: 100px 0; background: var(--bg-secondary); }
.why-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px; }
.why-card {
padding: 40px;
background: linear-gradient(135deg, var(--bg-card), var(--bg-primary));
border: 1px solid var(--border-color);
border-radius: 16px;
position: relative;
overflow: hidden;
}
.why-card::before {
content: '';
position: absolute;
top: 0; left: 0;
width: 4px; height: 100%;
background: linear-gradient(180deg, var(--accent-light), var(--accent-blue));
}
.why-card h3 { font-size: 1.3rem; margin-bottom: 16px; display: flex; align-items: center; gap: 12px; }
.why-card p { color: var(--text-secondary); font-size: 1rem; line-height: 1.7; }
.contact { padding: 100px 0; text-align: center; }
.contact-box {
max-width: 600px;
margin: 0 auto;
background: var(--bg-card);
border: 1px solid var(--border-color);
border-radius: 16px;
padding: 48px;
}
.contact-box h2 { font-size: 2rem; margin-bottom: 16px; }
.contact-box p { color: var(--text-secondary); margin-bottom: 32px; }
.contact-methods { display: flex; flex-direction: column; gap: 16px; }
.contact-link {
display: flex;
align-items: center;
justify-content: center;
gap: 12px;
padding: 16px 24px;
background: var(--bg-secondary);
border: 1px solid var(--border-color);
border-radius: 8px;
color: var(--text-primary);
text-decoration: none;
font-weight: 500;
transition: border-color 0.2s ease, background 0.2s ease;
}
.contact-link:hover { border-color: var(--accent-blue); background: rgba(0, 136, 204, 0.1); }
footer { padding: 40px 0; border-top: 1px solid var(--border-color); text-align: center; }
footer p { color: var(--text-secondary); font-size: 0.9rem; }
.beta-badge {
display: inline-block;
background: rgba(0, 136, 204, 0.2);
color: var(--accent-light);
padding: 6px 12px;
border-radius: 20px;
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 16px;
}
@media (max-width: 900px) {
.hero-content { grid-template-columns: 1fr; text-align: center; }
.hero-text p { margin-left: auto; margin-right: auto; }
.hero-visual { order: -1; }
.hero-visual img { max-width: 280px; }
.why-grid { grid-template-columns: 1fr; }
.service-item { grid-template-columns: 1fr; text-align: center; gap: 16px; }
.nav-links { display: none; }
}
@media (max-width: 600px) {
.hero { padding: 100px 0 60px; }
.section-header h2 { font-size: 1.8rem; }
.contact-box { padding: 32px 24px; }
}
.apps-preview { padding: 100px 0; }
.apps-showcase {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
gap: 20px;
margin-bottom: 48px;
}
.app-category-preview {
background: var(--bg-card);
border: 1px solid var(--border-color);
border-radius: 12px;
padding: 24px;
text-align: center;
transition: all 0.3s ease;
}
.app-category-preview:hover {
border-color: var(--accent-blue);
transform: translateY(-4px);
}
.app-category-preview .cat-icon {
font-size: 2rem;
display: block;
margin-bottom: 12px;
}
.app-category-preview h3 {
font-size: 1rem;
font-weight: 600;
margin-bottom: 8px;
color: var(--text-primary);
}
.app-category-preview p {
font-size: 0.8rem;
color: var(--text-secondary);
line-height: 1.4;
}
.apps-cta {
text-align: center;
}
.apps-cta .apps-count {
font-size: 1.1rem;
color: var(--text-secondary);
margin-bottom: 24px;
}
.apps-cta .apps-count strong {
color: var(--accent-light);
}
.cta-button-secondary {
display: inline-flex;
align-items: center;
gap: 8px;
background: transparent;
color: var(--accent-light);
padding: 14px 28px;
border: 2px solid var(--accent-blue);
border-radius: 8px;
text-decoration: none;
font-weight: 600;
font-size: 1rem;
transition: all 0.2s ease;
}
.cta-button-secondary:hover {
background: var(--accent-blue);
color: white;
}
</style>
</head>
<body>
<nav>
<div class="container">
<a href="#" class="logo">
<img src="/assets/logo.png" alt="Felhom.eu logo">
<span class="logo-text">felhom.eu</span>
</a>
<ul class="nav-links">
<li><a href="#szolgaltatasok">Szolgáltatások</a></li>
<li><a href="#miert">Miért érdemes?</a></li>
<li><a href="/alkalmazasok.html">Alkalmazások</a></li>
<li><a href="#kapcsolat">Kapcsolat</a></li>
</ul>
</div>
</nav>
<section class="hero">
<div class="container">
<div class="hero-content">
<div class="hero-text">
<span class="beta-badge">🚀 Hamarosan indul</span>
<h1>Saját felhőd,<br><span>saját szabályaid</span></h1>
<p>Professzionális otthoni szerver telepítés és üzemeltetés. Te irányítasz, mi segítünk.</p>
<a href="#kapcsolat" class="cta-button">Érdekel →</a>
</div>
<div class="hero-visual">
<img src="/assets/logo.png" alt="Felhom.eu - Otthoni szerver szolgáltatás">
</div>
</div>
</div>
</section>
<section class="problem">
<div class="container">
<div class="section-header">
<h2>Miért ne a felhőszolgáltatók?</h2>
<p>A nagy techcégek kényelmes megoldásokat kínálnak, de van néhány hátrány...</p>
</div>
<div class="problem-grid">
<div class="problem-card">
<div class="problem-icon">💸</div>
<h3>Folyamatos költségek</h3>
<p>Havonta fizetsz a tárhelyért, a prémium funkciókért, és az árak csak nőnek idővel.</p>
</div>
<div class="problem-card">
<div class="problem-icon">👁️</div>
<h3>Adataid másé</h3>
<p>A fotóid, dokumentumaid, személyes adataid idegen szervereken vannak, idegen kezekben.</p>
</div>
<div class="problem-card">
<div class="problem-icon">🔒</div>
<h3>Korlátozott kontroll</h3>
<p>Nem te döntöd el, milyen szolgáltatásokat használsz, és mikor szűnnek meg.</p>
</div>
</div>
</div>
</section>
<section class="services" id="szolgaltatasok">
<div class="container">
<div class="section-header">
<h2>Mit kapsz tőlünk?</h2>
<p>Kulcsrakész megoldások, professzionális kivitelezéssel</p>
</div>
<div class="service-list">
<div class="service-item">
<span class="service-number">01</span>
<div class="service-content">
<h3>Szerver beszerzés és beüzemelés</h3>
<p>Segítünk kiválasztani az igényeidnek megfelelő hardvert, és mindent beállítunk.</p>
</div>
<span class="service-icon">🖥️</span>
</div>
<div class="service-item">
<span class="service-number">02</span>
<div class="service-content">
<h3>Alkalmazás telepítés</h3>
<p>Nextcloud, Plex, Jellyfin, Home Assistant, és még sok más - amit csak szeretnél.</p>
</div>
<span class="service-icon">📦</span>
</div>
<div class="service-item">
<span class="service-number">03</span>
<div class="service-content">
<h3>Biztonságos távoli elérés</h3>
<p>Bárhonnan elérheted a szervereidet, biztonságosan, titkosított kapcsolaton keresztül.</p>
</div>
<span class="service-icon">🌐</span>
</div>
<div class="service-item">
<span class="service-number">04</span>
<div class="service-content">
<h3>Automatikus mentések</h3>
<p>Soha többé nem veszíted el az adataidat - rendszeres, automatikus mentések.</p>
</div>
<span class="service-icon">💾</span>
</div>
<div class="service-item">
<span class="service-number">05</span>
<div class="service-content">
<h3>Támogatás és karbantartás</h3>
<p>Ha bármi gond van, itt vagyunk. Rendszeres frissítések, proaktív monitoring.</p>
</div>
<span class="service-icon">🛠️</span>
</div>
</div>
</div>
</section>
<section class="apps-preview" id="alkalmazasok">
<div class="container">
<div class="section-header">
<h2>Telepíthető Alkalmazások</h2>
<p>Nyílt forráskódú szoftverek, amiket a saját szervereden futtathatsz</p>
</div>
<div class="apps-showcase">
<div class="app-category-preview">
<span class="cat-icon">📁</span>
<h3>Fájlkezelés</h3>
<p>Nextcloud, FileBrowser, Gokapi</p>
</div>
<div class="app-category-preview">
<span class="cat-icon">📷</span>
<h3>Fotók & Média</h3>
<p>Immich, Audiobookshelf, Calibre</p>
</div>
<div class="app-category-preview">
<span class="cat-icon">📄</span>
<h3>Dokumentumok</h3>
<p>Paperless-ngx, BookStack, Outline</p>
</div>
<div class="app-category-preview">
<span class="cat-icon">🔐</span>
<h3>Biztonság</h3>
<p>Vaultwarden, PrivateBin</p>
</div>
<div class="app-category-preview">
<span class="cat-icon">🏠</span>
<h3>Otthon & Életmód</h3>
<p>Tandoor, Plant-it, wger</p>
</div>
<div class="app-category-preview">
<span class="cat-icon">📊</span>
<h3>Dashboard</h3>
<p>Homepage, Glance, Uptime Kuma</p>
</div>
</div>
<div class="apps-cta">
<p class="apps-count">
<strong>25+</strong> alkalmazás <strong>10</strong> kategóriában — mind <strong>100% nyílt forráskódú</strong>
</p>
<a href="/alkalmazasok.html" class="cta-button-secondary">
Összes alkalmazás megtekintése →
</a>
</div>
</div>
</section>
<section class="why" id="miert">
<div class="container">
<div class="section-header">
<h2>Miért válaszd a saját szervered?</h2>
<p>Az előnyök, amik miatt megéri</p>
</div>
<div class="why-grid">
<div class="why-card">
<h3>🔐 Teljes adatvédelem</h3>
<p>Az adataid a te otthonodban maradnak. Senki más nem fér hozzájuk - sem a Google, sem a Microsoft, sem senki más.</p>
</div>
<div class="why-card">
<h3>💰 Egyszeri befektetés</h3>
<p>Nincs havi előfizetés, nincs rejtett költség. A szerver a tiéd, örökre. Csak az áramért fizetsz.</p>
</div>
<div class="why-card">
<h3>⚡ Korlátlan kapacitás</h3>
<p>Nincs 15GB-os limit. Bővítheted ahogy nőnek az igényeid - TB-okkal, ha kell.</p>
</div>
<div class="why-card">
<h3>🎛️ Teljes kontroll</h3>
<p>Te döntöd el, milyen szolgáltatásokat futtatsz. Te vagy a főnök, nem a szolgáltató.</p>
</div>
</div>
</div>
</section>
<section class="contact" id="kapcsolat">
<div class="container">
<div class="contact-box">
<h2>Érdekel? Beszéljünk!</h2>
<p>Jelenleg kézi egyeztetéssel dolgozunk. Írj nekünk, és személyre szabott ajánlatot készítünk.</p>
<div class="contact-methods">
<a href="mailto:info@felhom.eu" class="contact-link">✉️ info@felhom.eu</a>
</div>
</div>
</div>
</section>
<footer>
<div class="container">
<p>© 2025 felhom.eu — Saját felhőd, saját szabályaid</p>
</div>
</footer>
</body>
</html>
---
# ConfigMap for the logo (base64 would be needed, or use a PVC/external source)
# For the logo, you'll need to either:
# 1. Host it separately and reference via URL
# 2. Create a PVC and manually upload it
# 3. Base64 encode it in another ConfigMap
# See notes below for the recommended approach
---
# Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: felhom
namespace: felhom-system
labels:
app.kubernetes.io/name: felhom
app.kubernetes.io/instance: felhom
app.kubernetes.io/version: "1.0.0"
spec:
replicas: 1
strategy:
type: RollingUpdate
selector:
matchLabels:
app.kubernetes.io/name: felhom
app.kubernetes.io/instance: felhom
template:
metadata:
labels:
app.kubernetes.io/name: felhom
app.kubernetes.io/instance: felhom
app.kubernetes.io/version: "1.0.0"
spec:
containers:
- name: nginx
image: nginx:1.27-alpine
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 80
protocol: TCP
resources:
requests:
cpu: 10m
memory: 16Mi
limits:
cpu: 100m
memory: 64Mi
livenessProbe:
httpGet:
path: /
port: http
initialDelaySeconds: 5
periodSeconds: 30
timeoutSeconds: 5
failureThreshold: 3
readinessProbe:
httpGet:
path: /
port: http
initialDelaySeconds: 3
periodSeconds: 10
timeoutSeconds: 3
failureThreshold: 3
volumeMounts:
- name: website-index
mountPath: /usr/share/nginx/html/index.html
subPath: index.html
- name: website-apps
mountPath: /usr/share/nginx/html/alkalmazasok.html
subPath: alkalmazasok.html
- name: assets
mountPath: /usr/share/nginx/html/assets
volumes:
- name: website-index
configMap:
name: felhom-website-index
- name: website-apps
configMap:
name: felhom-website-apps
- name: assets
persistentVolumeClaim:
claimName: felhom-assets
---
# Service
apiVersion: v1
kind: Service
metadata:
name: felhom
namespace: felhom-system
labels:
app.kubernetes.io/name: felhom
app.kubernetes.io/instance: felhom
spec:
type: ClusterIP
ports:
- name: http
port: 80
targetPort: http
protocol: TCP
selector:
app.kubernetes.io/name: felhom
app.kubernetes.io/instance: felhom
---
# Ingress - NOTE: This is PUBLIC facing, no geo-restriction!
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: felhom
namespace: felhom-system
labels:
app.kubernetes.io/name: felhom
app.kubernetes.io/instance: felhom
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
external-dns.alpha.kubernetes.io/hostname: felhom.eu,www.felhom.eu
nginx.ingress.kubernetes.io/ssl-redirect: "true"
# No geo-restriction - this is a public business website!
spec:
ingressClassName: nginx-internal
rules:
- host: felhom.eu
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: felhom
port:
number: 80
- host: www.felhom.eu
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: felhom
port:
number: 80
tls:
- hosts:
- felhom.eu
- www.felhom.eu
secretName: felhom-tls
---
# Small PVC for static assets (logo, images, etc.)
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: felhom-assets
namespace: felhom-system
labels:
app.kubernetes.io/name: felhom
app.kubernetes.io/instance: felhom
spec:
accessModes:
- ReadWriteOnce
storageClassName: longhorn
resources:
requests:
storage: 100Mi