Files
felhom.eu/website/en/index.html
T
admin c4d1b0ff98
gates / gates (push) Successful in 6m27s
Website: the two download clients on the app page; the campaign's evidence; R-988 filed
The catalog published qBittorrent and Transmission today (app-catalog 9081a47). Here:

- two cards in the media category on both language sets, each with the project's own logo,
  each saying what a closed peer port costs (slower swarms, no incoming peers)
- the published count 58 -> 60 on every page that states it, FAQ JSON-LD with its visible twin
- documentation/audits/qbittorrent-2026-10-12/: both bench runs, both box walks and verdicts,
  verify-fixes.json, teardown-newapps.json, and the README brought to its final state
- the 2026-09-30 walk harness: a `type: path` deploy field is filled with the drive ROOT —
  the controller refuses a path inside a drive (409), so the walker could not install any app
  with a drive field at all
- R-988: the Usenet pair (SABnzbd, NZBGet), operator request, not started
- STATUS.md and REPORT-newapps-2026-10-12.md

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0117kRTSgs3rJWUFGxyoWN6Y
2026-10-12 21:03:11 +02:00

333 lines
21 KiB
HTML
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.
<!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. 60 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?v=3">
<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?v=3">
<!-- 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=30">
<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 &amp; Office</a></li>
<li><a href="/en/apps#media">Media &amp; Entertainment</a></li>
<li><a href="/en/apps#home">Home &amp; Lifestyle</a></li>
<li><a href="/en/apps#productivity">Productivity &amp; Knowledge</a></li>
<li><a href="/en/apps#system">System &amp; 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-primary 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. I 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=2" muted loop playsinline preload="none" disablepictureinpicture aria-label="Apps running: Immich, Jellyfin, Tandoor, OnlyOffice, RomM, Paperless">
<source src="/assets/hero-clip.webm?v=2" type="video/webm">
<source src="/assets/hero-clip.mp4?v=2" 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: Immich, Jellyfin, Tandoor, OnlyOffice, RomM, Paperless.<span class="hero-credit">The film on the screen: <a href="https://studio.blender.org/films/caminandes-3/" rel="noopener">Caminandes: Llamigos</a> © Blender Foundation, CC BY.</span></figcaption>
</figure>
</section>
<section class="shell-section" id="services">
<div class="sec-head">
<h2>What the box <span>does today</span></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>
<ul>
<li>Photos, documents, media</li>
<li>Network shares</li>
<li>60 apps to install</li>
</ul>
</li>
<li>
<a href="/en/services#protection">What protects you in the background</a>
<ul>
<li>Automatic backups on three levels</li>
<li>A recovery code only you know</li>
<li>Restore when something goes wrong</li>
</ul>
</li>
<li>
<a href="/en/services#we-look-after">What I take care of</a>
<ul>
<li>Remote monitoring, automatic updates</li>
<li>Careful app updates</li>
</ul>
</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 <span>Dashboard looks like</span></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 <span>it works</span></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 <span>your own?</span></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>60 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 <span>test</span></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> · <a href="https://www.facebook.com/felhom.eu">Facebook</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>