Files
felhom.eu/website/en/backups.html
T
admin bb69a73330
gates / gates (push) Failing after 5m21s
website: four more notes - first person, the globe's well, the touching tables, the submenu label
1. THE HOME PAGE SPOKE ABOUT THE OPERATOR IN THE THIRD PERSON ("Ha irsz, o valaszol")
   while the page it links to is in the first ("Ha irsz, en valaszolok"). Both home
   pages now read "Nagyfenyvesi Viktor vagyok, a Felhom mogott en allok" / "I am Viktor
   Nagyfenyvesi, and I am the one behind Felhom", and the link after it is "Rolam
   bovebben" / "More about me" rather than repeating the question the sentence has just
   answered. The legal pages keep the formal third-person name, which is their job.

2. 36px OF DEAD SPACE UNDER THE LANGUAGE GLOBE, and most of it was A LEAK GATE 22
   COULD NOT SEE. The old chrome's

       nav { position: fixed; top/left/right: 0; padding: 20px 0;
             backdrop-filter: blur(12px); border-bottom: 1px solid var(--line);
             z-index: 200 }

   is a BARE ELEMENT selector, so it matched <nav class="sidebar"> too - and .sidebar
   declares none of those, so all of them were in force on the sidebar. Scoped
   body:not(.shell); the footer row's own padding went 16px -> ~8px.

   Gate 22's first half compares selectors present in BOTH stylesheets, and `nav` is not
   a selector shell.css ever writes, so this shape was outside its field of view. It now
   has a SECOND HALF: an unscoped bare nav/header/main/aside rule in site.css is a
   failure, because those elements ARE the shell (<nav class="sidebar">,
   <header class="mobile-topbar">, <main class="content">). It convicted a second live
   one on its first run: R-903's `@media (max-width:900px) and (scripting: none)
   nav { position: static }` had been overriding the sidebar's own position on a phone
   with scripting off. `footer` is deliberately NOT on the list, with the reason beside
   it: the shell carries the website's own footer.
   Decoy site/bare-element-rule-reaches-shell, seen to convict.

3. THE COMPARISON TABLE AND THE TWO CARDS under "Miert a sajatod?" were touching: .vs
   ends on its own border and .band opens with a 2px blue rule, so they read as one
   block. 2rem between them.

4. "MINDEN ALKALMAZAS" -> "AZ ALKALMAZASOKROL" / "About the apps" on all 22 pages. Every
   app is on that one page, so the first submenu item is not a filter - it is the top of
   the page, where the intro and the "Fontos tudnivalok" box are. The en-nav-drift decoy
   was re-anchored on the new label.

Checked at 390px and 1440px on all 21 pages: no sideways scrolling, footer inside the
content column, the renamed item on every page. site.css?v=25.
2026-10-12 09:32:16 +02:00

377 lines
23 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">
<title>Backups — a 3-2-1 backup strategy for home servers | Felhom.eu</title>
<meta name="description" content="Professional 3-2-1 backups for a home server in Hungary. Automatic backups on three levels: on the box, on a second drive, and encrypted on remote storage.">
<meta name="keywords" content="backup, 3-2-1 backup rule, off-site backup, data backup, home server backup, encrypted backup, automatic backup">
<meta name="robots" content="index, follow">
<link rel="canonical" href="https://felhom.eu/en/backups">
<link rel="alternate" hreflang="hu" href="https://felhom.eu/biztonsagimentes">
<link rel="alternate" hreflang="en" href="https://felhom.eu/en/backups">
<link rel="alternate" hreflang="x-default" href="https://felhom.eu/biztonsagimentes">
<meta property="og:type" content="article">
<meta property="og:url" content="https://felhom.eu/en/backups">
<meta property="og:title" content="3-2-1 backups for a home server">
<meta property="og:description" content="Professional-grade data safety at home. Automatic backups, and an encrypted copy far away too.">
<meta property="og:image" content="https://felhom.eu/assets/og-image-en.png">
<meta property="og:locale" content="en_GB">
<meta property="og:site_name" content="Felhom.eu">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="3-2-1 backups for a home server">
<meta name="twitter:description" content="Professional data protection for your home server. Automatic backups, off-site copies.">
<meta name="twitter:image" content="https://felhom.eu/assets/og-image-en.png">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "A 3-2-1 backup strategy for home servers",
"description": "How to protect your data at home with a professional backup strategy.",
"author": {"@type": "Organization", "name": "Felhom.eu"},
"publisher": {"@type": "Organization", "name": "Felhom.eu", "logo": {"@type": "ImageObject", "url": "https://felhom.eu/assets/logo.png"}},
"mainEntityOfPage": "https://felhom.eu/en/backups"
}
</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=25">
<link rel="stylesheet" href="/assets/shell.css?v=25">
<link rel="icon" type="image/png" href="/assets/logo_favicon_2.svg">
<script defer src="https://stats.felhom.eu/script.js" data-website-id="d419db57-5e1c-48df-bdb3-c29f25fb1661"></script>
</head>
<body class="shell page-biztonsagimentes">
<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/"><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" class="active"><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="/biztonsagimentes" lang="hu" hreflang="hu" class="lang-globe-item">Magyar</a></li><li><a href="/en/backups" lang="en" hreflang="en" class="lang-globe-item current" aria-current="true">English</a></li></ul></details>
</div>
</div>
</nav>
<main class="content">
<div class="page-header">
<h1><span>Backups</span></h1>
</div>
<p class="page-lede">Your data's safety comes first. With a professional backup strategy, we make sure there is something to bring back from after a fault or an accident.</p>
<!-- Bevezető -->
<section class="content-section">
<div class="container">
<div class="info-card">
<h3><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-circle-help"/></svg> Why does it matter?</h3>
<p>When someone picks a cloud service – Google Drive, iCloud or any other – one of the most important things is <strong>data safety</strong>. The question is not whether someone can get at our data, but whether it <strong>survives</strong>.</p>
<p>The big providers solve this with billion-dollar infrastructure: several data centres, redundant storage, automatic backups. But can a home server be just as safe?</p>
<div class="highlight-box">
<p><strong>The answer: yes.</strong> With the right backup strategy, your home server can be as safe as any cloud provider – and you are in charge of everything.</p>
</div>
</div>
</div>
</section>
<!-- 3-2-1 szabály -->
<section class="content-section alt-bg">
<div class="container">
<div class="section-header">
<h2>The 3-2-1 <span>backup rule</span></h2>
<p>The industry standard that professional system administrators and companies use around the world</p>
</div>
<div class="backup-rule">
<div class="rule-number">3</div>
<div class="rule-content">
<h3>Three copies of your data</h3>
<p>Always keep at least three copies of everything important: the original and two backups. If one is damaged or lost, there are still two in reserve.</p>
<div class="example-box">
<div class="label">Example</div>
<p>Your family photos are on the server (1), on an external hard drive (2), and in a remote place (3).</p>
</div>
</div>
</div>
<div class="backup-rule">
<div class="rule-number">2</div>
<div class="rule-content">
<h3>Two different kinds of storage</h3>
<p>Keep your data on at least two kinds of storage device. Different devices fail in different ways – if one kind breaks, the other is probably fine.</p>
<div class="example-box">
<div class="label">Example</div>
<p>You keep your data on the server's internal SSD, and the backup goes to an external HDD or a NAS.</p>
</div>
</div>
</div>
<div class="backup-rule">
<div class="rule-number">1</div>
<div class="rule-content">
<h3>One off-site (remote) copy</h3>
<p>Keep at least one copy in a different physical place. That protects against local disasters: a fire, a flood, a burglary or even a lightning strike cannot put all your data at risk.</p>
<div class="example-box">
<div class="label">Example</div>
<p>The backup is copied on its own to a friend's or relative's server, or goes encrypted into the cloud.</p>
</div>
</div>
</div>
<div class="backup-diagram">
<h3>What it looks like in practice</h3>
<div class="diagram-visual">
<div class="diagram-node primary">
<div class="icon"><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-monitor"/></svg></div>
<div class="label">Server</div>
<div class="sublabel">Original data</div>
</div>
<div class="diagram-arrow">→</div>
<div class="diagram-node">
<div class="icon"><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-hard-drive"/></svg></div>
<div class="label">Local backup</div>
<div class="sublabel">External HDD/NAS</div>
</div>
<div class="diagram-arrow">→</div>
<div class="diagram-node">
<div class="icon"><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-globe"/></svg></div>
<div class="label">Off-site backup</div>
<div class="sublabel">Remote place</div>
</div>
</div>
</div>
</div>
</section>
<!-- Offsite megoldások -->
<section class="content-section">
<div class="container">
<div class="section-header">
<h2>Off-site <span>backup options</span></h2>
<p>The "1" in the 3-2-1 rule – the most important, and often the most neglected</p>
</div>
<div class="methods-grid">
<div class="method-card">
<div class="method-icon"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-users"/></svg></div>
<h3>The "buddy system"</h3>
<p>The simplest and cheapest option: swap backups with someone you trust. You back up to their server, they back up to yours.</p>
<ul class="method-pros">
<li>No monthly fee</li>
<li>Full control over the data</li>
<li>Safety for both of you</li>
<li>End-to-end encryption is possible</li>
</ul>
<div class="example-box">
<div class="label">How does it work?</div>
<p>Encrypted backups sync on their own over a VPN connection.</p>
</div>
</div>
<div class="method-card">
<div class="method-icon"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-building-2"/></svg></div>
<h3>Home ↔ Office</h3>
<p>If you have a workplace or your own office, use it! Two sites give you natural distance.</p>
<ul class="method-pros">
<li>Uses what is already there</li>
<li>A safe, familiar place</li>
<li>Quick to recover from when needed</li>
</ul>
<div class="example-box">
<div class="label">Tip</div>
<p>A small, quiet mini PC in a corner of the office can be a perfect backup target.</p>
</div>
</div>
<div class="method-card">
<div class="method-icon"><svg class="ico-tile" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-cloud"/></svg></div>
<h3>Encrypted cloud backup</h3>
<p>If there is no trusted friend or second site, the cloud is the answer. Important: the data is encrypted before it is uploaded!</p>
<ul class="method-pros">
<li>Professional infrastructure</li>
<li>Storage spread across places</li>
<li>No hardware needed</li>
</ul>
<ul class="method-pros method-cons">
<li>A monthly or yearly fee (depending on how much is stored)</li>
</ul>
<div class="example-box">
<div class="label">Note</div>
<p>The storage fee depends on how much data is backed up. This is the option a Felhom box uses.</p>
</div>
</div>
</div>
</div>
</section>
<!-- Mi hogyan csináljuk -->
<section class="content-section alt-bg">
<div class="container">
<div class="section-header">
<h2>How <span>we do it</span></h2>
<p>Backups are set up by default on every server we install</p>
</div>
<div class="info-card">
<h3><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-wrench"/></svg> Automatic backups</h3>
<p>Every night the server makes backups by itself, on three levels: <strong>on the box</strong>, on a <strong>second drive</strong> (if there is one), and <strong>encrypted on remote storage</strong>. You do not have to remember anything – the system takes care of it.</p>
<p>The backups are incremental: only the changes are saved. That saves space and time, and a full restore is still there when you need it.</p>
<div class="highlight-box">
<p><svg class="ico" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-monitor"/></svg> <strong>Not only the data:</strong> thanks to the Proxmox base, not only your files and databases are backed up but your <strong>whole system</strong> too – the whole box goes into a backup, and it can be restored from it. If the box itself breaks, your apps' data can be brought back from the encrypted remote backup onto the reinstalled system – with the recovery code.</p>
</div>
<div class="highlight-box">
<p><strong>Where the remote backup goes:</strong> on a Felhom box the remote copy goes, encrypted, to storage we provide. The "buddy system" and the office are general options for the 3-2-1 rule – we do not set them up today.</p>
</div>
<h3 style="margin-top: 24px;"><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-lock"/></svg> The recovery code – only you know it</h3>
<p>Your remote backup is encrypted, and the key to the encryption is a <strong>recovery code</strong>. The code appears exactly once: on your screen, when it is set up. We keep no copy of it.</p>
<p>This is a deliberate choice, and it has two sides. One: <strong>nobody</strong> but you can read your remote backup – not even us. The other: if the box is destroyed and the code is lost too, then <strong>we cannot restore</strong> the remote backup either. So the code goes on paper, and somewhere safe.</p>
<h3 style="margin-top: 24px;"><svg class="ico-lg" aria-hidden="true"><use href="/assets/icons.svg?v=1#i-chart-column"/></svg> Monitoring and notifications</h3>
<p>We watch the backups all the time. If there is a problem – a failed backup, storage filling up, a connection fault – it shows up in our monitoring, and an e-mail goes out about it. One aim of the closed test is to polish these notifications in real use.</p>
</div>
</div>
</section>
<!-- CTA -->
<section class="cta-section">
<div class="container">
<h2>A question about <span>backups?</span></h2>
<p>Let's talk about what is best in your situation. We help you find the balance between safety and cost.</p>
<a href="/en/contact" class="cta-button">Get in touch →</a>
</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 hamburger = document.getElementById('hamburger');
var navLinks = document.querySelector('.nav-links');
var overlay = document.getElementById('mobileOverlay');
var 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', 'Close menu');
}
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', 'Open menu');
}
hamburger.addEventListener('click', function() {
if (navLinks.classList.contains('is-open')) {
closeMenu();
} else {
openMenu();
}
});
overlay.addEventListener('click', closeMenu);
navLinks.querySelectorAll('a').forEach(function(link) {
link.addEventListener('click', closeMenu);
});
document.addEventListener('keydown', function(e) {
if (e.key === 'Escape' && navLinks.classList.contains('is-open')) {
closeMenu();
}
});
window.addEventListener('resize', function() {
if (window.innerWidth > 900 && navLinks.classList.contains('is-open')) {
closeMenu();
}
});
})();
</script>
<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>