0ef0b106f6
gates / gates (push) Failing after 6m51s
Reported from his own screens. Five defects, two design.
1. THE CATEGORY ANCHORS WERE DEAD - all 100 of them. The sidebar's five app-category
links pointed at #fajlkezeles-irodai and friends; the ids are #fajlkezeles and
friends. The sidebar is copied into every page, so one wrong fragment was wrong
twenty times, and a dead fragment raises no error anywhere: the browser stays put.
New gate 23 resolves every in-site #fragment against the page it names (360 today).
It convicted two more on its first run: the home page's four hero tiles pointed at
/alkalmazasok#immich, which no page had ever carried, and the FAQ's contact button
pointed at a home-page section that had moved out. Every app card now carries its
slug as an id - taken from the card's own logo file, which gate 21 already ties to
the catalog, so the ids cannot drift from it silently.
Decoy site/dead-fragment puts the operator's own bug back and the gate convicts.
2. SZOLGALTATASOK IS A PAGE: /szolgaltatasok + /en/services, registered in TWINS, URL
and SHELL. The ten capability items moved VERBATIM out of the home page; the home
keeps the promise sentence, the three group names as links and a button, and is 345
Hungarian / 434 English words shorter. The .caps rules stopped being .page-index-
scoped, because the block now lives on a page with a different body class.
3. THE HOME HEADLINE is back in the hero column beside the picture, two lines with the
second in --blue-bright at clamp(2.1rem, 4.4vw, 3.2rem). M3 had moved it into
.page-header - the INNER pages' heading - so it shrank to 2.1rem and the domain
badge was stranded beside it.
4. THE HERO PICTURE is the real dashboard in a laptop. The frame is the operator's own
supplied render; the screen is dashboard-start-{hu,en}.webp composited into it, so a
visitor sees a real box's Launcher rather than a drawing of one - the supplied
screens are AI-drawn and misspell app names. 57 KB, named dashboard-laptop-<lang>
so gate 19 holds it to the page's language.
5. .page-lede HAD NO CSS AT ALL on 16 pages: a bare paragraph, full width of the
content column, hard against the box beneath it. 760px measure, centred over the
box, air beneath; left-aligned on /szolgaltatasok, which has no centred box.
6. THE SIDEBAR LOGO: the wordmark shipped at 0.67x the mark's width where the real
lockup (assets/logo.png, measured: mark 492px wide, wordmark 631px) has it at 1.28x.
Mark 112px, wordmark 25px tall, 28px less vertical padding.
7. SCROLLBARS are the page's own now. The first attempt missed the viewport's: it is
painted from <html>, and a `body.shell ::-webkit-...` rule only reaches scrollers
inside the page.
Also: the two Latin font subsets are preloaded. With font-display: swap the page
reflowed after first paint - measured at 1339px on /alkalmazasok#media.
Checked at 390px and 1440px on all 21 pages: no sideways scrolling, footer inside the
content column everywhere, drawer opens with all 13 items. site.css?v=24.
297 lines
19 KiB
HTML
297 lines
19 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en" 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">
|
||
|
||
<meta name="description" content="A home server in your own home in Hungary: photos, documents, media. 58 apps to install, automatic backups on three levels, a dashboard in English or Hungarian. A closed test is starting now.">
|
||
<title>Felhom.eu — Your own cloud, your own rules | A home server service in Hungary</title>
|
||
|
||
<!-- SEO meta -->
|
||
<meta name="keywords" content="home server, own cloud, self-hosting, Google Drive alternative, iCloud alternative, privacy, open source, server installation, server management, Nextcloud, Immich, Hungary">
|
||
<meta name="author" content="Felhom.eu">
|
||
<meta name="robots" content="index, follow">
|
||
<link rel="canonical" href="https://felhom.eu/en/">
|
||
<link rel="alternate" hreflang="hu" href="https://felhom.eu/">
|
||
<link rel="alternate" hreflang="en" href="https://felhom.eu/en/">
|
||
<link rel="alternate" hreflang="x-default" href="https://felhom.eu/">
|
||
|
||
<!-- Open Graph (Facebook, LinkedIn) -->
|
||
<meta property="og:type" content="website">
|
||
<meta property="og:url" content="https://felhom.eu/en/">
|
||
<meta property="og:title" content="Felhom.eu — Your own cloud, your own rules">
|
||
<meta property="og:description" content="A home server in your own home in Hungary: photos, documents, media — with automatic backups and a recovery code only you know. A closed test is starting now.">
|
||
<meta property="og:image" content="https://felhom.eu/assets/og-image-en.png">
|
||
<meta property="og:image:width" content="1200">
|
||
<meta property="og:image:height" content="630">
|
||
<meta property="og:image:alt" content="Felhom.eu — Your own cloud, your own rules. Closed test starting.">
|
||
<meta property="og:locale" content="en_GB">
|
||
<meta property="og:site_name" content="Felhom.eu">
|
||
|
||
<!-- Twitter/X Card -->
|
||
<meta name="twitter:card" content="summary_large_image">
|
||
<meta name="twitter:title" content="Felhom.eu — Your own cloud, your own rules">
|
||
<meta name="twitter:description" content="A home server in your own home in Hungary: photos, documents, media — with automatic backups and a recovery code only you know.">
|
||
<meta name="twitter:image" content="https://felhom.eu/assets/og-image-en.png">
|
||
|
||
<!-- Structured Data (JSON-LD) -->
|
||
<script type="application/ld+json">
|
||
{
|
||
"@context": "https://schema.org",
|
||
"@type": "LocalBusiness",
|
||
"name": "Felhom.eu",
|
||
"description": "Professional home server installation and management in Hungary.",
|
||
"url": "https://felhom.eu",
|
||
"logo": "https://felhom.eu/assets/logo.png",
|
||
"email": "info@felhom.eu",
|
||
"areaServed": {
|
||
"@type": "Country",
|
||
"name": "Hungary"
|
||
},
|
||
"serviceType": ["Server installation", "Server management", "Self-hosting"],
|
||
"knowsLanguage": ["hu", "en"],
|
||
"sameAs": []
|
||
}
|
||
</script>
|
||
<link rel="preload" as="font" type="font/woff2" crossorigin href="/assets/fonts/pjs-latin.woff2">
|
||
<link rel="preload" as="font" type="font/woff2" crossorigin href="/assets/fonts/pjs-latin-ext.woff2">
|
||
<!-- shared assets: bump ?v= together on any site.css/icons.svg change -->
|
||
<link rel="stylesheet" href="/assets/site.css?v=24">
|
||
<link rel="stylesheet" href="/assets/shell.css?v=24">
|
||
<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="shell page-index">
|
||
<header class="mobile-topbar">
|
||
<a href="/en/" 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="Menu">
|
||
<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="/en/" 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>
|
||
</div>
|
||
<ul class="nav-links">
|
||
<li><a href="/en/" class="active"><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-home"/></svg>Home</a></li>
|
||
<li><a href="/en/services"><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-rocket"/></svg>Services</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>Applications<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="/en/apps">All applications</a></li>
|
||
<li><a href="/en/apps#files">Files & Office</a></li>
|
||
<li><a href="/en/apps#media">Media & Entertainment</a></li>
|
||
<li><a href="/en/apps#home">Home & Lifestyle</a></li>
|
||
<li><a href="/en/apps#productivity">Productivity & Knowledge</a></li>
|
||
<li><a href="/en/apps#system">System & Development</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a href="/en/technology"><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-layers"/></svg>Technology</a></li>
|
||
<li><a href="/en/backups"><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-shield-check"/></svg>Backups</a></li>
|
||
</ul>
|
||
<div class="sidebar-bottom">
|
||
<a href="/en/testing" class="btn btn-outline sidebar-cta">Apply as a tester →</a>
|
||
<div class="nav-group-label">About Felhom</div>
|
||
<ul class="nav-links nav-links-sub">
|
||
<li><a href="/en/#how-it-works">How it works</a></li>
|
||
<li><a href="/en/faq">FAQ</a></li>
|
||
<li><a href="/en/contact">Contact</a></li>
|
||
</ul>
|
||
<div class="sidebar-footer">
|
||
<details class="lang-globe"><summary class="lang-globe-btn" aria-label="Language" title="Language"><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">Magyar</a></li><li><a href="/en/" lang="en" hreflang="en" class="lang-globe-item current" aria-current="true">English</a></li></ul></details>
|
||
</div>
|
||
</div>
|
||
</nav>
|
||
<main class="content">
|
||
<section class="hero-row">
|
||
<div class="hero-copy">
|
||
<h1>Your own cloud,<br><span>your own rules</span></h1>
|
||
<span class="domain-badge">Home server service</span>
|
||
<p class="hero-lede">A small machine in your home: your photos, your documents, your films. A backup is made every night. We watch it, you use it.</p>
|
||
<a href="/en/testing" class="btn btn-primary btn-lg">Apply as a tester →</a>
|
||
</div>
|
||
<figure class="hero-shot">
|
||
<img src="/assets/dashboard-laptop-en.webp?v=1" width="1200" height="916" alt="The box's Dashboard on a laptop screen: the Launcher with the installed applications" decoding="async">
|
||
<figcaption>This is what the box's Dashboard looks like.</figcaption>
|
||
</figure>
|
||
</section>
|
||
|
||
<section class="shell-section" id="services">
|
||
<div class="sec-head">
|
||
<h2>What the box does today</h2>
|
||
<p>Not a plan, not a promise — these work today on a live Felhom box</p>
|
||
</div>
|
||
<ul class="caps-teaser">
|
||
<li><a href="/en/services#every-day">What you use every day</a></li>
|
||
<li><a href="/en/services#protection">What protects you in the background</a></li>
|
||
<li><a href="/en/services#we-look-after">What we take care of</a></li>
|
||
</ul>
|
||
<a href="/en/services" class="btn btn-outline">All services →</a>
|
||
</section>
|
||
|
||
<section class="shell-section" id="dashboard">
|
||
<div class="sec-head">
|
||
<h2>What the Dashboard looks like</h2>
|
||
<p>Real pictures from a Felhom box — click one for the full size</p>
|
||
</div>
|
||
<div class="dash-grid">
|
||
<figure class="dash-shot">
|
||
<a href="/assets/dashboard-start-en.webp" data-gallery="dashboard"><img src="/assets/dashboard-start-en.webp" alt="The Dashboard's Launcher: tiles of the apps installed at home" width="1440" height="900" loading="lazy"></a>
|
||
<figcaption><strong>Launcher</strong> — every app you have, one click away.</figcaption>
|
||
</figure>
|
||
<figure class="dash-shot">
|
||
<a href="/assets/dashboard-apps-en.webp" data-gallery="dashboard"><img src="/assets/dashboard-apps-en.webp" alt="The Apps page: cards of installed and installable apps, with their status" width="1440" height="900" loading="lazy"></a>
|
||
<figcaption><strong>Apps</strong> — install in a few clicks, and see what runs and what is up to date.</figcaption>
|
||
</figure>
|
||
<figure class="dash-shot">
|
||
<a href="/assets/dashboard-app-en.webp" data-gallery="dashboard"><img src="/assets/dashboard-app-en.webp" alt="An app's own page: what it is for, pictures, and the first steps" width="1440" height="900" loading="lazy"></a>
|
||
<figcaption><strong>An app's page</strong> — what it is for, where your files go, and how to start.</figcaption>
|
||
</figure>
|
||
<figure class="dash-shot">
|
||
<a href="/assets/dashboard-backups-en.webp" data-gallery="dashboard"><img src="/assets/dashboard-backups-en.webp" alt="The backups page: each app's database backed up overnight, and checked" width="1440" height="900" loading="lazy"></a>
|
||
<figcaption><strong>Backups</strong> — every night each app's database is backed up and checked.</figcaption>
|
||
</figure>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="shell-section" id="how-it-works">
|
||
<div class="sec-head">
|
||
<h2>How it works</h2>
|
||
<p>From the first conversation to a working system.</p>
|
||
</div>
|
||
<div class="flow">
|
||
<div class="flow-step">
|
||
<h3>A first talk</h3>
|
||
<p>We talk about what you need: which apps, and how much storage.</p>
|
||
</div>
|
||
<div class="flow-step">
|
||
<h3>Choosing the hardware</h3>
|
||
<p>We help you find the machine with the best value for what you need.</p>
|
||
</div>
|
||
<div class="flow-step">
|
||
<h3>Installation</h3>
|
||
<p>We install and set up the apps, the backups and the monitoring.</p>
|
||
</div>
|
||
<div class="flow-step">
|
||
<h3>Handover</h3>
|
||
<p>We show you the system, help you bring over your existing data, and answer all your questions.</p>
|
||
</div>
|
||
<div class="flow-step">
|
||
<h3>Running it</h3>
|
||
<p>We watch the system, update it and check the backups. You just use it.</p>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="shell-section" id="why">
|
||
<div class="sec-head">
|
||
<h2>Why your own?</h2>
|
||
<p>The same convenience, on different terms.</p>
|
||
</div>
|
||
<div class="vs">
|
||
<div class="vs-head">
|
||
<div>With a cloud provider</div>
|
||
<div>On your own box</div>
|
||
</div>
|
||
<div class="vs-row">
|
||
<div>You pay every month for storage and premium features, and the prices only go up.</div>
|
||
<div><strong>The machine is yours, for good.</strong> No storage subscription that gets dearer every year: you pay for the electricity and, if you want it, for the management.</div>
|
||
</div>
|
||
<div class="vs-row">
|
||
<div>Your photos, documents and personal data sit on other people's servers, in other people's hands.</div>
|
||
<div><strong>Your data stays in your home</strong>, not on Google's or Microsoft's servers. It goes into the remote backup only encrypted.</div>
|
||
</div>
|
||
<div class="vs-row">
|
||
<div>The storage runs out, and when it is full you pay again.</div>
|
||
<div><strong>No 15 GB limit.</strong> Add space as your needs grow — terabytes, if you need them.</div>
|
||
</div>
|
||
<div class="vs-row">
|
||
<div>You do not decide which services you get, or when they are switched off.</div>
|
||
<div><strong>You decide which services you run.</strong> You are the boss, not the provider.</div>
|
||
</div>
|
||
</div>
|
||
<div class="band">
|
||
<div class="band-item">
|
||
<h3>What you can install</h3>
|
||
<p>58 apps — almost all of them open source</p>
|
||
<a href="/en/apps" class="btn btn-outline">See all applications →</a>
|
||
</div>
|
||
<div class="band-item">
|
||
<h3>What runs underneath</h3>
|
||
<p>Docker containers on a Proxmox base, three-level backups, an encrypted tunnel with no open port, a Dashboard in English or Hungarian. Matched to your needs, <strong>from the simplest to the most serious</strong>.</p>
|
||
<a href="/en/technology" class="btn btn-outline">More about the technology →</a>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="shell-section" id="closed-test">
|
||
<div class="sec-head">
|
||
<h2>Closed test</h2>
|
||
<p>We are starting to use the system for real with a few households in Hungary</p>
|
||
</div>
|
||
<div class="app-info-grid">
|
||
<div class="app-info-card">
|
||
<h3>Real use</h3>
|
||
<p>Not a demo: the box stays with you, and you put your real photos and documents on it. We help with the installation and the move, and then you use it every day.</p>
|
||
</div>
|
||
<div class="app-info-card">
|
||
<h3>Feedback</h3>
|
||
<p>In return we ask you to tell us what annoys you, what is unclear and what does not work. An "I couldn't find this button" is worth the most to us — it tells us what to fix.</p>
|
||
</div>
|
||
</div>
|
||
<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>Known limits, honestly.</strong> Honestly: the Dashboard has one shared household password today; there are no separate accounts for family members yet (each app can have its own users, though). Streaming to the TV (DLNA) is not there yet: for now the media library plays in the browser and in mobile apps. And because this is a test, expect to find bugs — that is the point.</span>
|
||
</div>
|
||
</div>
|
||
<div class="close-cta">
|
||
<p>If this interests you, write. <strong>It commits you to nothing</strong>, we just talk first.</p>
|
||
<a href="/en/testing" class="btn btn-primary btn-lg">Apply as a tester →</a>
|
||
<div class="who-mini">
|
||
<img src="/assets/operator-portrait-small.webp" alt="Viktor Nagyfenyvesi, who runs Felhom" width="160" height="200" loading="lazy">
|
||
<p>There is one person behind Felhom: <strong>Viktor Nagyfenyvesi</strong>. If you write, he answers. <a href="/en/contact#ki-all-mogotte">Who is behind it →</a></p>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<footer>
|
||
<div class="container">
|
||
<p>© 2026 felhom.eu – Your own cloud, your own rules. Felhom serves households in Hungary.</p>
|
||
<p class="footer-legal">Operated by Nagyfenyvesi Viktor · <a href="mailto:info@felhom.eu">info@felhom.eu</a> · <a href="/adatkezeles">Privacy notice (Hungarian)</a> · <a href="/feltetelek">Terms (Hungarian)</a></p>
|
||
</div>
|
||
</footer>
|
||
</main>
|
||
<script>
|
||
(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>
|