b0ef27e914
gates / gates (push) Failing after 7m17s
The operator recorded the six scenes and ruled on their length: use them whole, "they had been cut as I liked them". Jellyfin, Tandoor, OnlyOffice, Immich, RomM, Paperless, 0.6s crossfades, 36.6s looping at 904x556. - hero-clip.mp4 (1 134 KB) + hero-clip.webm (1 295 KB) + hero-poster.webp (53 KB), one set for both languages: the recordings are the same on / and /en/. - The hero <video> sits in the frame's cut-out hole at z-index 1, the frame above it at 2. No autoplay attribute: the page's script starts it when the hero is on screen, pauses it when it leaves, and never starts it under prefers-reduced-motion. With JS off the poster stays. - make_hero_clip.py reads each scene's own length (ffprobe) instead of cutting every one to a fixed window, and the xfade offsets count from the running sum minus one fade per transition already made. - site.css ?v=26 on all 22 pages. NOT verified: playback in this workstation's Chrome, whose media pipeline loads nothing at all today (a 1 KB generated WAV blob stalls the same way, with no error) - which rules the clip out as the cause. Geometry, layering and the poster frame were verified in the browser. Jellyfin, Paperless and RomM were filmed on those projects' own public demo sites; the films in the Jellyfin scene are public-domain prints.
313 lines
20 KiB
HTML
313 lines
20 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=26">
|
||
<link rel="stylesheet" href="/assets/shell.css?v=25">
|
||
<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">About the apps</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">
|
||
<div class="hero-laptop">
|
||
<video class="hero-screen" poster="/assets/hero-poster.webp?v=1" muted loop playsinline preload="none" disablepictureinpicture aria-label="Apps running: Jellyfin, Tandoor, OnlyOffice, Immich, RomM, Paperless">
|
||
<source src="/assets/hero-clip.webm?v=1" type="video/webm">
|
||
<source src="/assets/hero-clip.mp4?v=1" type="video/mp4">
|
||
</video>
|
||
<img src="/assets/hero-laptop-frame.webp?v=1" width="1200" height="916" alt="" decoding="async">
|
||
</div>
|
||
<figcaption>Apps from the catalogue: Jellyfin, Tandoor, OnlyOffice, Immich, RomM, Paperless.</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><strong>I am Viktor Nagyfenyvesi</strong>, and I am the one behind Felhom. If you write, I answer. <a href="/en/contact#ki-all-mogotte">More about me →</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');}
|
||
});
|
||
(function(){
|
||
var v=document.querySelector('.hero-screen');
|
||
if(!v||!v.play)return;
|
||
if(window.matchMedia&&window.matchMedia('(prefers-reduced-motion: reduce)').matches)return;
|
||
var go=function(){var p=v.play();if(p&&p['catch'])p['catch'](function(){});};
|
||
if(!window.IntersectionObserver){go();return;}
|
||
new IntersectionObserver(function(es){
|
||
es.forEach(function(e){if(e.isIntersecting){go();}else{v.pause();}});
|
||
},{threshold:0.2}).observe(v);
|
||
})();
|
||
</script>
|
||
</body>
|
||
</html>
|