website: M3 goes live - the whole site switches to the controller's shell at once
gates / gates (push) Failing after 13m11s

Part D. Every public page now wears the controller's frame around the website's
own content. One commit, as asked: never half old, half new.

  20 pages switched (12 Hungarian incl. the hidden prices page, 8 English)
  website/preview/ deleted entirely - A, M1, M2 and M3 studies all gone
  robots.txt: the Disallow: /preview/ line removed with them
  site.css?v=22 / shell.css?v=22 on every page

PROVED before pushing, not after:
  * HEAD TAGS: title, meta description, keywords, author, robots, canonical, every
    hreflang, all seven Open Graph tags, all four Twitter tags and the JSON-LD
    captured on all 19 pages before the switch and compared after. The ONLY
    difference anywhere is the dash substitution inside the two FAQ pages'
    FAQPage JSON-LD - verified by applying the same substitution to the "before"
    copy and getting an exact match. Nothing else moved.
  * VISIBLE TEXT: identical to the live pages word for word, legal texts identical
    with no substitution permitted at all.
  * No page is left noindex (the two download pages' noindex,follow is their own,
    pre-existing and unchanged), no page mentions /preview/, every page has a
    footer, no page overflows at 390px.

THE HEAD-TAG DIFF EARNED ITS PLACE. The home page was about to ship carrying
`noindex, nofollow` from the preview, and had lost meta keywords, meta author, all
seven Open Graph tags, all four Twitter tags and the LocalBusiness JSON-LD -
because its head was hand-built while every other page carried its live one over.
The diff caught it; nothing on the rendered page would have. The generator now
uses the live head for EVERY page including the home one.

szolgaltatasok-nonpublic.html was converted too. It is in no menu and was not in
the brief's list, but leaving one page on the old chrome would have left the site
half-switched - which is the one thing part D was not allowed to do.

