Files
felhom.eu/website/en/backups.html
T
admin 02be8ea7f0
gates / gates (push) Successful in 6m12s
website: the reviewer's findings - consent error, reply time, sitemap, voice, clip
A page-by-page review of the live site (1440px and 390px) found six defects and
two editorial questions. The operator answered three questions; the answers and
the evidence are in REPORT-review-2026-10-12.md.

Fixed:
- The contact form showed its consent error before any submit, on both pages:
  #privacyError sits outside any .form-group and the hide rule was scoped to
  .form-group. Scoped to the page. Checked: load (none) -> submit unticked
  (shown) -> tick (gone), with no message sent.
- The consent checkbox is the site's own control now: 24px box, keyboard focus
  ring, and a second <label for="privacy"> at 44x44 round it for touch.
- The contact page promised a reply within 24 hours while /feltetelek 1.1 §4
  promises no reply time. Now 1-2 days usually, and no promise during the test.
- sitemap.xml was missing /szolgaltatasok and /en/services: 18 -> 20 URLs.
- The pre-shell mobile-menu script still ran on 20 pages and logged
  "[mobile-menu] Missing elements" on every one. Removed.
- The sidebar's tester button was btn-outline while the hero's was btn-primary.
- The home page's "Mit tud a doboz ma?" was three bare links; each card now
  carries 2-3 of the services page's own items, word for word.
- A plain Facebook link in the footer of all 22 pages. No script, widget or
  pixel: the only external hosts any page refers to are still felhom.eu and
  stats.felhom.eu.

Voice (operator ruling: "I" everywhere a person speaks): contact, tester and FAQ
pages in both languages, and the home and services pages that repeat the same
promises. An inclusive "we" (you and I, talking) stays plural, and the legal
texts are untouched. Each FAQ answer exists twice (JSON-LD + visible) and gate 18
holds them equal - it caught the five answers whose markup split the sentence.

Hero clip rebuilt: Immich first, so the poster is a wall of real photographs;
the Jellyfin scene starts after the demo's library wall (eleven pieces of poster
art whose licence cannot be quoted from a first-party source); 1.3s of blank
screen cut from the OnlyOffice scene. The film that plays, Caminandes 3:
Llamigos, is CC BY per Blender's own video platform ("licence": {"id": 1,
"label": "Attribution"}) - NOT public domain as website/CHANGELOG.md said
yesterday. That sentence is corrected in place and the film is credited under
the hero caption.

New gate 24: sitemap.xml lists every public page once, with its twin's hreflang
pair, and lists nothing else. Decoy: site/sitemap-missing-page, the exact shape
the reviewer found by hand.

site.css ?v=30; hero clip and poster ?v=2.
2026-10-12 14:25:53 +02:00

316 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">
<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=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="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-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="/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> · <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');}
});
</script>
</body>
</html>