website: the reviewer's findings - consent error, reply time, sitemap, voice, clip
gates / gates (push) Successful in 6m12s
gates / gates (push) Successful in 6m12s
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.
This commit is contained in:
+65
-126
@@ -5,7 +5,7 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>FAQ — frequently asked questions about the home server service | Felhom.eu</title>
|
||||
<meta name="description" content="Answers to the most common questions: hardware, installation, apps, security, backups, costs. Everything worth knowing about our home server service in Hungary.">
|
||||
<meta name="description" content="Answers to the most common questions: hardware, installation, apps, security, backups, costs. Everything worth knowing about the home server service in Hungary.">
|
||||
|
||||
<meta name="keywords" content="FAQ, frequently asked questions, home server questions, self-hosting FAQ, server costs, server security">
|
||||
<meta name="robots" content="index, follow">
|
||||
@@ -37,7 +37,7 @@
|
||||
"name": "What is Felhom.eu, and what exactly do you do?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Felhom.eu is a service for households in Hungary that helps install and run a home server. We offer turnkey set-ups: we choose the hardware, set up the software, take care of the backups, and keep an eye on the system all the time. The aim is simple: instead of the big cloud providers (Google, Microsoft, Apple), you keep your data on a server in your own home – without having to be an expert yourself."
|
||||
"text": "Felhom.eu is a service for households in Hungary that helps install and run a home server. I offer turnkey set-ups: I choose the hardware, set up the software, take care of the backups, and keep an eye on the system all the time. The aim is simple: instead of the big cloud providers (Google, Microsoft, Apple), you keep your data on a server in your own home – without having to be an expert yourself."
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -53,7 +53,7 @@
|
||||
"name": "Do I need any technical knowledge?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "No. We do the whole installation and set-up. Your part is to use the apps – in a browser or on your phone, just like a Google or Apple service. After the installation we walk you through it in a short session, so you can use the system with confidence."
|
||||
"text": "No. I do the whole installation and set-up. Your part is to use the apps – in a browser or on your phone, just like a Google or Apple service. After the installation I walk you through it in a short session, so you can use the system with confidence."
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -61,7 +61,7 @@
|
||||
"name": "How is Felhom.eu different from a Synology or QNAP NAS?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Synology and QNAP make NAS (network storage) devices built mainly for storing files, with their own closed software. We offer an open, Docker-based system instead, where the catalog's apps install in a few clicks – from a photo manager to a media server to a password manager. A NAS offers a limited choice of apps and depends on the maker's software updates. With us you choose from 58 apps, and if something is missing, we look at whether it can be added."
|
||||
"text": "Synology and QNAP make NAS (network storage) devices built mainly for storing files, with their own closed software. I offer an open, Docker-based system instead, where the catalog's apps install in a few clicks – from a photo manager to a media server to a password manager. A NAS offers a limited choice of apps and depends on the maker's software updates. With Felhom you choose from 58 apps, and if something is missing, I look at whether it can be added."
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -69,7 +69,7 @@
|
||||
"name": "What does the process look like, from start to finish?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "1. A first talk – We talk about what you need: which apps you would use, how much storage you want, and what your budget is. 2. Choosing the hardware – We help you find the right machine for your needs and your budget. 3. Installation and set-up – We install the operating system, the container engine and the apps, and set up the backups and the monitoring. 4. Handover and training – We show you how to use the system and answer all your questions. 5. Ongoing care – We watch the backups, maintain the system, and help if anything goes wrong."
|
||||
"text": "1. A first talk – We talk about what you need: which apps you would use, how much storage you want, and what your budget is. 2. Choosing the hardware – I help you find the right machine for your needs and your budget. 3. Installation and set-up – I install the operating system, the container engine and the apps, and set up the backups and the monitoring. 4. Handover and training – I show you how to use the system and answer all your questions. 5. Ongoing care – I watch the backups, maintain the system, and help if anything goes wrong."
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -85,7 +85,7 @@
|
||||
"name": "Can I use an old machine I already have?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Often, yes! An older desktop PC can make an excellent server. In our first talk we check whether your machine suits what you plan (enough RAM, storage, reliability). Power use and noise matter – an old gaming PC will work, but each month it uses far more power than a modern mini PC."
|
||||
"text": "Often, yes! An older desktop PC can make an excellent server. In our first talk I check whether your machine suits what you plan (enough RAM, storage, reliability). Power use and noise matter – an old gaming PC will work, but each month it uses far more power than a modern mini PC."
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -93,7 +93,7 @@
|
||||
"name": "Where should the server go?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Anywhere with a power socket and a network cable (Ethernet). A cupboard, a shelf or the spot next to the router is best. Mini PCs are so compact and quiet that they fit on a living-room shelf. It can work over Wi-Fi, but for reliability and speed we always recommend a cable."
|
||||
"text": "Anywhere with a power socket and a network cable (Ethernet). A cupboard, a shelf or the spot next to the router is best. Mini PCs are so compact and quiet that they fit on a living-room shelf. It can work over Wi-Fi, but for reliability and speed I always recommend a cable."
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -117,7 +117,7 @@
|
||||
"name": "What happens if the power goes off?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "During the installation we set the server's BIOS (where the option exists) to switch on by itself after a power cut. The operating system and all the apps then start on their own too. This setting is a standard part of every installation we do. After a power cut the box recovers by itself – we have tried this with a real power cut. If reliability is critical, we can also suggest an uninterruptible power supply (UPS) to bridge a few minutes without power."
|
||||
"text": "During the installation I set the server's BIOS (where the option exists) to switch on by itself after a power cut. The operating system and all the apps then start on their own too. This setting is a standard part of every installation I do. After a power cut the box recovers by itself – I have tried this with a real power cut. If reliability is critical, I can also suggest an uninterruptible power supply (UPS) to bridge a few minutes without power."
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -133,7 +133,7 @@
|
||||
"name": "Which apps can I run?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "We offer 58 apps – the full list is on the Apps page. A few examples: Immich – a Google Photos alternative that backs up photos and videos automatically. Jellyfin/Plex – your own Netflix for films and series. Nextcloud – store and share files (instead of Google Drive). Vaultwarden – a password manager for the whole family. Paperless-ngx – scan documents and make them searchable. If something is not on the list, ask – we will look at whether it can join the catalog."
|
||||
"text": "I offer 58 apps – the full list is on the Apps page. A few examples: Immich – a Google Photos alternative that backs up photos and videos automatically. Jellyfin/Plex – your own Netflix for films and series. Nextcloud – store and share files (instead of Google Drive). Vaultwarden – a password manager for the whole family. Paperless-ngx – scan documents and make them searchable. If something is not on the list, ask – I will look at whether it can join the catalog."
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -141,7 +141,7 @@
|
||||
"name": "Can I add new apps later?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Yes, any time! Any app installs from the Dashboard in a few clicks. If you get stuck, tell us and we will help you set it up."
|
||||
"text": "Yes, any time! Any app installs from the Dashboard in a few clicks. If you get stuck, tell me and I will help you set it up."
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -165,7 +165,7 @@
|
||||
"name": "Can I bring over my existing data (Google Photos, iCloud, Dropbox)?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Yes! Most services let you export your data. With Google Takeout you can download all your photos, documents and calendar, and Immich, Nextcloud and others can import them. We help with the move. How long it takes depends on how much data there is – moving a few hundred GB of photos can take a day or two, but afterwards the system works just the way you are used to from the cloud service."
|
||||
"text": "Yes! Most services let you export your data. With Google Takeout you can download all your photos, documents and calendar, and Immich, Nextcloud and others can import them. I help with the move. How long it takes depends on how much data there is – moving a few hundred GB of photos can take a day or two, but afterwards the system works just the way you are used to from the cloud service."
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -181,7 +181,7 @@
|
||||
"name": "How safe is a home server?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "The systems we install get several layers of protection: automatic HTTPS encryption, regular security updates, a sign-in for every app, and a family gate in front of some apps. Your server is inside your home – we open no port there, and from outside it is reached only through an encrypted tunnel. Most home servers do not face targeted attacks; what they meet is automated scripts trying their luck. The right configuration protects very well against those."
|
||||
"text": "The systems I install get several layers of protection: automatic HTTPS encryption, regular security updates, a sign-in for every app, and a family gate in front of some apps. Your server is inside your home – I open no port there, and from outside it is reached only through an encrypted tunnel. Most home servers do not face targeted attacks; what they meet is automated scripts trying their luck. The right configuration protects very well against those."
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -189,7 +189,7 @@
|
||||
"name": "Can you get at my data?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "That is an important, fair question, and we answer it honestly. For support and maintenance we normally have remote access to your server – as any IT provider has to the systems it manages. We need it to check backups, install updates and fix faults. The key to your remote backup, though, only you know: the recovery code appears once, on your screen, and we keep no copy of it. So we cannot read the remote backup either. Important: unlike the big cloud providers, we do no algorithmic analysis of your data and no profiling for advertising, and your data leaves your home only encrypted (the remote backup)."
|
||||
"text": "That is an important, fair question, and I answer it honestly. For support and maintenance I normally have remote access to your server – as any IT provider has to the systems it manages. I need it to check backups, install updates and fix faults. The key to your remote backup, though, only you know: the recovery code appears once, on your screen, and I keep no copy of it. So I cannot read the remote backup either. Important: unlike the big cloud providers, Felhom does no algorithmic analysis of your data and no profiling for advertising, and your data leaves your home only encrypted (the remote backup)."
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -205,7 +205,7 @@
|
||||
"name": "Is this all right under the GDPR?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "For personal use at home the GDPR does not apply directly (under the \"household exemption\"). Your data lives at home, on your own box. The box encrypts the backup copies before they leave your home; they are stored at Hetzner in the EU (in Germany), and the storage provider cannot read them. Remote access goes through Cloudflare's network, so Cloudflare could technically see that traffic. If you use it as a small business, our privacy notice says who handles what, and where. We are not lawyers, of course: for a specific legal question, ask a professional."
|
||||
"text": "For personal use at home the GDPR does not apply directly (under the \"household exemption\"). Your data lives at home, on your own box. The box encrypts the backup copies before they leave your home; they are stored at Hetzner in the EU (in Germany), and the storage provider cannot read them. Remote access goes through Cloudflare's network, so Cloudflare could technically see that traffic. If you use it as a small business, the privacy notice says who handles what, and where. I am not a lawyer, of course: for a specific legal question, ask a professional."
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -213,7 +213,7 @@
|
||||
"name": "How are backups done?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "We follow the 3-2-1 backup rule: 3 copies of the data, on 2 different kinds of storage, 1 of them far away. It is an industry standard the largest companies use too. On the box this means three levels: a backup on the box, a second copy on a second drive, and an encrypted copy on remote storage. The backups run automatically, at night. Databases and files are backed up incrementally – only the changes are saved, which saves space and time. The details are on the Backups page."
|
||||
"text": "I follow the 3-2-1 backup rule: 3 copies of the data, on 2 different kinds of storage, 1 of them far away. It is an industry standard the largest companies use too. On the box this means three levels: a backup on the box, a second copy on a second drive, and an encrypted copy on remote storage. The backups run automatically, at night. Databases and files are backed up incrementally – only the changes are saved, which saves space and time. The details are on the Backups page."
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -229,7 +229,7 @@
|
||||
"name": "How do I know the backups really work?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "We run a central monitoring system that checks every day whether the backups ran successfully. If there is any problem – a failed backup, low storage, or the server not answering – we are notified at once, and so are you when it matters. This is not a \"set it up and hope it works\" arrangement – we watch it actively, and we also run restore tests from time to time."
|
||||
"text": "I run a central monitoring system that checks every day whether the backups ran successfully. If there is any problem – a failed backup, low storage, or the server not answering – I am notified at once, and so are you when it matters. This is not a \"set it up and hope it works\" arrangement – I watch it actively, and I also run restore tests from time to time."
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -237,7 +237,7 @@
|
||||
"name": "What is an \"off-site backup\"?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "An off-site (remote) backup means a copy of your data also exists in a physically different place. On a Felhom box that is storage we provide, where the copy goes encrypted. If disaster struck at home (fire, theft, flood), the remote copy would still be there. The off-site backup is always encrypted – nobody at the remote place can read your data, even if they can reach the files."
|
||||
"text": "An off-site (remote) backup means a copy of your data also exists in a physically different place. On a Felhom box that is storage I provide, where the copy goes encrypted. If disaster struck at home (fire, theft, flood), the remote copy would still be there. The off-site backup is always encrypted – nobody at the remote place can read your data, even if they can reach the files."
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -245,7 +245,7 @@
|
||||
"name": "What happens after the installation? Am I left on my own?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "No! Felhom.eu is not an \"install and leave\" service. We keep running it for you: monitoring, software updates, backup checks, and support whenever you have a question or a problem."
|
||||
"text": "No! Felhom.eu is not an \"install and leave\" service. I keep running it for you: monitoring, software updates, backup checks, and support whenever you have a question or a problem."
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -253,7 +253,7 @@
|
||||
"name": "How are software updates done?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "The apps run in containers, which makes updating easier. We follow new versions, and a new version reaches you only after we have tried it. The box's system gets its security updates by itself. Before every app update a fresh backup is made, and if the new version does not start properly, the box puts the previous one back by itself, with your data."
|
||||
"text": "The apps run in containers, which makes updating easier. I follow new versions, and a new version reaches you only after I have tried it. The box's system gets its security updates by itself. Before every app update a fresh backup is made, and if the new version does not start properly, the box puts the previous one back by itself, with your data."
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -261,7 +261,7 @@
|
||||
"name": "How do I ask for help if something does not work?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Just e-mail support@felhom.eu. We can solve most problems remotely, without you having to do anything. For bigger hardware issues we also help in person."
|
||||
"text": "Just e-mail support@felhom.eu. I can solve most problems remotely, without you having to do anything. For bigger hardware issues I also help in person."
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -285,7 +285,7 @@
|
||||
"name": "What if I move house?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Your server is a compact box – unplug it, take it to your new home, plug it in, and everything carries on. If your internet provider changes, the remote access set-up may need updating – we help with that."
|
||||
"text": "Your server is a compact box – unplug it, take it to your new home, plug it in, and everything carries on. If your internet provider changes, the remote access set-up may need updating – I help with that."
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -293,7 +293,7 @@
|
||||
"name": "How much does it all cost?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "The cost has two parts: One-off costs: the hardware (80,000–400,000+ Ft, depending on the set-up) and the installation fee. You buy the hardware – it is yours, for good. A monthly management fee: for monitoring, support, updates and backup supervision. It depends on the package you choose. We give an exact quote after our first talk – needs vary a lot. Write to us and we will make you a personal offer!"
|
||||
"text": "The cost has two parts: One-off costs: the hardware (80,000–400,000+ Ft, depending on the set-up) and the installation fee. You buy the hardware – it is yours, for good. A monthly management fee: for monitoring, support, updates and backup supervision. It depends on the package you choose. I give an exact quote after our first talk – needs vary a lot. Write to me and I will make you a personal offer!"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -309,7 +309,7 @@
|
||||
"name": "Are there hidden costs?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "No. The costs are: hardware (one-off), installation (one-off), monthly management (optional), and electricity (a few thousand forints a month). The apps are free to use, and almost all of them are open source – there is no licence fee for the apps. (A few have paid extras, such as Plex Pass; those are optional.) The remote backup's storage has a monthly cost that depends on how much data is backed up – we state it in the offer up front."
|
||||
"text": "No. The costs are: hardware (one-off), installation (one-off), monthly management (optional), and electricity (a few thousand forints a month). The apps are free to use, and almost all of them are open source – there is no licence fee for the apps. (A few have paid extras, such as Plex Pass; those are optional.) The remote backup's storage has a monthly cost that depends on how much data is backed up – I state it in the offer up front."
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -341,7 +341,7 @@
|
||||
"name": "Can I use my own domain name?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "Yes! If you have your own domain name (for example myserver.hu), we can make your apps reachable through it (for example photos.myserver.hu, films.myserver.hu). If you do not have one, we help you get one – it costs a few thousand forints a year."
|
||||
"text": "Yes! If you have your own domain name (for example myserver.hu), I can make your apps reachable through it (for example photos.myserver.hu, films.myserver.hu). If you do not have one, I help you get one – it costs a few thousand forints a year."
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -357,7 +357,7 @@
|
||||
"name": "Can I use a VPN to reach the server?",
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": "You do not need one: by default the box is reached from anywhere through an encrypted tunnel, over HTTPS, with no extra app. We do not set up household VPN access on the box today (where your phone or laptop connects as if it were at home). If you need that, ask us."
|
||||
"text": "You do not need one: by default the box is reached from anywhere through an encrypted tunnel, over HTTPS, with no extra app. I do not set up household VPN access on the box today (where your phone or laptop connects as if it were at home). If you need that, ask me."
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -366,7 +366,7 @@
|
||||
<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=28">
|
||||
<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>
|
||||
@@ -404,7 +404,7 @@
|
||||
<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>
|
||||
<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>
|
||||
@@ -420,7 +420,7 @@
|
||||
<div class="page-header">
|
||||
<h1>Frequently asked <span>questions</span></h1>
|
||||
</div>
|
||||
<p class="page-lede">Everything worth knowing about our home server service – in one place, in plain words.</p>
|
||||
<p class="page-lede">Everything worth knowing about the home server service – in one place, in plain words.</p>
|
||||
|
||||
|
||||
<section class="content-section" style="padding-top: 0;">
|
||||
@@ -454,7 +454,7 @@
|
||||
<svg class="faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
|
||||
</button>
|
||||
<div class="faq-answer"><div class="faq-answer-inner">
|
||||
<p>Felhom.eu is a service for households in Hungary that helps install and run a home server. We offer turnkey set-ups: we choose the hardware, set up the software, take care of the backups, and keep an eye on the system all the time.</p>
|
||||
<p>Felhom.eu is a service for households in Hungary that helps install and run a home server. I offer turnkey set-ups: I choose the hardware, set up the software, take care of the backups, and keep an eye on the system all the time.</p>
|
||||
<p>The aim is simple: instead of the big cloud providers (Google, Microsoft, Apple), you keep your data on a server in your own home – without having to be an expert yourself.</p>
|
||||
</div></div>
|
||||
</div>
|
||||
@@ -479,8 +479,8 @@
|
||||
<svg class="faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
|
||||
</button>
|
||||
<div class="faq-answer"><div class="faq-answer-inner">
|
||||
<p><strong>No.</strong> We do the whole installation and set-up. Your part is to use the apps – in a browser or on your phone, just like a Google or Apple service.</p>
|
||||
<p>After the installation we walk you through it in a short session, so you can use the system with confidence.</p>
|
||||
<p><strong>No.</strong> I do the whole installation and set-up. Your part is to use the apps – in a browser or on your phone, just like a Google or Apple service.</p>
|
||||
<p>After the installation I walk you through it in a short session, so you can use the system with confidence.</p>
|
||||
</div></div>
|
||||
</div>
|
||||
|
||||
@@ -490,8 +490,8 @@
|
||||
<svg class="faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
|
||||
</button>
|
||||
<div class="faq-answer"><div class="faq-answer-inner">
|
||||
<p>Synology and QNAP make NAS (network storage) devices built mainly for storing files, with their own closed software. We offer an open, Docker-based system instead, where the catalog's apps install in a few clicks – from a photo manager to a media server to a password manager.</p>
|
||||
<p>A NAS offers a limited choice of apps and depends on the maker's software updates. With us you choose from 58 apps, and if something is missing, we look at whether it can be added.</p>
|
||||
<p>Synology and QNAP make NAS (network storage) devices built mainly for storing files, with their own closed software. I offer an open, Docker-based system instead, where the catalog's apps install in a few clicks – from a photo manager to a media server to a password manager.</p>
|
||||
<p>A NAS offers a limited choice of apps and depends on the maker's software updates. With Felhom you choose from 58 apps, and if something is missing, I look at whether it can be added.</p>
|
||||
</div></div>
|
||||
</div>
|
||||
|
||||
@@ -502,10 +502,10 @@
|
||||
</button>
|
||||
<div class="faq-answer"><div class="faq-answer-inner">
|
||||
<p><strong>1. A first talk</strong> – We talk about what you need: which apps you would use, how much storage you want, and what your budget is.</p>
|
||||
<p><strong>2. Choosing the hardware</strong> – We help you find the right machine for your needs and your budget.</p>
|
||||
<p><strong>3. Installation and set-up</strong> – We install the operating system, the container engine and the apps, and set up the backups and the monitoring.</p>
|
||||
<p><strong>4. Handover and training</strong> – We show you how to use the system and answer all your questions.</p>
|
||||
<p><strong>5. Ongoing care</strong> – We watch the backups, maintain the system, and help if anything goes wrong.</p>
|
||||
<p><strong>2. Choosing the hardware</strong> – I help you find the right machine for your needs and your budget.</p>
|
||||
<p><strong>3. Installation and set-up</strong> – I install the operating system, the container engine and the apps, and set up the backups and the monitoring.</p>
|
||||
<p><strong>4. Handover and training</strong> – I show you how to use the system and answer all your questions.</p>
|
||||
<p><strong>5. Ongoing care</strong> – I watch the backups, maintain the system, and help if anything goes wrong.</p>
|
||||
</div></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -534,7 +534,7 @@
|
||||
<svg class="faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
|
||||
</button>
|
||||
<div class="faq-answer"><div class="faq-answer-inner">
|
||||
<p>Often, yes! An older desktop PC can make an excellent server. In our first talk we check whether your machine suits what you plan (enough RAM, storage, reliability).</p>
|
||||
<p>Often, yes! An older desktop PC can make an excellent server. In our first talk I check whether your machine suits what you plan (enough RAM, storage, reliability).</p>
|
||||
<p><strong>Power use</strong> and <strong>noise</strong> matter – an old gaming PC will work, but each month it uses far more power than a modern mini PC.</p>
|
||||
</div></div>
|
||||
</div>
|
||||
@@ -546,7 +546,7 @@
|
||||
</button>
|
||||
<div class="faq-answer"><div class="faq-answer-inner">
|
||||
<p>Anywhere with a <strong>power socket</strong> and a <strong>network cable</strong> (Ethernet). A cupboard, a shelf or the spot next to the router is best. Mini PCs are so compact and quiet that they fit on a living-room shelf.</p>
|
||||
<p>It can work over Wi-Fi, but for reliability and speed we always recommend a cable.</p>
|
||||
<p>It can work over Wi-Fi, but for reliability and speed I always recommend a cable.</p>
|
||||
</div></div>
|
||||
</div>
|
||||
|
||||
@@ -577,8 +577,8 @@
|
||||
<svg class="faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
|
||||
</button>
|
||||
<div class="faq-answer"><div class="faq-answer-inner">
|
||||
<p>During the installation we set the server's BIOS (where the option exists) to switch on by itself after a power cut. The operating system and all the apps then start on their own too. This setting is a standard part of every installation we do.</p>
|
||||
<p>After a power cut the box recovers by itself – we have tried this with a real power cut. If reliability is critical, we can also suggest an uninterruptible power supply (UPS) to bridge a few minutes without power.</p>
|
||||
<p>During the installation I set the server's BIOS (where the option exists) to switch on by itself after a power cut. The operating system and all the apps then start on their own too. This setting is a standard part of every installation I do.</p>
|
||||
<p>After a power cut the box recovers by itself – I have tried this with a real power cut. If reliability is critical, I can also suggest an uninterruptible power supply (UPS) to bridge a few minutes without power.</p>
|
||||
</div></div>
|
||||
</div>
|
||||
|
||||
@@ -607,9 +607,9 @@
|
||||
<svg class="faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
|
||||
</button>
|
||||
<div class="faq-answer"><div class="faq-answer-inner">
|
||||
<p>We offer <strong>58 apps</strong> – the full list is on the <a href="/en/apps">Apps</a> page. A few examples:</p>
|
||||
<p>I offer <strong>58 apps</strong> – the full list is on the <a href="/en/apps">Apps</a> page. A few examples:</p>
|
||||
<p><strong>Immich</strong> – a Google Photos alternative that backs up photos and videos automatically. <strong>Jellyfin/Plex</strong> – your own Netflix for films and series. <strong>Nextcloud</strong> – store and share files (instead of Google Drive). <strong>Vaultwarden</strong> – a password manager for the whole family. <strong>Paperless-ngx</strong> – scan documents and make them searchable.</p>
|
||||
<p>If something is not on the list, ask – we will look at whether it can join the catalog.</p>
|
||||
<p>If something is not on the list, ask – I will look at whether it can join the catalog.</p>
|
||||
</div></div>
|
||||
</div>
|
||||
|
||||
@@ -619,7 +619,7 @@
|
||||
<svg class="faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
|
||||
</button>
|
||||
<div class="faq-answer"><div class="faq-answer-inner">
|
||||
<p><strong>Yes, any time!</strong> Any app installs from the Dashboard in a few clicks. If you get stuck, tell us and we will help you set it up.</p>
|
||||
<p><strong>Yes, any time!</strong> Any app installs from the Dashboard in a few clicks. If you get stuck, tell me and I will help you set it up.</p>
|
||||
</div></div>
|
||||
</div>
|
||||
|
||||
@@ -649,7 +649,7 @@
|
||||
<svg class="faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
|
||||
</button>
|
||||
<div class="faq-answer"><div class="faq-answer-inner">
|
||||
<p>Yes! Most services let you export your data. With Google Takeout you can download all your photos, documents and calendar, and Immich, Nextcloud and others can import them. We help with the move.</p>
|
||||
<p>Yes! Most services let you export your data. With Google Takeout you can download all your photos, documents and calendar, and Immich, Nextcloud and others can import them. I help with the move.</p>
|
||||
<p>How long it takes depends on how much data there is – moving a few hundred GB of photos can take a day or two, but afterwards the system works just the way you are used to from the cloud service.</p>
|
||||
</div></div>
|
||||
</div>
|
||||
@@ -678,7 +678,7 @@
|
||||
<svg class="faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
|
||||
</button>
|
||||
<div class="faq-answer"><div class="faq-answer-inner">
|
||||
<p>The systems we install get several layers of protection: automatic HTTPS encryption, regular security updates, a sign-in for every app, and a family gate in front of some apps. Your server is inside your home – we open no port there, and from outside it is reached only through an encrypted tunnel.</p>
|
||||
<p>The systems I install get several layers of protection: automatic HTTPS encryption, regular security updates, a sign-in for every app, and a family gate in front of some apps. Your server is inside your home – I open no port there, and from outside it is reached only through an encrypted tunnel.</p>
|
||||
<p>Most home servers do not face targeted attacks; what they meet is automated scripts trying their luck. The right configuration protects very well against those.</p>
|
||||
</div></div>
|
||||
</div>
|
||||
@@ -689,10 +689,10 @@
|
||||
<svg class="faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
|
||||
</button>
|
||||
<div class="faq-answer"><div class="faq-answer-inner">
|
||||
<p>That is an important, fair question, and we answer it honestly.</p>
|
||||
<p>For support and maintenance we normally have remote access to your server – as any IT provider has to the systems it manages. We need it to check backups, install updates and fix faults.</p>
|
||||
<p>The key to your remote backup, though, <strong>only you know</strong>: the recovery code appears once, on your screen, and we keep no copy of it. So we cannot read the remote backup either.</p>
|
||||
<p>Important: unlike the big cloud providers, we do <strong>no algorithmic analysis of your data</strong> and no profiling for advertising, and your data leaves your home only encrypted (the remote backup).</p>
|
||||
<p>That is an important, fair question, and I answer it honestly.</p>
|
||||
<p>For support and maintenance I normally have remote access to your server – as any IT provider has to the systems it manages. I need it to check backups, install updates and fix faults.</p>
|
||||
<p>The key to your remote backup, though, <strong>only you know</strong>: the recovery code appears once, on your screen, and I keep no copy of it. So I cannot read the remote backup either.</p>
|
||||
<p>Important: unlike the big cloud providers, Felhom does <strong>no algorithmic analysis of your data</strong> and no profiling for advertising, and your data leaves your home only encrypted (the remote backup).</p>
|
||||
</div></div>
|
||||
</div>
|
||||
|
||||
@@ -713,7 +713,7 @@
|
||||
<svg class="faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
|
||||
</button>
|
||||
<div class="faq-answer"><div class="faq-answer-inner">
|
||||
<p>For personal use at home the GDPR does not apply directly (under the "household exemption"). Your data lives at home, on your own box. The box encrypts the backup copies before they leave your home; they are stored at Hetzner in the EU (in Germany), and the storage provider cannot read them. Remote access goes through Cloudflare's network, so Cloudflare could technically see that traffic. If you use it as a small business, our privacy notice says who handles what, and where. We are not lawyers, of course: for a specific legal question, ask a professional.</p>
|
||||
<p>For personal use at home the GDPR does not apply directly (under the "household exemption"). Your data lives at home, on your own box. The box encrypts the backup copies before they leave your home; they are stored at Hetzner in the EU (in Germany), and the storage provider cannot read them. Remote access goes through Cloudflare's network, so Cloudflare could technically see that traffic. If you use it as a small business, the privacy notice says who handles what, and where. I am not a lawyer, of course: for a specific legal question, ask a professional.</p>
|
||||
</div></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -731,7 +731,7 @@
|
||||
<svg class="faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
|
||||
</button>
|
||||
<div class="faq-answer"><div class="faq-answer-inner">
|
||||
<p>We follow the <strong>3-2-1 backup rule</strong>: 3 copies of the data, on 2 different kinds of storage, 1 of them far away. It is an industry standard the largest companies use too. On the box this means three levels: a backup on the box, a second copy on a second drive, and an encrypted copy on remote storage.</p>
|
||||
<p>I follow the <strong>3-2-1 backup rule</strong>: 3 copies of the data, on 2 different kinds of storage, 1 of them far away. It is an industry standard the largest companies use too. On the box this means three levels: a backup on the box, a second copy on a second drive, and an encrypted copy on remote storage.</p>
|
||||
<p>The backups run <strong>automatically</strong>, at night. Databases and files are backed up incrementally – only the changes are saved, which saves space and time. The details are on the <a href="/en/backups">Backups</a> page.</p>
|
||||
</div></div>
|
||||
</div>
|
||||
@@ -752,8 +752,8 @@
|
||||
<svg class="faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
|
||||
</button>
|
||||
<div class="faq-answer"><div class="faq-answer-inner">
|
||||
<p>We run a central monitoring system that checks <strong>every day</strong> whether the backups ran successfully. If there is any problem – a failed backup, low storage, or the server not answering – we are notified at once, and so are you when it matters.</p>
|
||||
<p>This is not a "set it up and hope it works" arrangement – we watch it actively, and we also run restore tests from time to time.</p>
|
||||
<p>I run a central monitoring system that checks <strong>every day</strong> whether the backups ran successfully. If there is any problem – a failed backup, low storage, or the server not answering – I am notified at once, and so are you when it matters.</p>
|
||||
<p>This is not a "set it up and hope it works" arrangement – I watch it actively, and I also run restore tests from time to time.</p>
|
||||
</div></div>
|
||||
</div>
|
||||
|
||||
@@ -763,7 +763,7 @@
|
||||
<svg class="faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
|
||||
</button>
|
||||
<div class="faq-answer"><div class="faq-answer-inner">
|
||||
<p>An off-site (remote) backup means a copy of your data also exists in a physically different place. On a Felhom box that is storage we provide, where the copy goes encrypted. If disaster struck at home (fire, theft, flood), the remote copy would still be there.</p>
|
||||
<p>An off-site (remote) backup means a copy of your data also exists in a physically different place. On a Felhom box that is storage I provide, where the copy goes encrypted. If disaster struck at home (fire, theft, flood), the remote copy would still be there.</p>
|
||||
<p>The off-site backup is always <strong>encrypted</strong> – nobody at the remote place can read your data, even if they can reach the files.</p>
|
||||
</div></div>
|
||||
</div>
|
||||
@@ -782,7 +782,7 @@
|
||||
<svg class="faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
|
||||
</button>
|
||||
<div class="faq-answer"><div class="faq-answer-inner">
|
||||
<p><strong>No!</strong> Felhom.eu is not an "install and leave" service. We keep running it for you: monitoring, software updates, backup checks, and support whenever you have a question or a problem.</p>
|
||||
<p><strong>No!</strong> Felhom.eu is not an "install and leave" service. I keep running it for you: monitoring, software updates, backup checks, and support whenever you have a question or a problem.</p>
|
||||
</div></div>
|
||||
</div>
|
||||
|
||||
@@ -792,7 +792,7 @@
|
||||
<svg class="faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
|
||||
</button>
|
||||
<div class="faq-answer"><div class="faq-answer-inner">
|
||||
<p>The apps run in containers, which makes updating easier. We follow new versions, and a new version reaches you only after we have tried it. The box's system gets its security updates by itself.</p>
|
||||
<p>The apps run in containers, which makes updating easier. I follow new versions, and a new version reaches you only after I have tried it. The box's system gets its security updates by itself.</p>
|
||||
<p>Before every app update a fresh backup is made, and if the new version does not start properly, the box puts the previous one back by itself, with your data.</p>
|
||||
</div></div>
|
||||
</div>
|
||||
@@ -803,7 +803,7 @@
|
||||
<svg class="faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
|
||||
</button>
|
||||
<div class="faq-answer"><div class="faq-answer-inner">
|
||||
<p>Just e-mail <strong>support@felhom.eu</strong>. We can solve most problems remotely, without you having to do anything. For bigger hardware issues we also help in person.</p>
|
||||
<p>Just e-mail <strong>support@felhom.eu</strong>. I can solve most problems remotely, without you having to do anything. For bigger hardware issues I also help in person.</p>
|
||||
</div></div>
|
||||
</div>
|
||||
|
||||
@@ -835,7 +835,7 @@
|
||||
<svg class="faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
|
||||
</button>
|
||||
<div class="faq-answer"><div class="faq-answer-inner">
|
||||
<p>Your server is a compact box – unplug it, take it to your new home, plug it in, and everything carries on. If your internet provider changes, the remote access set-up may need updating – we help with that.</p>
|
||||
<p>Your server is a compact box – unplug it, take it to your new home, plug it in, and everything carries on. If your internet provider changes, the remote access set-up may need updating – I help with that.</p>
|
||||
</div></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -856,7 +856,7 @@
|
||||
<p>The cost has two parts:</p>
|
||||
<p><strong>One-off costs:</strong> the hardware (80,000–400,000+ Ft, depending on the set-up) and the installation fee. You buy the hardware – it is yours, for good.</p>
|
||||
<p><strong>A monthly management fee:</strong> for monitoring, support, updates and backup supervision. It depends on the package you choose.</p>
|
||||
<p>We give an exact quote after our first talk – needs vary a lot. Write to us and we will make you a personal offer!</p>
|
||||
<p>I give an exact quote after our first talk – needs vary a lot. Write to me and I will make you a personal offer!</p>
|
||||
</div></div>
|
||||
</div>
|
||||
|
||||
@@ -878,7 +878,7 @@
|
||||
</button>
|
||||
<div class="faq-answer"><div class="faq-answer-inner">
|
||||
<p>No. The costs are: hardware (one-off), installation (one-off), monthly management (optional), and electricity (a few thousand forints a month). The apps are free to use, and almost all of them are <strong>open source</strong> – there is no licence fee for the apps. (A few have paid extras, such as Plex Pass; those are optional.)</p>
|
||||
<p>The remote backup's storage has a monthly cost that depends on how much data is backed up – we state it in the offer up front.</p>
|
||||
<p>The remote backup's storage has a monthly cost that depends on how much data is backed up – I state it in the offer up front.</p>
|
||||
</div></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -930,7 +930,7 @@
|
||||
<svg class="faq-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>
|
||||
</button>
|
||||
<div class="faq-answer"><div class="faq-answer-inner">
|
||||
<p>Yes! If you have your own domain name (for example <em>myserver.hu</em>), we can make your apps reachable through it (for example <em>photos.myserver.hu</em>, <em>films.myserver.hu</em>). If you do not have one, we help you get one – it costs a few thousand forints a year.</p>
|
||||
<p>Yes! If you have your own domain name (for example <em>myserver.hu</em>), I can make your apps reachable through it (for example <em>photos.myserver.hu</em>, <em>films.myserver.hu</em>). If you do not have one, I help you get one – it costs a few thousand forints a year.</p>
|
||||
</div></div>
|
||||
</div>
|
||||
|
||||
@@ -951,7 +951,7 @@
|
||||
</button>
|
||||
<div class="faq-answer"><div class="faq-answer-inner">
|
||||
<p>You do not need one: by default the box is reached from anywhere through an encrypted tunnel, over HTTPS, with no extra app.</p>
|
||||
<p>We do not set up household VPN access on the box today (where your phone or laptop connects as if it were at home). If you need that, ask us.</p>
|
||||
<p>I do not set up household VPN access on the box today (where your phone or laptop connects as if it were at home). If you need that, ask me.</p>
|
||||
</div></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -962,14 +962,14 @@
|
||||
<section class="cta-section alt-bg">
|
||||
<div class="container">
|
||||
<h2>Didn't find <span>your answer?</span></h2>
|
||||
<p>Just write to us – we are happy to answer any question.</p>
|
||||
<p>Just write to me – I am happy to answer any question.</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>
|
||||
<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>
|
||||
@@ -1004,67 +1004,6 @@
|
||||
}
|
||||
</script>
|
||||
<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;
|
||||
|
||||
Reference in New Issue
Block a user