scripts/site_gates.py: SHELL is now the real page set; MOCKUPS is empty; gate 3's
old nav/footer loop keeps working for any page added later WITHOUT the shell, and
skips the ones that have it.
This commit is contained in:
2026-10-11 15:57:35 +02:00
parent 58e308352f
commit 6059505216
50 changed files with 2211 additions and 19185 deletions
+247 -480
View File
@@ -1,6 +1,7 @@
<!DOCTYPE html>
<html lang="hu">
<html lang="hu" class="no-js">
<head>
<script>document.documentElement.className=document.documentElement.className.replace('no-js','js');</script>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
@@ -54,551 +55,317 @@
}
</script>
<!-- shared assets: bump ?v= together on any site.css/icons.svg change -->
<link rel="stylesheet" href="/assets/site.css?v=21">
<link rel="stylesheet" href="/assets/site.css?v=22">
<link rel="stylesheet" href="/assets/shell.css?v=22">
<link rel="icon" type="image/png" href="/assets/logo_favicon_2.svg">
<script defer src="/assets/gallery.js?v=2"></script>
<script defer src="https://stats.felhom.eu/script.js" data-website-id="d419db57-5e1c-48df-bdb3-c29f25fb1661"></script>
</head>
<body class="page-index">
<nav>
<div class="container">
<a href="/" class="logo">
<img class="logo-mark" src="/assets/logo-mark.svg" alt="" aria-hidden="true">
<img class="logo-word" src="/assets/logo-wordmark.png" alt="felhom.eu">
<body class="shell page-index">
<header class="mobile-topbar">
<a href="/" class="mobile-topbar-logo"><img src="/assets/logo_notext_white.svg" alt="Felhom.eu"></a>
<button type="button" class="nav-burger" id="navBurger" aria-expanded="false" aria-controls="sidebar" aria-label="Menü">
<span class="hamburger-box"><span class="hamburger-line"></span><span class="hamburger-line"></span><span class="hamburger-line"></span></span>
</button>
</header>
<div class="nav-backdrop" id="navBackdrop" hidden></div>
<nav class="sidebar" id="sidebar">
<div class="sidebar-header">
<a href="/" class="sidebar-logo-link">
<img src="/assets/logo_notext_white.svg" alt="" class="sidebar-logo" aria-hidden="true">
<img src="/assets/logo-wordmark.png" alt="felhom.eu" class="sidebar-word">
</a>
<ul class="nav-links">
<li><a href="/#szolgaltatasok">Szolgáltatások</a></li>
<li><a href="/alkalmazasok">Alkalmazások</a></li>
<li><a href="/technologiak">Technológiák</a></li>
<li><a href="/biztonsagimentes">Mentések</a></li>
<li><a href="/gyik">GYIK</a></li>
<li><a href="/kapcsolat">Kapcsolat</a></li>
<li class="lang-globe-li"><details class="lang-globe"><summary class="lang-globe-btn" aria-label="Nyelv" title="Nyelv"><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-globe"/></svg></summary><ul class="lang-globe-menu"><li><a href="/" lang="hu" hreflang="hu" class="lang-globe-item current" aria-current="true">Magyar</a></li><li><a href="/en/" lang="en" hreflang="en" class="lang-globe-item">English</a></li></ul></details></li>
</div>
<ul class="nav-links">
<li><a href="/" class="active"><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-home"/></svg>Kezdőlap</a></li>
<li><a href="/#szolgaltatasok"><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-rocket"/></svg>Szolgáltatások</a></li>
<li class="nav-group">
<button type="button" class="nav-group-toggle" aria-expanded="false" aria-controls="nav-group-apps"><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-package"/></svg>Alkalmazások<svg class="ico nav-chevron" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-chevron-down"/></svg></button>
<ul id="nav-group-apps" class="nav-links nav-links-sub nav-links-nested">
<li><a href="/alkalmazasok">Minden alkalmazás</a></li>
<li><a href="/alkalmazasok#fajlkezeles-irodai">Fájlkezelés &amp; Irodai</a></li>
<li><a href="/alkalmazasok#media-szorakozas">Média &amp; Szórakozás</a></li>
<li><a href="/alkalmazasok#otthon-eletmod">Otthon &amp; Életmód</a></li>
<li><a href="/alkalmazasok#produktivitas-tudaskezeles">Produktivitás &amp; Tudáskezelés</a></li>
<li><a href="/alkalmazasok#rendszer-fejlesztes">Rendszer &amp; Fejlesztés</a></li>
</ul>
</li>
<li><a href="/technologiak"><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-layers"/></svg>Technológiák</a></li>
<li><a href="/biztonsagimentes"><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-shield-check"/></svg>Biztonsági mentés</a></li>
</ul>
<div class="sidebar-bottom">
<a href="/teszteles" class="btn btn-outline sidebar-cta">Jelentkezem tesztelőnek →</a>
<div class="nav-group-label">A Felhomról</div>
<ul class="nav-links nav-links-sub">
<li><a href="/#hogyan-mukodik">Hogyan működik</a></li>
<li><a href="/gyik">GYIK</a></li>
<li><a href="/kapcsolat">Kapcsolat</a></li>
</ul>
<button class="hamburger" id="hamburger" aria-label="Menü megnyitása" aria-expanded="false">
<span class="hamburger-box">
<span class="hamburger-line"></span>
<span class="hamburger-line"></span>
<span class="hamburger-line"></span>
</span>
</button>
<div class="sidebar-footer">
<details class="lang-globe"><summary class="lang-globe-btn" aria-label="Nyelv" title="Nyelv"><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-globe"/></svg></summary><ul class="lang-globe-menu"><li><a href="/" lang="hu" hreflang="hu" class="lang-globe-item current" aria-current="true">Magyar</a></li><li><a href="/en/" lang="en" hreflang="en" class="lang-globe-item">English</a></li></ul></details>
</div>
</div>
</nav>
<div class="mobile-overlay" id="mobileOverlay"></div>
<section class="hero">
<div class="container">
<div class="hero-content">
<div class="hero-text">
<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="/teszteles" class="cta-button">Jelentkezem tesztelőnek →</a>
</div>
<div class="hero-visual">
<img src="/assets/logo.png" alt="Felhom.eu - Otthoni szerver szolgáltatás">
</div>
</div>
<main class="content">
<div class="page-header">
<h1>Saját felhőd, saját szabályaid</h1>
<span class="domain-badge">Otthoni szerver szolgáltatás</span>
</div>
</section>
<section class="content-section" id="mit-tud">
<div class="container">
<div class="section-header">
<h2>Mit tud <span>a doboz ma?</span></h2>
<p>Nem terv, nem ígéret — ezek ma működő funkciók egy éles Felhom dobozon</p>
<section class="hero-row">
<div class="hero-copy">
<p class="hero-lede">Egy kis gép az otthonodban: a fényképeid, a dokumentumaid, a filmjeid. Minden éjjel mentés készül. Mi figyeljük, te használod.</p>
<a href="/teszteles" class="btn btn-primary btn-lg">Jelentkezem tesztelőnek →</a>
</div>
<div class="why-grid">
<div class="why-card">
<h3><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-camera"/></svg> Fényképek, dokumentumok, média</h3>
<p>A telefonod fotói automatikusan feltöltődnek a saját gépedre. A beszkennelt papírjaidat a rendszer felismeri és kereshetővé teszi. A filmjeid, zenéid böngészőből és mobil appból is mennek.</p>
<div class="hero-window" aria-label="A vezérlőpult képe">
<div class="hero-window-bar">
<span class="hw-dot"></span><span class="hw-dot"></span><span class="hw-dot"></span>
<span class="hero-window-title">otthonod.hu <span class="sample">minta</span></span>
</div>
<div class="hero-window-body">
<p class="hero-window-lede">Így néz ki a doboz vezérlőpultja.</p>
<div class="launch-grid launch-grid--mini">
<a class="launch-cell" href="/alkalmazasok#immich">
<span class="launch-tile" style="background: hsl(18, 45%, 38%)"><span class="launch-mono">I</span><img class="launch-logo" src="/assets/immich-logo.svg" alt="" loading="lazy"></span>
<span class="launch-name">Immich</span>
</a>
<a class="launch-cell" href="/alkalmazasok#jellyfin">
<span class="launch-tile" style="background: hsl(348, 45%, 38%)"><span class="launch-mono">J</span><img class="launch-logo" src="/assets/jellyfin-logo.svg" alt="" loading="lazy"></span>
<span class="launch-name">Jellyfin</span>
</a>
<a class="launch-cell" href="/alkalmazasok#nextcloud">
<span class="launch-tile" style="background: hsl(201, 45%, 38%)"><span class="launch-mono">N</span><img class="launch-logo" src="/assets/nextcloud-logo.svg" alt="" loading="lazy"></span>
<span class="launch-name">Nextcloud</span>
</a>
<a class="launch-cell" href="/alkalmazasok#vaultwarden">
<span class="launch-tile" style="background: hsl(66, 45%, 38%)"><span class="launch-mono">V</span><img class="launch-logo" src="/assets/vaultwarden-logo.svg" alt="" loading="lazy"></span>
<span class="launch-name">Vaultwarden</span>
</a>
</div>
</div>
</div>
<div class="why-card">
<h3><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-folder"/></svg> Hálózati megosztás</h3>
<p>A doboz mappái megjelennek a Windows Intézőben és a Mac Finderben — úgy húzod rájuk a fájlokat, mint bármelyik másik mappára. Megosztásonként beállítható, hogy csak olvasható legyen.</p>
</section>
<section class="shell-section" id="szolgaltatasok">
<div class="sec-head">
<h2>Mit tud a doboz ma?</h2>
<p>Nem terv és nem ígéret: ezek ma működő funkciók egy éles Felhom dobozon.</p>
</div>
<div class="caps">
<div class="caps-group">
<h3>Amit nap mint nap használsz</h3>
<ul class="caps-list">
<li class="caps-item">
<h4><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-camera"/></svg> Fényképek, dokumentumok, média</h4>
<p>A telefonod fotói automatikusan feltöltődnek a saját gépedre. A beszkennelt papírjaidat a rendszer felismeri és keresővé teszi. A filmjeid, zenéid böngészőből és mobil appból is mennek.</p>
</li>
<li class="caps-item">
<h4><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-folder"/></svg> Hálózati megosztás</h4>
<p>A doboz mappái megjelennek a Windows Intézőben és a Mac Finderben: úgy húzod rájuk a fájlokat, mint bármelyik másik mappára. Megosztásonként beállítható, hogy csak olvasható legyen.</p>
</li>
<li class="caps-item">
<h4><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-package"/></svg> 58 telepíthető alkalmazás</h4>
<p>A vezérlőpultból telepíthetők, pár kattintással, parancssor nélkül. Szinte mind nyílt forráskódú, és mind a te gépeden fut.</p>
</li>
<li class="caps-item">
<h4><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-globe"/></svg> Magyarul vagy angolul</h4>
<p>A vezérlőpult magyarul és angolul is használható. A nyelvet a háztartás választja, és a dobozról érkező e-mailek is ezt a nyelvet követik.</p>
</li>
</ul>
</div>
<div class="why-card">
<h3><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-shield-check"/></svg> Háromszintű automatikus mentés</h3>
<p>Minden éjjel készül egy mentés a dobozon, egy másodpéldány egy második meghajtóra (ha van), és egy titkosított másolat egy távoli tárhelyre. A megosztott mappáid a második meghajtón és a távoli másolatban is benne vannak.</p>
<div class="caps-group">
<h3>Ami a háttérben véd</h3>
<ul class="caps-list">
<li class="caps-item">
<h4><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-shield-check"/></svg> Háromszintű automatikus mentés</h4>
<p>Minden éjjel készül egy mentés a dobozon, egy másodpéldány egy második meghajtóra (ha van), és egy titkosított másolat egy távoli tárhelyre. A megosztott mappáid a második meghajtón és a távoli másolatban is benne vannak.</p>
</li>
<li class="caps-item">
<h4><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-lock"/></svg> Helyreállítási kód, amit csak te ismersz</h4>
<p>A távoli mentésed titkosításának kulcsa egy helyreállítási kód, ami pontosan egyszer jelenik meg: a te képernyődön. Mi nem ismerjük, és nem tudjuk visszaállítani. Ez azt is jelenti, hogy a kód nélkül a távoli mentés nekünk sem olvasható: tedd el jól.</p>
</li>
<li class="caps-item">
<h4><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-rotate-cw"/></svg> Visszaállítás, ha baj van</h4>
<p>Egy törölt fájl visszahozható a mentésből. Ha maga a doboz megy tönkre, az újratelepített rendszerre a titkosított távoli mentésből visszahozhatók az alkalmazásaid adatai, a helyreállítási kóddal.</p>
</li>
<li class="caps-item">
<h4><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-home"/></svg> Internetkimaradáskor is működik</h4>
<p>A doboz az otthonodban van. Ha elmegy a net, az otthoni hálózaton továbbra is eléred a fotóidat és a fájljaidat: nem egy távoli szolgáltató engedélyétől függenek.</p>
</li>
</ul>
</div>
<div class="why-card">
<h3><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-lock"/></svg> Helyreállítási kód, amit csak te ismersz</h3>
<p>A távoli mentésed titkosításának kulcsa egy helyreállítási kód, ami pontosan egyszer jelenik meg — a te képernyődön. Mi nem ismerjük, és nem tudjuk visszaállítani. Ez azt is jelenti, hogy a kód nélkül a távoli mentés nekünk sem olvasható: tedd el jól.</p>
</div>
<div class="why-card">
<h3><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-package"/></svg> 58 telepíthető alkalmazás</h3>
<p>A vezérlőpultból telepíthetők, pár kattintással — parancssor nélkül. Szinte mind nyílt forráskódú (a kivételeket az alkalmazások oldalán jelöljük), és mind a te gépeden fut.</p>
</div>
<div class="why-card">
<h3><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-stethoscope"/></svg> Távoli felügyelet, automatikus frissítés</h3>
<p>Figyeljük a doboz állapotát. A vezérlőpult magától frissül a legutóbbi kiadásra, és a doboz rendszere is megkapja a biztonsági frissítéseket — neked nem kell csinálnod semmit. Ha valami elromlik, mi látjuk.</p>
</div>
<div class="why-card">
<h3><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-rotate-cw"/></svg> Óvatos alkalmazásfrissítés</h3>
<p>Egy alkalmazás új verziója csak akkor jut el hozzád, ha előbb kipróbáltuk. Frissítés előtt friss mentés készül, és ha az új verzió nem indul el rendesen, a doboz magától visszaállítja az előzőt, az adataiddal együtt.</p>
</div>
<div class="why-card">
<h3><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-globe"/></svg> Magyarul vagy angolul</h3>
<p>A vezérlőpult magyarul és angolul is használható. A nyelvet a háztartás választja, és a dobozról érkező e-mailek is ezt a nyelvet követik.</p>
</div>
<div class="why-card">
<h3><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-home"/></svg> Internetkimaradáskor is működik</h3>
<p>A doboz az otthonodban van. Ha elmegy a net, az otthoni hálózaton továbbra is eléred a fotóidat és a fájljaidat — nem egy távoli szolgáltató engedélyétől függenek.</p>
</div>
<div class="why-card">
<h3><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-rotate-cw"/></svg> Visszaállítás, ha baj van</h3>
<p>Egy törölt fájl visszahozható a mentésből. Ha maga a doboz megy tönkre, az újratelepített rendszerre a titkosított távoli mentésből visszahozhatók az alkalmazásaid adatai — a helyreállítási kóddal.</p>
<div class="caps-group">
<h3>Amiről mi gondoskodunk</h3>
<ul class="caps-list">
<li class="caps-item">
<h4><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-stethoscope"/></svg> Távoli felügyelet, automatikus frissítés</h4>
<p>Figyeljük a doboz állapotát. A vezérlőpult magától frissül a legutóbbi kiadásra, és a doboz rendszere is megkapja a biztonsági frissítéseket. Neked nem kell csinálnod semmit. Ha valami elromlik, mi látjuk.</p>
</li>
<li class="caps-item">
<h4><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-rotate-cw"/></svg> Óvatos alkalmazásfrissítés</h4>
<p>Egy alkalmazás új verziója csak akkor jut el hozzád, ha előbb kipróbáltuk. Frissítés előtt friss mentés készül, és ha az új verzió nem indul el rendesen, a doboz magától visszaállítja az előzőt, az adataiddal együtt.</p>
</li>
</ul>
</div>
</div>
</div>
</section>
</section>
<section class="content-section" id="vezerlopult">
<div class="container">
<div class="section-header">
<h2>Így néz ki <span>a vezérlőpult</span></h2>
<p>Valódi képek egy Felhom dobozról — kattints rájuk a teljes mérethez</p>
<section class="shell-section" id="vezerlopult">
<div class="sec-head">
<h2>Így néz ki a vezérlőpult</h2>
<p>Valódi képek egy Felhom dobozról. Kattints rájuk a teljes mérethez.</p>
</div>
<div class="dash-grid">
<figure class="dash-shot">
<a href="/assets/dashboard-start-hu.webp" data-gallery="dashboard"><img src="/assets/dashboard-start-hu.webp" alt="A vezérlőpult Indítópultja: az otthon telepített alkalmazások csempéi" width="1440" height="900" loading="lazy"></a>
<figcaption><strong>Indítópult</strong> — minden alkalmazásod egy kattintásra.</figcaption>
<figcaption><strong>Indítópult</strong>: minden alkalmazásod egy kattintásra.</figcaption>
</figure>
<figure class="dash-shot">
<a href="/assets/dashboard-apps-hu.webp" data-gallery="dashboard"><img src="/assets/dashboard-apps-hu.webp" alt="Az Alkalmazások oldal: telepített és telepíthető alkalmazások kártyái, állapottal" width="1440" height="900" loading="lazy"></a>
<figcaption><strong>Alkalmazások</strong> — telepítés pár kattintással, és látod, mi fut és mi naprakész.</figcaption>
<figcaption><strong>Alkalmazások</strong>: telepítés pár kattintással, és látod, mi fut és mi naprakész.</figcaption>
</figure>
<figure class="dash-shot">
<a href="/assets/dashboard-app-hu.webp" data-gallery="dashboard"><img src="/assets/dashboard-app-hu.webp" alt="Egy alkalmazás saját oldala: mire jó, képek, és az első lépések" width="1440" height="900" loading="lazy"></a>
<figcaption><strong>Egy alkalmazás oldala</strong> — mire jó, hova tedd a fájlokat, és hogyan kezdj hozzá.</figcaption>
<figcaption><strong>Egy alkalmazás oldala</strong>: mire jó, hova tedd a fájlokat, és hogyan kezdj hozzá.</figcaption>
</figure>
<figure class="dash-shot">
<a href="/assets/dashboard-backups-hu.webp" data-gallery="dashboard"><img src="/assets/dashboard-backups-hu.webp" alt="A mentések oldala: minden alkalmazás adatbázisának éjszakai mentése, ellenőrizve" width="1440" height="900" loading="lazy"></a>
<figcaption><strong>Mentések</strong> — minden éjjel minden alkalmazás adatbázisa mentésre kerül, és ellenőrizzük.</figcaption>
<figcaption><strong>Mentések</strong>: minden éjjel minden alkalmazás adatbázisa mentésre kerül, és ellenőrizzük.</figcaption>
</figure>
</div>
</div>
</section>
</section>
<section class="content-section alt-bg">
<div class="container">
<div class="section-header">
<h2>Miért ne a <span>felhőszolgáltatók?</span></h2>
<p>A nagy techcégek kényelmes megoldásokat kínálnak, de van néhány hátrány...</p>
<section class="shell-section" id="hogyan-mukodik">
<div class="sec-head">
<h2>Hogyan működik?</h2>
<p>Az első beszélgetéstől a működő rendszerig.</p>
</div>
<div class="problem-grid">
<div class="problem-card">
<div class="problem-icon"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-coins"/></svg></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"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-eye"/></svg></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"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-lock"/></svg></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="content-section" id="miert">
<div class="container">
<div class="section-header">
<h2>Miért válaszd a <span>saját szervered?</span></h2>
<p>Az előnyök, amik miatt megéri</p>
</div>
<div class="why-grid">
<div class="why-card">
<h3><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-shield-check"/></svg> Teljes adatvédelem</h3>
<p>Az adataid a te otthonodban maradnak, nem a Google vagy a Microsoft szerverein. A távoli mentésbe csak titkosítva kerülnek.</p>
</div>
<div class="why-card">
<h3><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-coins"/></svg> Egyszeri befektetés</h3>
<p>A gép a tiéd, örökre. Nincs tárhely-előfizetés, ami évről évre drágul: az áramot fizeted, és ha kéred, az üzemeltetést.</p>
</div>
<div class="why-card">
<h3><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-zap"/></svg> 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><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-sliders-horizontal"/></svg> 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="content-section alt-bg" id="hogyan-mukodik">
<div class="container">
<div class="section-header">
<h2>Hogyan <span>működik?</span></h2>
<p>5 egyszerű lépés az indulástól a működő rendszerig</p>
</div>
<div class="process-steps">
<div class="process-step">
<div class="step-number">1</div>
<span class="process-connector">→</span>
<div class="flow">
<div class="flow-step">
<h3>Egyeztetés</h3>
<p>Megbeszéljük az igényeidet: milyen alkalmazásokra van szükséged, és mekkora tárhelyet szeretnél.</p>
</div>
<div class="process-step">
<div class="step-number">2</div>
<span class="process-connector">→</span>
<div class="flow-step">
<h3>Hardver kiválasztás</h3>
<p>Segítünk megtalálni a legjobb ár-érték arányú gépet, ami az igényeidnek megfelel.</p>
</div>
<div class="process-step">
<div class="step-number">3</div>
<span class="process-connector">→</span>
<div class="flow-step">
<h3>Telepítés</h3>
<p>Feltelepítjük és bekonfiguráljuk az alkalmazásokat, a mentéseket, és a monitoringot.</p>
</div>
<div class="process-step">
<div class="step-number">4</div>
<span class="process-connector">→</span>
<div class="flow-step">
<h3>Átadás</h3>
<p>Bemutatjuk a rendszert, segítünk áthozni a meglévő adataidat, és válaszolunk minden kérdésedre.</p>
</div>
<div class="process-step">
<div class="step-number">5</div>
<div class="flow-step">
<h3>Üzemeltetés</h3>
<p>Figyeljük a rendszert, frissítünk, mentéseket ellenőrzünk. Te csak használod.</p>
</div>
</div>
</div>
</section>
<section class="content-section" id="szolgaltatasok">
<div class="container">
<div class="section-header">
<h2>Mit kapsz <span>tőlünk?</span></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"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-monitor"/></svg></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"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-package"/></svg></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"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-globe"/></svg></span>
</div>
<div class="service-item">
<span class="service-number">04</span>
<div class="service-content">
<h3>Automatikus mentések</h3>
<p>Rendszeres, automatikus mentések három szinten: a dobozon, egy második meghajtón és titkosítva egy távoli tárhelyen.</p>
</div>
<span class="service-icon"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-hard-drive"/></svg></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"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-wrench"/></svg></span>
</div>
</div>
</div>
</section>
</section>
<section class="content-section alt-bg" id="alkalmazasok">
<div class="container">
<div class="section-header">
<h2>Telepíthető <span>Alkalmazások</span></h2>
<p>Nyílt forráskódú szoftverek, amiket a saját szervereden futtathatsz</p>
<section class="shell-section" id="miert">
<div class="sec-head">
<h2>Miért a sajátod?</h2>
<p>Ugyanaz a kényelem, más feltételekkel.</p>
</div>
<div class="vs">
<div class="vs-head">
<div>Felhőszolgáltatónál</div>
<div>Saját dobozon</div>
</div>
<div class="vs-row">
<div>Havonta fizetsz a tárhelyért és a prémium funkciókért, és az árak csak nőnek idővel.</div>
<div><strong>A gép a tiéd, örökre.</strong> Nincs tárhely-előfizetés, ami évről évre drágul: az áramot fizeted, és ha kéred, az üzemeltetést.</div>
</div>
<div class="vs-row">
<div>A fotóid, dokumentumaid, személyes adataid idegen szervereken vannak, idegen kezekben.</div>
<div><strong>Az adataid az otthonodban maradnak</strong>, nem a Google vagy a Microsoft szerverein. A távoli mentésbe csak titkosítva kerülnek.</div>
</div>
<div class="vs-row">
<div>A tárhely fogy, és ha betelt, megint fizetsz.</div>
<div><strong>Nincs 15GB-os limit.</strong> Bővítheted ahogy nőnek az igényeid, TB-okkal, ha kell.</div>
</div>
<div class="vs-row">
<div>Nem te döntöd el, milyen szolgáltatásokat használsz, és mikor szűnnek meg.</div>
<div><strong>Te döntöd el, milyen szolgáltatásokat futtatsz.</strong> Te vagy a főnök, nem a szolgáltató.</div>
</div>
</div>
<div class="band">
<div class="band-item">
<h3>Amit telepíthetsz</h3>
<p>Fájlkezelés, fotók és média, dokumentumok, jelszókezelés, okosotthon, fejlesztői eszközök. Nextcloud, Immich, Jellyfin, Paperless-ngx, Vaultwarden, Home Assistant és még 52 másik: <strong>58 alkalmazás</strong>, szinte mind nyílt forráskódú.</p>
<a href="/alkalmazasok" class="btn btn-outline">Összes alkalmazás megtekintése →</a>
</div>
<div class="band-item">
<h3>Ami alatta fut</h3>
<p>Docker konténerek egy Proxmox alapon, háromszintű mentés, titkosított alagút nyitott port nélkül, magyar vagy angol vezérlőpult. Az igényeidhez igazítjuk, a <strong>legegyszerűbbtől a legkomolyabbig</strong>.</p>
<a href="/technologiak" class="btn btn-outline">Technológiákról bővebben →</a>
</div>
</div>
</section>
<div class="apps-showcase">
<div class="app-category-preview">
<span class="cat-icon"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-folder"/></svg></span>
<h3>Fájlkezelés</h3>
<p>Nextcloud, FileBrowser, Gokapi, Zipline</p>
</div>
<div class="app-category-preview">
<span class="cat-icon"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-camera"/></svg></span>
<h3>Fotók & Média</h3>
<p>Immich, Jellyfin, Plex, Audiobookshelf</p>
</div>
<div class="app-category-preview">
<span class="cat-icon"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-clapperboard"/></svg></span>
<h3>Média Automatizáció</h3>
<p>Sonarr, Radarr, Seerr</p>
</div>
<div class="app-category-preview">
<span class="cat-icon"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-file-text"/></svg></span>
<h3>Dokumentumok</h3>
<p>Paperless-ngx, Docmost, BookStack, Outline</p>
</div>
<div class="app-category-preview">
<span class="cat-icon"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-lock"/></svg></span>
<h3>Biztonság</h3>
<p>Vaultwarden, PrivateBin</p>
</div>
<div class="app-category-preview">
<span class="cat-icon"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-home"/></svg></span>
<h3>Otthon & Életmód</h3>
<p>Tandoor, Mealie, Homebox, Actual Budget</p>
</div>
<div class="app-category-preview">
<span class="cat-icon"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-map"/></svg></span>
<h3>Utazás & Szabadidő</h3>
<p>AdventureLog, Wanderer, Dawarich, Cal.com</p>
</div>
<div class="app-category-preview">
<span class="cat-icon"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-chart-column"/></svg></span>
<h3>Dashboard</h3>
<p>Homepage, Glance, Uptime Kuma</p>
</div>
<div class="app-category-preview">
<span class="cat-icon"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-gamepad-2"/></svg></span>
<h3>Játékok</h3>
<p>RoMM, Crafty Controller</p>
</div>
<div class="app-category-preview">
<span class="cat-icon"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-code"/></svg></span>
<h3>Fejlesztőknek</h3>
<p>Gitea, Code-Server, OpenGist</p>
</div>
<section class="shell-section" id="zart-teszt">
<div class="sec-head">
<h2>Zárt teszt</h2>
<p>Néhány magyar háztartással most kezdjük el élesben használni a rendszert.</p>
</div>
<div class="apps-cta">
<p class="apps-count">
<strong>58</strong> alkalmazás — szinte mind <strong>nyílt forráskódú</strong>
</p>
<a href="/alkalmazasok" class="cta-button-secondary">
Összes alkalmazás megtekintése →
</a>
</div>
</div>
</section>
<section class="content-section" id="technologiak">
<div class="container">
<div class="section-header">
<h2>Professzionális <span>Technológiák</span></h2>
<p>Ipari szintű megoldások, otthoni környezetben</p>
</div>
<div class="apps-showcase">
<div class="app-category-preview">
<span class="cat-icon"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-container"/></svg></span>
<h3>Konténerek</h3>
<p>Docker alapú, izolált alkalmazás futtatás</p>
</div>
<div class="app-category-preview">
<span class="cat-icon"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-target"/></svg></span>
<h3>Vezérlőpult</h3>
<p>Magyar vagy angol kezelőfelület</p>
</div>
<div class="app-category-preview">
<span class="cat-icon"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-layers"/></svg></span>
<h3>Proxmox</h3>
<p>Stabil virtualizációs alap</p>
</div>
<div class="app-category-preview">
<span class="cat-icon"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-shield-check"/></svg></span>
<h3>Háromszintű mentés</h3>
<p>A dobozon, második meghajtón, titkosítva távol</p>
</div>
<div class="app-category-preview">
<span class="cat-icon"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-globe"/></svg></span>
<h3>Hálózat</h3>
<p>HTTPS, titkosított alagút, nyitott port nélkül</p>
</div>
<div class="app-category-preview">
<span class="cat-icon"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-hard-drive"/></svg></span>
<h3>Tárolás</h3>
<p>SSD + HDD, második meghajtó a mentéseknek</p>
</div>
<div class="app-category-preview">
<span class="cat-icon"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-monitor"/></svg></span>
<h3>Hardver</h3>
<p>Mini PC-től rack szerverig</p>
</div>
</div>
<div class="apps-cta">
<p class="apps-count">
Az igényeidhez igazítjuk — a <strong style="color: var(--text-1);">legegyszerűbbtől</strong> a <strong>legkomolyabbig</strong>
</p>
<a href="/technologiak" class="cta-button-secondary">
Technológiákról bővebben →
</a>
</div>
</div>
</section>
<section class="content-section alt-bg" id="mentesek">
<div class="container">
<div class="backup-content">
<div class="backup-text">
<h2>Adataid <span>biztonságban</span></h2>
<p>A nagy felhőszolgáltatók milliókat költenek arra, hogy az adataid ne vesszenek el. De tudtad, hogy ugyanezt az otthoni szerveredről is elérheted?</p>
<p>A 3-2-1 mentési szabályt követve professzionális szintű adatbiztonságot építünk fel – egy katasztrófa után is marad egy titkosított másolat, távol az otthonodtól.</p>
<a href="/biztonsagimentes" class="cta-button-secondary">
Mentési stratégia részletei →
</a>
</div>
<div class="backup-visual">
<div class="backup-rule-mini">
<span class="number">3</span>
<div class="rule-text">
<h4>Három másolat</h4>
<p>Eredeti + két biztonsági mentés</p>
</div>
</div>
<div class="backup-rule-mini">
<span class="number">2</span>
<div class="rule-text">
<h4>Két tárolótípus</h4>
<p>Különböző eszközökön tárolva</p>
</div>
</div>
<div class="backup-rule-mini">
<span class="number">1</span>
<div class="rule-text">
<h4>Egy távoli helyen</h4>
<p>Offsite backup a biztonság érdekében</p>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="content-section" id="zart-teszt">
<div class="container">
<div class="section-header">
<h2>Zárt <span>teszt</span></h2>
<p>Néhány magyar háztartással most kezdjük el élesben használni a rendszert</p>
</div>
<div class="why-grid">
<div class="why-card">
<h3><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-home"/></svg> Valódi használat</h3>
<div class="app-info-grid">
<div class="app-info-card">
<h3>Valódi használat</h3>
<p>Nem demó: a doboz nálad marad, és az igazi fényképeidet, dokumentumaidat teszed rá. Segítünk a telepítésben és az átállásban, utána te használod a mindennapokban.</p>
</div>
<div class="why-card">
<h3><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-message-square"/></svg> Visszajelzés</h3>
<p>Cserébe azt kérjük, hogy mondd el, mi zavaró, mi érthetetlen, mi nem működik. Egy „ezt a gombot nem találtam" ér nekünk a legtöbbet — abból tudjuk, mit kell kijavítani.</p>
</div>
<div class="why-card">
<h3><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-triangle-alert"/></svg> Ismert korlátok</h3>
<p>Őszintén: a vezérlőpulthoz jelenleg <strong>egy közös háztartási jelszó</strong> tartozik, külön családtagi fiókok még nincsenek (az egyes alkalmazásoknak viszont saját felhasználóik lehetnek). A <strong>TV-re streamelés (DLNA)</strong> még nincs: egyelőre böngészőből és mobil appból megy a médiatár. És mivel ez teszt, számíts arra, hogy találsz hibát — ez a lényege.</p>
<div class="app-info-card">
<h3>Visszajelzés</h3>
<p>Cserébe azt kérjük, hogy mondd el, mi zavaró, mi érthetetlen, mi nem működik. Egy „ezt a gombot nem találtam" ér nekünk a legtöbbet: abból tudjuk, mit kell kijavítani.</p>
</div>
</div>
<div class="apps-cta">
<p class="apps-count">
Ha ez érdekel, írj — <strong>nem kötelez semmire</strong>, először csak beszélgetünk
</p>
<a href="/teszteles" class="cta-button">
Jelentkezem tesztelőnek →
</a>
<div class="alerts-container">
<div class="alert-banner alert-banner-warning">
<span class="alert-icon"><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-triangle-alert"/></svg></span>
<span class="alert-message"><strong>Ismert korlátok, őszintén.</strong> A vezérlőpulthoz jelenleg <strong>egy közös háztartási jelszó</strong> tartozik, külön családtagi fiókok még nincsenek (az egyes alkalmazásoknak viszont saját felhasználóik lehetnek). A <strong>TV-re streamelés (DLNA)</strong> még nincs: egyelőre böngészőből és mobil appból megy a médiatár. És mivel ez teszt, számíts arra, hogy találsz hibát: ez a lényege.</span>
</div>
</div>
</div>
</section>
<div class="close-cta">
<p>Ha ez érdekel, írj. <strong>Nem kötelez semmire</strong>, először csak beszélgetünk.</p>
<a href="/teszteles" class="btn btn-primary btn-lg">Jelentkezem tesztelőnek →</a>
<div class="who-mini">
<img src="/assets/operator-portrait-small.webp" alt="Nagyfenyvesi Viktor, a Felhom üzemeltetője" width="160" height="200" loading="lazy">
<p>A Felhom mögött egy ember áll: <strong>Nagyfenyvesi Viktor</strong>. Ha írsz, ő válaszol. <a href="/kapcsolat#ki-all-mogotte">Ki áll mögötte →</a></p>
</div>
</div>
</section>
<section class="contact" id="kapcsolat">
<div class="container">
<div class="contact-box">
<h2>Érdekel? <span>Beszéljünk!</span></h2>
<div class="contact-methods">
<a href="/kapcsolat" class="contact-link"><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-message-square"/></svg> Kapcsolatfelvételi űrlap</a>
<a href="mailto:info@felhom.eu" class="contact-link"><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-mail"/></svg> info@felhom.eu</a>
</div>
</div>
</div>
</section>
<footer>
<footer>
<div class="container">
<p>© 2026 felhom.eu – Saját felhőd, saját szabályaid</p>
<p class="footer-legal">Üzemeltető: Nagyfenyvesi Viktor · <a href="mailto:info@felhom.eu">info@felhom.eu</a> · <a href="/adatkezeles">Adatkezelési tájékoztató</a> · <a href="/feltetelek">Feltételek</a></p>
</div>
</footer>
</main>
<script>
(function() {
const hamburger = document.getElementById('hamburger');
const navLinks = document.querySelector('.nav-links');
const overlay = document.getElementById('mobileOverlay');
const body = document.body;
if (!hamburger || !navLinks || !overlay) {
console.warn('[mobile-menu] Missing elements:', {
hamburger: !!hamburger,
navLinks: !!navLinks,
overlay: !!overlay
});
return;
}
function openMenu() {
hamburger.classList.add('is-active');
navLinks.classList.add('is-open');
overlay.classList.add('is-visible');
body.classList.add('menu-open');
hamburger.setAttribute('aria-expanded', 'true');
hamburger.setAttribute('aria-label', 'Menü bezárása');
}
function closeMenu() {
hamburger.classList.remove('is-active');
navLinks.classList.remove('is-open');
overlay.classList.remove('is-visible');
body.classList.remove('menu-open');
hamburger.setAttribute('aria-expanded', 'false');
hamburger.setAttribute('aria-label', 'Menü megnyitása');
}
hamburger.addEventListener('click', function() {
if (navLinks.classList.contains('is-open')) {
closeMenu();
} else {
openMenu();
}
});
// Close on overlay click
overlay.addEventListener('click', closeMenu);
// Close on nav link click
navLinks.querySelectorAll('a').forEach(function(link) {
link.addEventListener('click', closeMenu);
});
// Close on Escape key
document.addEventListener('keydown', function(e) {
if (e.key === 'Escape' && navLinks.classList.contains('is-open')) {
closeMenu();
}
});
// Close on resize if open (e.g., rotating device)
window.addEventListener('resize', function() {
if (window.innerWidth > 900 && navLinks.classList.contains('is-open')) {
closeMenu();
}
});
(function(){
var b=document.getElementById('navBurger'),s=document.getElementById('sidebar'),k=document.getElementById('navBackdrop');
if(!b||!s||!k)return;
function open(){s.classList.add('is-open');k.hidden=false;document.body.classList.add('nav-open');b.setAttribute('aria-expanded','true');}
function close(){s.classList.remove('is-open');k.hidden=true;document.body.classList.remove('nav-open');b.setAttribute('aria-expanded','false');}
b.addEventListener('click',function(){s.classList.contains('is-open')?close():open();});
k.addEventListener('click',close);
document.addEventListener('keydown',function(e){if(e.key==='Escape'&&s.classList.contains('is-open')){close();b.focus();}});
s.querySelectorAll('a').forEach(function(l){l.addEventListener('click',close);});
window.addEventListener('resize',function(){if(window.innerWidth>768)close();});
})();
document.addEventListener('click',function(e){
var btn=e.target.closest?e.target.closest('.nav-group-toggle'):null;
if(!btn)return;
var g=btn.closest('.nav-group');if(!g)return;
var willOpen=!g.classList.contains('is-open');
document.querySelectorAll('.nav-group.is-open').forEach(function(x){
x.classList.remove('is-open');
var t=x.querySelector('.nav-group-toggle');if(t)t.setAttribute('aria-expanded','false');
});
if(willOpen){g.classList.add('is-open');btn.setAttribute('aria-expanded','true');}
});
</script>
</body>
</html>
</html>