From 33a6e35e3af8b9d8a04f61f9e88f18cf70b84c2c Mon Sep 17 00:00:00 2001 From: Muhammad Nauman Raza Date: Mon, 30 Dec 2024 14:05:34 +0000 Subject: [PATCH] blog: new blog post 'RAID with btrfs' --- config.toml | 6 +- content/blog/_index.md | 2 +- content/blog/btrfs-raid-setup.md | 86 ++++++++++++++++++ public/404.html | 2 +- public/blog/adblock-blocky/index.html | 2 +- public/blog/btrfs-raid-setup/index.html | 17 ++++ public/blog/feed.xml | 70 +++++++++++++- public/blog/hoaxes-overview/index.html | 2 +- public/blog/home-server-security/index.html | 8 +- public/blog/index.html | 2 +- public/blog/nfc-misconceptions/index.html | 2 +- public/blog/selfhost-search-engine/index.html | 6 +- public/blog/selfhost-tailscale/index.html | 4 +- .../blog/server-hardware-selection/index.html | 2 +- public/blog/setting-up-zola-nixos/index.html | 6 +- public/elasticlunr.min.js | 10 ++ public/img/raid10.png | Bin 0 -> 75099 bytes public/index.html | 2 +- public/projects/index.html | 2 +- public/search_index.en.js | 1 + public/sitemap.xml | 22 +++++ public/tags/adblock/index.html | 2 +- public/tags/blocky/index.html | 2 +- public/tags/btrfs/index.html | 3 + public/tags/hacking/index.html | 2 +- public/tags/hardening/index.html | 2 +- public/tags/hardware/index.html | 2 +- public/tags/headscale/index.html | 2 +- public/tags/hoax/index.html | 2 +- public/tags/home-lab/index.html | 2 +- public/tags/homelab/index.html | 2 +- public/tags/index.html | 2 +- public/tags/nas/index.html | 3 + public/tags/nfc/index.html | 2 +- public/tags/nixos/index.html | 2 +- public/tags/privacy/index.html | 2 +- public/tags/raid/index.html | 3 + public/tags/raid0/index.html | 3 + public/tags/raid1/index.html | 3 + public/tags/raid10/index.html | 3 + public/tags/searxng/index.html | 2 +- public/tags/selfhosted/index.html | 2 +- public/tags/social-engineering/index.html | 2 +- public/tags/sysadmin/index.html | 2 +- public/tags/tailscale/index.html | 2 +- public/tags/zola/index.html | 2 +- static/img/raid10.png | Bin 0 -> 75099 bytes 47 files changed, 264 insertions(+), 46 deletions(-) create mode 100644 content/blog/btrfs-raid-setup.md create mode 100644 public/blog/btrfs-raid-setup/index.html create mode 100644 public/elasticlunr.min.js create mode 100644 public/img/raid10.png create mode 100644 public/search_index.en.js create mode 100644 public/tags/btrfs/index.html create mode 100644 public/tags/nas/index.html create mode 100644 public/tags/raid/index.html create mode 100644 public/tags/raid0/index.html create mode 100644 public/tags/raid1/index.html create mode 100644 public/tags/raid10/index.html create mode 100644 static/img/raid10.png diff --git a/config.toml b/config.toml index c71d9b1..a3f2335 100644 --- a/config.toml +++ b/config.toml @@ -13,9 +13,9 @@ theme = "serene" output_dir = "public" compile_sass = false minify_html = true -build_search_index = false # Keep this false, search is temporarily unsupported -generate_feed = false # Whether to generate a feed file in root, read docs for more info about rss feed -feed_filename = "feed.xml" # The file name of feed, "feed.xml" / "atom.xml" / "rss.xml", read docs for more info +build_search_index = true +generate_feeds = false +feed_filenames = [ "feed.xml" ] taxonomies = [{ name = "tags" }, { name = "categories" }] [markdown] diff --git a/content/blog/_index.md b/content/blog/_index.md index 05818ea..d9684ef 100644 --- a/content/blog/_index.md +++ b/content/blog/_index.md @@ -5,7 +5,7 @@ sort_by = "date" template = "blog.html" page_template = "post.html" insert_anchor_links = "right" -generate_feed = true +generate_feeds = true [extra] lang = 'en' diff --git a/content/blog/btrfs-raid-setup.md b/content/blog/btrfs-raid-setup.md new file mode 100644 index 0000000..1d544ea --- /dev/null +++ b/content/blog/btrfs-raid-setup.md @@ -0,0 +1,86 @@ ++++ +title = "RAID with btrfs" +date = 2024-12-30 +draft = false + +[taxonomies] +categories = ["Misc."] +tags = ["btrfs", "NAS", "RAID", "RAID10", "RAID1", "RAID0"] + +[extra] +lang = "en" +toc = true +comment = true +copy = true +math = false +mermaid = false ++++ + +# Introduction +## What is RAID? +Shamelessly copying from the [relevant Wikipedia page](https://en.wikipedia.org/wiki/RAID): + +> RAID (/reɪd/; redundant array of inexpensive disks or redundant array of independent disks) is a data storage virtualization technology that combines multiple physical data storage components into one or more logical units for the purposes of data redundancy, performance improvement, or both. + +That definition works well enough in case you don't already know what RAID is, which I doubt is the case for anyone reading this post. + +## Why use it? +Ever had a hard drive containing important data - without any backups - fail? Or, a little less likely, had a mission-critical file server break for a few hours because a drive failed? These are the two biggest problems that RAID solves. + +# That's great, but how do I use it? +And finally, we have the main body of this blog post! While frustatingly looking up how to do *slightly* weird things with RAID using `btrfs`, I found the lack of documentation annoying - so, I thought I'd make this blog post to aggregate a bunch of commands. + +And so, the list: + +## RAID1 +- Setting up RAID1 with two disks: + ```bash + mkdir /mnt/raid1 # make the RAID1 pool + btrfs device add /dev/sdA1 /mnt/raid1 # add the first device + btrfs device add /dev/sdB1 /mnt/raid1 # add the second device + ``` +- Setting up RAID1 when you already have a disk with some data on it and want to add another: + ```bash + btrfs device add /dev/sdB1 /mnt/raid1 # add the second device + btrfs balance start -dconvert=raid1 -mconvert=raid1 /mnt/raid1 # distribute data to get the array set up + ``` + +## RAID0 +- Setting up RAID0 with two disks - exactly the same as with RAID1: + ```bash + mkdir /mnt/raid1 # make the RAID1 pool + btrfs device add /dev/sdA1 /mnt/raid0 # add the first device + btrfs device add /dev/sdB1 /mnt/raid0 # add the second device + ``` + You can also continue to add more devices. The total storage available at the end of the process is the sum of the storage available on each drive: + ```bash + btrfs device add /dev/sdC1 /mnt/raid0 # add the third device + btrfs device add /dev/sdD1 /mnt/raid0 # add the fourth device + # and so on... + ``` +- Setting up RAID0 when you already have a disk with some data on it and want to add another: + ```bash + btrfs device add /dev/sdA1 /mnt/raid0 # add the second device + btrfs balance start -dconvert=raid0 /mnt/raid0 # distribute data to get the array set up + ``` + +## Nested RAID levels +Btrfs also supports RAID10 (or RAID1+0) which is a combination of RAID1 and RAID0 as demonstrated by the following image: +![Image demonstrating how RAID10 looks](https://devraza.giize.com/img/raid10.png) + +However, as you can see, RAID10 requires *n* disks where *n* is an even number greater than or equal to 4. Furthermore, if you tried using devices of varying sizes, space would likely be wasted. So what would you do if you had 3 devices, with, for example, sizes of 1TB, 500GB, and 500GB? + +A possible solution here would be to split the 1TB drive into two equal partitions of 500GB, and pass them to btrfs as independant drives. + +Theoretically, you could also combine the two 500GB drives into a RAID0 partition and combine them through RAID1 with the 1TB drive (creating a nested RAID01/RAID0+1 array), but this seems to be unsupported by btrfs. + +In general, setting up a RAID10 array with btrfs looks like this: +```bash +mkdir /mnt/raid10 # make the RAID10 pool +btrfs device add /dev/sdA1 /dev/sdB1 /dev/sdC1 /dev/sdD1 /mnt/raid10 # add the drives +btrfs balance start -dconvert=raid10 -mconvert=raid10 /mnt/raid10 # distribute data to get the array set up +``` + +# Useful resources +- [btrfs disk usage calculator](https://carfax.org.uk/btrfs-usage/) - I found this somewhat useful, but it won't tell you how to get whatever configuration you set up to work +- [The Wikipedia page on nested RAID levels](https://en.wikipedia.org/wiki/Nested_RAID_levels) diff --git a/public/404.html b/public/404.html index 52c426a..5985b76 100644 --- a/public/404.html +++ b/public/404.html @@ -1 +1 @@ -404
404
Not Found
« back to home »
\ No newline at end of file +404
404
Not Found
« back to home »
\ No newline at end of file diff --git a/public/blog/adblock-blocky/index.html b/public/blog/adblock-blocky/index.html index 1b6a952..6298187 100644 --- a/public/blog/adblock-blocky/index.html +++ b/public/blog/adblock-blocky/index.html @@ -1,4 +1,4 @@ -DNS-level adblock on the go with blocky

DNS-level adblock on the go with blocky

2024-05-31

Introduction#

An adblocker is something you commonly find installed in browsers, usually through an extension. However, what if you wanted an adblocking system that was a bit deeper? Something that doesn't require a browser extension, and gives you a consistent adblocking system? This is where DNS-level adblockers like AdGuard Home or Pi-hole come in.

DNS?#

DNS stands for Domain Name System. It's what points URLs like https://duck.com to an IP address (like 52.142.124.215), making it much easier to find things on the internet.

DNS-level adblockers work by filtering out queries for URLs pointing to IP addresses serving ads. In this blog post, I'll use blocky as an example of one such adblocker for demonstration purposes.

Setting up blocky#

NixOS configuration#

There's a configuration option for blocky provided by NixOS, so you can enable and configure it in your NixOS config:

1services.blocky = { +DNS-level adblock on the go with blocky

DNS-level adblock on the go with blocky

2024-05-31

Introduction#

An adblocker is something you commonly find installed in browsers, usually through an extension. However, what if you wanted an adblocking system that was a bit deeper? Something that doesn't require a browser extension, and gives you a consistent adblocking system? This is where DNS-level adblockers like AdGuard Home or Pi-hole come in.

DNS?#

DNS stands for Domain Name System. It's what points URLs like https://duck.com to an IP address (like 52.142.124.215), making it much easier to find things on the internet.

DNS-level adblockers work by filtering out queries for URLs pointing to IP addresses serving ads. In this blog post, I'll use blocky as an example of one such adblocker for demonstration purposes.

Setting up blocky#

NixOS configuration#

There's a configuration option for blocky provided by NixOS, so you can enable and configure it in your NixOS config:

1services.blocky = {
2 enable = true;
3 settings = {
4 prometheus.enable = true; diff --git a/public/blog/btrfs-raid-setup/index.html b/public/blog/btrfs-raid-setup/index.html new file mode 100644 index 0000000..b8fcb40 --- /dev/null +++ b/public/blog/btrfs-raid-setup/index.html @@ -0,0 +1,17 @@ +RAID with btrfs

RAID with btrfs

2024-12-30

Introduction#

What is RAID?#

Shamelessly copying from the relevant Wikipedia page:

RAID (/reɪd/; redundant array of inexpensive disks or redundant array of independent disks) is a data storage virtualization technology that combines multiple physical data storage components into one or more logical units for the purposes of data redundancy, performance improvement, or both.

That definition works well enough in case you don't already know what RAID is, which I doubt is the case for anyone reading this post.

Why use it?#

Ever had a hard drive containing important data - without any backups - fail? Or, a little less likely, had a mission-critical file server break for a few hours because a drive failed? These are the two biggest problems that RAID solves.

That's great, but how do I use it?#

And finally, we have the main body of this blog post! While frustatingly looking up how to do slightly weird things with RAID using btrfs, I found the lack of documentation annoying - so, I thought I'd make this blog post to aggregate a bunch of commands.

And so, the list:

RAID1#

  • Setting up RAID1 with two disks:
    mkdir /mnt/raid1 # make the RAID1 pool
    +btrfs device add /dev/sdA1 /mnt/raid1 # add the first device
    +btrfs device add /dev/sdB1 /mnt/raid1 # add the second device
    +
  • Setting up RAID1 when you already have a disk with some data on it and want to add another:
    btrfs device add /dev/sdB1 /mnt/raid1 # add the second device
    +btrfs balance start -dconvert=raid1 -mconvert=raid1 /mnt/raid1 # distribute data to get the array set up
    +

RAID0#

  • Setting up RAID0 with two disks - exactly the same as with RAID1:
    mkdir /mnt/raid1 # make the RAID1 pool
    +btrfs device add /dev/sdA1 /mnt/raid0 # add the first device
    +btrfs device add /dev/sdB1 /mnt/raid0 # add the second device
    +
    You can also continue to add more devices. The total storage available at the end of the process is the sum of the storage available on each drive:
    btrfs device add /dev/sdC1 /mnt/raid0 # add the third device
    +btrfs device add /dev/sdD1 /mnt/raid0 # add the fourth device
    +# and so on...
    +
  • Setting up RAID0 when you already have a disk with some data on it and want to add another:
    btrfs device add /dev/sdA1 /mnt/raid0 # add the second device
    +btrfs balance start -dconvert=raid0 /mnt/raid0 # distribute data to get the array set up
    +

Nested RAID levels#

Btrfs also supports RAID10 (or RAID1+0) which is a combination of RAID1 and RAID0 as demonstrated by the following image: Image demonstrating how RAID10 looks

However, as you can see, RAID10 requires n disks where n is an even number greater than or equal to 4. Furthermore, if you tried using devices of varying sizes, space would likely be wasted. So what would you do if you had 3 devices, with, for example, sizes of 1TB, 500GB, and 500GB?

A possible solution here would be to split the 1TB drive into two equal partitions of 500GB, and pass them to btrfs as independant drives.

Theoretically, you could also combine the two 500GB drives into a RAID0 partition and combine them through RAID1 with the 1TB drive (creating a nested RAID01/RAID0+1 array), but this seems to be unsupported by btrfs.

In general, setting up a RAID10 array with btrfs looks like this:

mkdir /mnt/raid10 # make the RAID10 pool
+btrfs device add /dev/sdA1 /dev/sdB1 /dev/sdC1 /dev/sdD1 /mnt/raid10 # add the drives
+btrfs balance start -dconvert=raid10 -mconvert=raid10 /mnt/raid10 # distribute data to get the array set up
+

Useful resources#

powered by zola and serene
\ No newline at end of file diff --git a/public/blog/feed.xml b/public/blog/feed.xml index 4c562af..a04722a 100644 --- a/public/blog/feed.xml +++ b/public/blog/feed.xml @@ -4,8 +4,72 @@ All of the posts for my blog - 2024-05-31T00:00:00+00:00 + 2024-12-30T00:00:00+00:00 https://devraza.giize.com/blog/feed.xml + + RAID with btrfs + 2024-12-30T00:00:00+00:00 + 2024-12-30T00:00:00+00:00 + + https://devraza.giize.com/blog/btrfs-raid-setup/ + <h1 id="introduction">Introduction<a class="zola-anchor" href="#introduction" aria-label="Anchor link for: introduction">#</a></h1> +<h2 id="what-is-raid">What is RAID?<a class="zola-anchor" href="#what-is-raid" aria-label="Anchor link for: what-is-raid">#</a></h2> +<p>Shamelessly copying from the <a rel="nofollow noreferrer" href="https://en.wikipedia.org/wiki/RAID">relevant Wikipedia page</a>:</p> +<blockquote> +<p>RAID (/reɪd/; redundant array of inexpensive disks or redundant array of independent disks) is a data storage virtualization technology that combines multiple physical data storage components into one or more logical units for the purposes of data redundancy, performance improvement, or both.</p> +</blockquote> +<p>That definition works well enough in case you don't already know what RAID is, which I doubt is the case for anyone reading this post.</p> +<h2 id="why-use-it">Why use it?<a class="zola-anchor" href="#why-use-it" aria-label="Anchor link for: why-use-it">#</a></h2> +<p>Ever had a hard drive containing important data - without any backups - fail? Or, a little less likely, had a mission-critical file server break for a few hours because a drive failed? These are the two biggest problems that RAID solves.</p> +<h1 id="that-s-great-but-how-do-i-use-it">That's great, but how do I use it?<a class="zola-anchor" href="#that-s-great-but-how-do-i-use-it" aria-label="Anchor link for: that-s-great-but-how-do-i-use-it">#</a></h1> +<p>And finally, we have the main body of this blog post! While frustatingly looking up how to do <em>slightly</em> weird things with RAID using <code>btrfs</code>, I found the lack of documentation annoying - so, I thought I'd make this blog post to aggregate a bunch of commands.</p> +<p>And so, the list:</p> +<h2 id="raid1">RAID1<a class="zola-anchor" href="#raid1" aria-label="Anchor link for: raid1">#</a></h2> +<ul> +<li>Setting up RAID1 with two disks:<pre data-lang="bash" style="background-color:#151515;color:#e8e8d3;" class="language-bash "><code class="language-bash" data-lang="bash"><span style="color:#ffb964;">mkdir</span><span> /mnt/raid1 </span><span style="color:#888888;"># make the RAID1 pool +</span><span style="color:#ffb964;">btrfs</span><span> device add /dev/sdA1 /mnt/raid1 </span><span style="color:#888888;"># add the first device +</span><span style="color:#ffb964;">btrfs</span><span> device add /dev/sdB1 /mnt/raid1 </span><span style="color:#888888;"># add the second device +</span></code></pre> +</li> +<li>Setting up RAID1 when you already have a disk with some data on it and want to add another:<pre data-lang="bash" style="background-color:#151515;color:#e8e8d3;" class="language-bash "><code class="language-bash" data-lang="bash"><span style="color:#ffb964;">btrfs</span><span> device add /dev/sdB1 /mnt/raid1 </span><span style="color:#888888;"># add the second device +</span><span style="color:#ffb964;">btrfs</span><span> balance start</span><span style="color:#ffb964;"> -dconvert</span><span>=raid1</span><span style="color:#ffb964;"> -mconvert</span><span>=raid1 /mnt/raid1 </span><span style="color:#888888;"># distribute data to get the array set up +</span></code></pre> +</li> +</ul> +<h2 id="raid0">RAID0<a class="zola-anchor" href="#raid0" aria-label="Anchor link for: raid0">#</a></h2> +<ul> +<li>Setting up RAID0 with two disks - exactly the same as with RAID1:<pre data-lang="bash" style="background-color:#151515;color:#e8e8d3;" class="language-bash "><code class="language-bash" data-lang="bash"><span style="color:#ffb964;">mkdir</span><span> /mnt/raid1 </span><span style="color:#888888;"># make the RAID1 pool +</span><span style="color:#ffb964;">btrfs</span><span> device add /dev/sdA1 /mnt/raid0 </span><span style="color:#888888;"># add the first device +</span><span style="color:#ffb964;">btrfs</span><span> device add /dev/sdB1 /mnt/raid0 </span><span style="color:#888888;"># add the second device +</span></code></pre> +You can also continue to add more devices. The total storage available at the end of the process is the sum of the storage available on each drive:<pre data-lang="bash" style="background-color:#151515;color:#e8e8d3;" class="language-bash "><code class="language-bash" data-lang="bash"><span style="color:#ffb964;">btrfs</span><span> device add /dev/sdC1 /mnt/raid0 </span><span style="color:#888888;"># add the third device +</span><span style="color:#ffb964;">btrfs</span><span> device add /dev/sdD1 /mnt/raid0 </span><span style="color:#888888;"># add the fourth device +</span><span style="color:#888888;"># and so on... +</span></code></pre> +</li> +<li>Setting up RAID0 when you already have a disk with some data on it and want to add another:<pre data-lang="bash" style="background-color:#151515;color:#e8e8d3;" class="language-bash "><code class="language-bash" data-lang="bash"><span style="color:#ffb964;">btrfs</span><span> device add /dev/sdA1 /mnt/raid0 </span><span style="color:#888888;"># add the second device +</span><span style="color:#ffb964;">btrfs</span><span> balance start</span><span style="color:#ffb964;"> -dconvert</span><span>=raid0 /mnt/raid0 </span><span style="color:#888888;"># distribute data to get the array set up +</span></code></pre> +</li> +</ul> +<h2 id="nested-raid-levels">Nested RAID levels<a class="zola-anchor" href="#nested-raid-levels" aria-label="Anchor link for: nested-raid-levels">#</a></h2> +<p>Btrfs also supports RAID10 (or RAID1+0) which is a combination of RAID1 and RAID0 as demonstrated by the following image: +<img src="https://devraza.giize.com/img/raid10.png" alt="Image demonstrating how RAID10 looks" /></p> +<p>However, as you can see, RAID10 requires <em>n</em> disks where <em>n</em> is an even number greater than or equal to 4. Furthermore, if you tried using devices of varying sizes, space would likely be wasted. So what would you do if you had 3 devices, with, for example, sizes of 1TB, 500GB, and 500GB?</p> +<p>A possible solution here would be to split the 1TB drive into two equal partitions of 500GB, and pass them to btrfs as independant drives.</p> +<p>Theoretically, you could also combine the two 500GB drives into a RAID0 partition and combine them through RAID1 with the 1TB drive (creating a nested RAID01/RAID0+1 array), but this seems to be unsupported by btrfs.</p> +<p>In general, setting up a RAID10 array with btrfs looks like this:</p> +<pre data-lang="bash" style="background-color:#151515;color:#e8e8d3;" class="language-bash "><code class="language-bash" data-lang="bash"><span style="color:#ffb964;">mkdir</span><span> /mnt/raid10 </span><span style="color:#888888;"># make the RAID10 pool +</span><span style="color:#ffb964;">btrfs</span><span> device add /dev/sdA1 /dev/sdB1 /dev/sdC1 /dev/sdD1 /mnt/raid10 </span><span style="color:#888888;"># add the drives +</span><span style="color:#ffb964;">btrfs</span><span> balance start</span><span style="color:#ffb964;"> -dconvert</span><span>=raid10</span><span style="color:#ffb964;"> -mconvert</span><span>=raid10 /mnt/raid10 </span><span style="color:#888888;"># distribute data to get the array set up +</span></code></pre> +<h1 id="useful-resources">Useful resources<a class="zola-anchor" href="#useful-resources" aria-label="Anchor link for: useful-resources">#</a></h1> +<ul> +<li><a rel="nofollow noreferrer" href="https://carfax.org.uk/btrfs-usage/">btrfs disk usage calculator</a> - I found this somewhat useful, but it won't tell you how to get whatever configuration you set up to work</li> +<li><a rel="nofollow noreferrer" href="https://en.wikipedia.org/wiki/Nested_RAID_levels">The Wikipedia page on nested RAID levels</a></li> +</ul> + + DNS-level adblock on the go with blocky 2024-05-31T00:00:00+00:00 @@ -269,7 +333,7 @@ Lots of devices to read!</li> https://devraza.giize.com/blog/selfhost-tailscale/ <h1 id="tailscale">Tailscale<a class="zola-anchor" href="#tailscale" aria-label="Anchor link for: tailscale">#</a></h1> -<p><a rel="nofollow noreferrer" href="https://tailscale.com/">Tailscale</a> is a modern tunnel VPN service based on <a rel="nofollow noreferrer" href="https://www.wireguard.com/">WireGuard®</a> which provides a 'free' and secure means of communication between +<p><a rel="nofollow noreferrer" href="https://tailscale.com/">Tailscale</a> is a modern tunnel VPN service based on <a rel="nofollow noreferrer" href="https://www.wireguard.com/">WireGuard®</a> which provides a 'free' and secure means of communication between devices within a <a rel="nofollow noreferrer" href="https://tailscale.com/kb/1136/tailnet">tailnet</a> - a private network which Tailscale provides its users.</p> <p>Essentially, it provides a private and secure way of accessing any of your devices, no matter where you are in the world - a personal WAN encompassing the entire world.</p> <p>And on top of this, Tailscale is completely free and open-source! At least, on the surface...</p> @@ -329,7 +393,7 @@ Headscale's a self-hostable, open-source alternative to the Tailscale contr </span></code></pre> <p>And that's it. A self-hosted, <em>truly</em> open-source Wireguard®-based VPN is now at your fingertips. Enjoy! Oh, but please read the conclusion before doing that:</p> <h1 id="conclusion">Conclusion<a class="zola-anchor" href="#conclusion" aria-label="Anchor link for: conclusion">#</a></h1> -<p>For those of you who wish to have access to something like Tailscale but value your privacy above all, you would genuinely be greatful for Headscale. +<p>For those of you who wish to have access to something like Tailscale but value your privacy above all, you would genuinely be greatful for Headscale. However, I've found that some are fine with what Tailscale <em>does</em> provide in regards to FOSS, and are satisfied by the raw convenience and simplicity of a non-selfhosted Tailscale control server - exactly what it hopes to provide, as shown by their self-description on their website: 'a zero-config, no-fuss VPN [provider]'.</p> <p>Or you could just settle with bare Wireguard®.</p> diff --git a/public/blog/hoaxes-overview/index.html b/public/blog/hoaxes-overview/index.html index 4ad26eb..8043588 100644 --- a/public/blog/hoaxes-overview/index.html +++ b/public/blog/hoaxes-overview/index.html @@ -1 +1 @@ -An overview on hoaxes

An overview on hoaxes

2024-01-04

Introduction#

In recent times, hoaxes have become increasingly prevalent as the internet continues to expand and as more people use social media. Misinformation is on a rise - though this is information which isn't really new, the current state of things is horrible, and things really shouldn't be the way they are.

I aim for this to be a brief blog post detailing the effect of hoaxes on society, focusing on why they're so harmful.

What exactly is a hoax?#

Put simply, a hoax is made-up information, be it a story or something else. Hoaxes are created with the intent of spreading false information - for a immense variety of reasons, from jokes and causing embarrassment to provoking politic or social change1. I won't discuss the causes of hoaxes further in this blog post.

The effect of hoaxes#

Hoaxes can cause significant damage to their targets if formulated cleverly. For example:

The stock price of Apple Inc. fell significantly in October 2008 after a hoax story was submitted to CNN's user-generated news site iReport.com claiming that company CEO Steve Jobs had suffered a major heart attack. The source of the story was traced back to 4chan.

With the incredible presence of social media in our lives, spreading harmful misinformation like that above can be as simple as making a few posts - they don't even need to be very convincing! What makes matters worse is how gullible the general population is, even those educated in this sort of thing - this shows just how much influence the internet and it's contents have on us.

I would like to clarify that I'm not suggesting that people should avoid using the internet to gather information - while its reliability is incredibly questionable, the accessibility and openness it provides far beats traditional methods of gathering information (books and such). My suggestion is that people should be much more careful with how they interpret information on the internet, and perform their due diligence in their research into whatever they're aiming to learn; people should make sure that what they're reading is accurate before absorbing any information (here's your tl;dr).

That's about it for this blog post, as it was meant to be a brief way of expressing my thoughts on the matter. Thanks for reading!

powered by zola and serene
\ No newline at end of file +An overview on hoaxes

An overview on hoaxes

2024-01-04

Introduction#

In recent times, hoaxes have become increasingly prevalent as the internet continues to expand and as more people use social media. Misinformation is on a rise - though this is information which isn't really new, the current state of things is horrible, and things really shouldn't be the way they are.

I aim for this to be a brief blog post detailing the effect of hoaxes on society, focusing on why they're so harmful.

What exactly is a hoax?#

Put simply, a hoax is made-up information, be it a story or something else. Hoaxes are created with the intent of spreading false information - for a immense variety of reasons, from jokes and causing embarrassment to provoking politic or social change1. I won't discuss the causes of hoaxes further in this blog post.

The effect of hoaxes#

Hoaxes can cause significant damage to their targets if formulated cleverly. For example:

The stock price of Apple Inc. fell significantly in October 2008 after a hoax story was submitted to CNN's user-generated news site iReport.com claiming that company CEO Steve Jobs had suffered a major heart attack. The source of the story was traced back to 4chan.

With the incredible presence of social media in our lives, spreading harmful misinformation like that above can be as simple as making a few posts - they don't even need to be very convincing! What makes matters worse is how gullible the general population is, even those educated in this sort of thing - this shows just how much influence the internet and it's contents have on us.

I would like to clarify that I'm not suggesting that people should avoid using the internet to gather information - while its reliability is incredibly questionable, the accessibility and openness it provides far beats traditional methods of gathering information (books and such). My suggestion is that people should be much more careful with how they interpret information on the internet, and perform their due diligence in their research into whatever they're aiming to learn; people should make sure that what they're reading is accurate before absorbing any information (here's your tl;dr).

That's about it for this blog post, as it was meant to be a brief way of expressing my thoughts on the matter. Thanks for reading!

powered by zola and serene
\ No newline at end of file diff --git a/public/blog/home-server-security/index.html b/public/blog/home-server-security/index.html index 976231a..244aa6e 100644 --- a/public/blog/home-server-security/index.html +++ b/public/blog/home-server-security/index.html @@ -1,15 +1,15 @@ -Home server security

Home server security

2024-03-28

Introduction#

Home server security is pretty often overlooked from what I can tell. Any device accessible from the internet has some degree of vulnerability in the current era of the internet. I aim for this document to detail methods to amend the contemporary cybersecurity challenges faced by most homelabbers.

Justification in Depth#

Of course, my statements about home servers needing some security measures put in place aren't baseless. My own experience, as well as that of a sizable number of people on the wonderful lemmy community at selfhosted@lemmy.world shows that home servers are endlessly 'knocked' on, and that login attempts to services like SSH are made. Here's a snippet from my fail2ban filter to verify this point:

Mar 29 14:38:13 icefall fail2ban.filter[1097]: INFO [...] Found 176.126.240.158 - 2024-03-29 14:38:13
+Home server security

Home server security

2024-03-28

Introduction#

Home server security is pretty often overlooked from what I can tell. Any device accessible from the internet has some degree of vulnerability in the current era of the internet. I aim for this document to detail methods to amend the contemporary cybersecurity challenges faced by most homelabbers.

Justification in Depth#

Of course, my statements about home servers needing some security measures put in place aren't baseless. My own experience, as well as that of a sizable number of people on the wonderful lemmy community at selfhosted@lemmy.world shows that home servers are endlessly 'knocked' on, and that login attempts to services like SSH are made. Here's a snippet from my fail2ban filter to verify this point:

Mar 29 14:38:13 icefall fail2ban.filter[1097]: INFO [...] Found 176.126.240.158 - 2024-03-29 14:38:13
 Mar 29 14:40:11 icefall fail2ban.filter[1097]: INFO [...] Found 176.126.240.158 - 2024-03-29 14:40:11
 Mar 29 14:40:29 icefall fail2ban.filter[1097]: INFO [...] Found 185.8.165.204 - 2024-03-29 14:40:29
 Mar 29 14:40:40 icefall fail2ban.filter[1097]: INFO [...] Found 162.212.154.58 - 2024-03-29 14:40:40
-

Within the past few minutes, I've already got a few IP addresses from all over the world taking a peak at my services. If I had my SSH port set to the standard 22, I could have expected a few rogue login attempts to have been made, too.

And, speaking of not having my SSH port set to the standard 22, I'll now move on to what you should be done to secure a home server. One thing that I think should be noted, however, is that security doesn't need to be very strong, and you generally don't need to go too far out of your way with security measures (though this definitely depends on invdividual circumstance). Honestly speaking, you probably don't have competent black hats looking to get in to your server - what you probably do have, however, are a bunch of script kiddies and perversive bots.

The list#

The fairly basic stuff you'd need to do in this case doesn't make much room for detail. So, here it all is in the form of a simple list (I've included the relevant NixOS configuration where I think it'd be useful1):

  • Move your SSH daemon to a non-default port, like 3291.

    services.openssh = {
    +

    Within the past few minutes, I've already got a few IP addresses from all over the world taking a peak at my services. If I had my SSH port set to the standard 22, I could have expected a few rogue login attempts to have been made, too.

    And, speaking of not having my SSH port set to the standard 22, I'll now move on to what you should be done to secure a home server. One thing that I think should be noted, however, is that security doesn't need to be very strong, and you generally don't need to go too far out of your way with security measures (though this definitely depends on invdividual circumstance). Honestly speaking, you probably don't have competent black hats looking to get in to your server - what you probably do have, however, are a bunch of script kiddies and perversive bots.

    The list#

    The fairly basic stuff you'd need to do in this case doesn't make much room for detail. So, here it all is in the form of a simple list (I've included the relevant NixOS configuration where I think it'd be useful1):

    • Move your SSH daemon to a non-default port, like 3291.

      services.openssh = {
         ports = [ 3291 ]; # whatever you like
       };
      -
    • Force public key authentication with SSH and disable root logins.

      services.openssh.settings = {
      +
    • Force public key authentication with SSH and disable root logins.

      services.openssh.settings = {
         PermitRootLogin = "no";
         PasswordAuthentication = false;
       };
      -
    • Set up a pretty basic firewall - something like ufw would do the trick.

      networking = {
      +
    • Set up a pretty basic firewall - something like ufw would do the trick.

      networking = {
         nftables.enable = true; # use the newer nftables
         firewall = {
           enable = true;
      diff --git a/public/blog/index.html b/public/blog/index.html
      index 12230ed..996e4db 100644
      --- a/public/blog/index.html
      +++ b/public/blog/index.html
      @@ -1 +1 @@
      -Blog Posts
      \ No newline at end of file +Blog Posts
      \ No newline at end of file diff --git a/public/blog/nfc-misconceptions/index.html b/public/blog/nfc-misconceptions/index.html index e75f397..6483052 100644 --- a/public/blog/nfc-misconceptions/index.html +++ b/public/blog/nfc-misconceptions/index.html @@ -1 +1 @@ -Misconceptions about NFC

      Misconceptions about NFC

      2024-01-19

      Alert

      I made a mistake while writing this blog post - somehow forgetting that security isn't unambiguous. You can actually skim NFC chips from a certain distance (having a limited distance is still an important factor though!), and though I think some of what I said below still applies you're better off ignoring it all.

      There are, of course, a whole range of problems with skimming NFC chips from a distance so my point - don't be so worried - would still stand.

      Either way, I recommend you take this with a grain of salt.

      Introduction#

      NFC (short for Near-Field Communication) is the set of communication protocols which allow for near-field communication between two electronic devices. One of the most prominent uses of this technology are contactless transactions - this includes services like Google and Apple Pay as well as all of your contactless-enabled cards.

      It's been a while since my last blog past, but this one will be brief too - I'm writing here for the sake of clearing up some misconceptions people have about NFC.

      The Misconceptions#

      Inspiration#

      While talking with a friend on a WhatsApp group chat a few days ago about a program I found on my jailbroken iOS device - Aemulo - I was informed of 'subway skimmers'; devices that could supposedly read data from contactless-enabled devices (via NFC) and would be able to emulate them.

      The idea behind the above example was that someone with malicious intent could place such a device in a public location and take their contactless devices for their malicious purposes. When I heard of this, my first thought was: hoax, and I think that it was rightfully so.

      What exactly is wrong with this?#

      Several things. I'm no expert in cybersecurity - everyone's a student in some way, but I was sure that NFC was, as it's name implies, for near-field communication. I'm repeating myself here, but that's kind of the point. Various reliable resources, including Wikipedia, show that NFC has a maximum range of only a few centimetres - which makes sense, no?

      And yet, whatever source my friend had for 'subway skimmers' gave the impression, or otherwise stated, that it would work within a radius of a few feet, which is just impossible. Upon voicing my doubts, I was then told that 'with a powerful enough antenna, it's possible'. Hoaxes sure are convincing, aren't they? Unfortunately, I am not able to find the source of my friend's misinformation.

      See, NFC only works within a few centimetres anyways. Even if it could magically work within a radius of a few feet, you've got to take in the electromagnetic interference that the clothes and wallets people have would bring to any malicious device. The point of electromagnetic interference is especially true over a huge area of a few feet (relatively), where you've got several NFC-enabled devices.

      Where it's actually an issue#

      Of course, that isn't to say there aren't any issues with NFC and malicious readers - I'm just saying that the word getting around is horribly unrealistic. For example, a realistic example of a malicious NFC reader would be one placed on the card slots in cash machines - you get:

      • The short range (< ~20 cm)
      • Only one device
      • Lots of devices to read!

      And so, you've got someone so much more realistic that poses an actual threat!

      Conclusion#

      The information above, which I deem accurate, is there. What I suggest be taken away from this is pretty much the same as what is was for my blog post on hoaxes - do some fact-checking!

      powered by zola and serene
      \ No newline at end of file +Misconceptions about NFC

      Misconceptions about NFC

      2024-01-19

      Alert

      I made a mistake while writing this blog post - somehow forgetting that security isn't unambiguous. You can actually skim NFC chips from a certain distance (having a limited distance is still an important factor though!), and though I think some of what I said below still applies you're better off ignoring it all.

      There are, of course, a whole range of problems with skimming NFC chips from a distance so my point - don't be so worried - would still stand.

      Either way, I recommend you take this with a grain of salt.

      Introduction#

      NFC (short for Near-Field Communication) is the set of communication protocols which allow for near-field communication between two electronic devices. One of the most prominent uses of this technology are contactless transactions - this includes services like Google and Apple Pay as well as all of your contactless-enabled cards.

      It's been a while since my last blog past, but this one will be brief too - I'm writing here for the sake of clearing up some misconceptions people have about NFC.

      The Misconceptions#

      Inspiration#

      While talking with a friend on a WhatsApp group chat a few days ago about a program I found on my jailbroken iOS device - Aemulo - I was informed of 'subway skimmers'; devices that could supposedly read data from contactless-enabled devices (via NFC) and would be able to emulate them.

      The idea behind the above example was that someone with malicious intent could place such a device in a public location and take their contactless devices for their malicious purposes. When I heard of this, my first thought was: hoax, and I think that it was rightfully so.

      What exactly is wrong with this?#

      Several things. I'm no expert in cybersecurity - everyone's a student in some way, but I was sure that NFC was, as it's name implies, for near-field communication. I'm repeating myself here, but that's kind of the point. Various reliable resources, including Wikipedia, show that NFC has a maximum range of only a few centimetres - which makes sense, no?

      And yet, whatever source my friend had for 'subway skimmers' gave the impression, or otherwise stated, that it would work within a radius of a few feet, which is just impossible. Upon voicing my doubts, I was then told that 'with a powerful enough antenna, it's possible'. Hoaxes sure are convincing, aren't they? Unfortunately, I am not able to find the source of my friend's misinformation.

      See, NFC only works within a few centimetres anyways. Even if it could magically work within a radius of a few feet, you've got to take in the electromagnetic interference that the clothes and wallets people have would bring to any malicious device. The point of electromagnetic interference is especially true over a huge area of a few feet (relatively), where you've got several NFC-enabled devices.

      Where it's actually an issue#

      Of course, that isn't to say there aren't any issues with NFC and malicious readers - I'm just saying that the word getting around is horribly unrealistic. For example, a realistic example of a malicious NFC reader would be one placed on the card slots in cash machines - you get:

      • The short range (< ~20 cm)
      • Only one device
      • Lots of devices to read!

      And so, you've got someone so much more realistic that poses an actual threat!

      Conclusion#

      The information above, which I deem accurate, is there. What I suggest be taken away from this is pretty much the same as what is was for my blog post on hoaxes - do some fact-checking!

      powered by zola and serene
      \ No newline at end of file diff --git a/public/blog/selfhost-search-engine/index.html b/public/blog/selfhost-search-engine/index.html index cb51b1e..52f9a3a 100644 --- a/public/blog/selfhost-search-engine/index.html +++ b/public/blog/selfhost-search-engine/index.html @@ -1,4 +1,4 @@ -Host your own private search engine with SearXNG

      Host your own private search engine with SearXNG

      2023-12-31

      Introduction#

      SearXNG, put in its own words, is a 'free internet metasearch engine'. Note that it describes itself as a metasearch engine specifically - unlike your traditional search engine like Google or Bing, SearXNG does things a little bit differently: It aggregrates the results produced by search services like those aforementioned, and feeds them back to you.

      Because of this key detail and a great deal of effort by those who've helped shape it, SearXNG protects your privacy, and does so very well:

      • Private data from requests going to the search services it aggregrates results from is removed
      • It does not forward anything to any third parties through search services
      • Private data is also removed from requests going to the results pages

      Furthermore, SearXNG can be configured to use Tor.

      However, the aspect of privacy isn't the only great selling feature of the engine; from my use of the engine so far, it's also great at...searching (is that a surprise?). The fact that it's a metasearch engine plays a key role in this, as it provides SearXNG the ability to pull content more efficiently and gives you the ability to further tailor your experience.

      Setting up SearXNG#

      Installing the service#

      As you may have expected if you've used NixOS for a while, searxng is packaged and has a service on NixOS. This makes setting it up just that much easier.

      To get started, place somewhere in your system config the following:

      {
      +Host your own private search engine with SearXNG

      Host your own private search engine with SearXNG

      2023-12-31

      Introduction#

      SearXNG, put in its own words, is a 'free internet metasearch engine'. Note that it describes itself as a metasearch engine specifically - unlike your traditional search engine like Google or Bing, SearXNG does things a little bit differently: It aggregrates the results produced by search services like those aforementioned, and feeds them back to you.

      Because of this key detail and a great deal of effort by those who've helped shape it, SearXNG protects your privacy, and does so very well:

      • Private data from requests going to the search services it aggregrates results from is removed
      • It does not forward anything to any third parties through search services
      • Private data is also removed from requests going to the results pages

      Furthermore, SearXNG can be configured to use Tor.

      However, the aspect of privacy isn't the only great selling feature of the engine; from my use of the engine so far, it's also great at...searching (is that a surprise?). The fact that it's a metasearch engine plays a key role in this, as it provides SearXNG the ability to pull content more efficiently and gives you the ability to further tailor your experience.

      Setting up SearXNG#

      Installing the service#

      As you may have expected if you've used NixOS for a while, searxng is packaged and has a service on NixOS. This makes setting it up just that much easier.

      To get started, place somewhere in your system config the following:

      {
           # ...
           services.searx = {
           enable = true;
      @@ -13,7 +13,7 @@
           };
           # ...
       }
      -

      The snippet above starts the searx systemd service for listening on port 8888, and assumes a base_url of https://search.devraza.duckdns.org.

      Now that we've got the actual searx instance running, we can now set up a reverse proxy allowing the service to be accessed remotely (whether this is within your local network or across the internet is up to you).

      Setting up a reverse proxy#

      What is a reverse proxy?#

      Before I get started with the technical details of setting this up, I'd like to briefly clarify what a reverse proxy exactly is (to my understanding).

      Let's get the wikipedia definition of reverse proxy out of the way first:

      [...] a reverse proxy is an application that sits in front of back-end applications and forwards client requests to those applications. [...]

      However, you might be confused as to what this actually means; I'll give an example of the usage of reverse proxies to better explain this:

      • Suppose you've got a few services running on a server (for demonstration purposes, let's name these x, y and z), each running on their own unique port.
      • Assuming you had a domain, and wanted to access all of these services from their own unique sub-domains (e.g. x.yourdomain.com, y.yourdomain.com and z.yourdomain.com), you would have to use a reverse proxy.
      • This reverse proxy would take in requests from clients going to sub-domains, and forward these requests to the appropriate port on your machine for the service being requested.

      The concept should be clear now, if it wasn't already.

      Using NGINX to set up the reverse proxy#

      NGINX is a popular web server that supports the creation of virtual hosts and the usage of reverse proxies. To accomodate our searx instance, we append the following to our NixOS server configuration:

      1{ +

      The snippet above starts the searx systemd service for listening on port 8888, and assumes a base_url of https://search.devraza.duckdns.org.

      Now that we've got the actual searx instance running, we can now set up a reverse proxy allowing the service to be accessed remotely (whether this is within your local network or across the internet is up to you).

      Setting up a reverse proxy#

      What is a reverse proxy?#

      Before I get started with the technical details of setting this up, I'd like to briefly clarify what a reverse proxy exactly is (to my understanding).

      Let's get the wikipedia definition of reverse proxy out of the way first:

      [...] a reverse proxy is an application that sits in front of back-end applications and forwards client requests to those applications. [...]

      However, you might be confused as to what this actually means; I'll give an example of the usage of reverse proxies to better explain this:

      • Suppose you've got a few services running on a server (for demonstration purposes, let's name these x, y and z), each running on their own unique port.
      • Assuming you had a domain, and wanted to access all of these services from their own unique sub-domains (e.g. x.yourdomain.com, y.yourdomain.com and z.yourdomain.com), you would have to use a reverse proxy.
      • This reverse proxy would take in requests from clients going to sub-domains, and forward these requests to the appropriate port on your machine for the service being requested.

      The concept should be clear now, if it wasn't already.

      Using NGINX to set up the reverse proxy#

      NGINX is a popular web server that supports the creation of virtual hosts and the usage of reverse proxies. To accomodate our searx instance, we append the following to our NixOS server configuration:

      1{
      2 # ...
      3 services.nginx = {
      4 enable = true; @@ -24,7 +24,7 @@
      9 serverName = "search.yourdomain.com"; # replace this with whatever you're serving from
      10 # SearX proxy
      11 locations."/" = { -
      12 proxyPass = "http://${toString config.services.searx.settings.server.bind_address}:${toString config.services.searx.settings.server.port}"; +
      12 proxyPass = "http://${toString config.services.searx.settings.server.bind_address}:${toString config.services.searx.settings.server.port}";
      13 proxyWebsockets = true;
      14 recommendedProxySettings = true;
      15 }; diff --git a/public/blog/selfhost-tailscale/index.html b/public/blog/selfhost-tailscale/index.html index 1d40862..5c34b83 100644 --- a/public/blog/selfhost-tailscale/index.html +++ b/public/blog/selfhost-tailscale/index.html @@ -1,4 +1,4 @@ -Take control of tailscale with headscale

      Take control of tailscale with headscale

      2024-01-10

      Tailscale#

      Tailscale is a modern tunnel VPN service based on WireGuard® which provides a 'free' and secure means of communication between devices within a tailnet - a private network which Tailscale provides its users.

      Essentially, it provides a private and secure way of accessing any of your devices, no matter where you are in the world - a personal WAN encompassing the entire world.

      And on top of this, Tailscale is completely free and open-source! At least, on the surface...

      Not FOSS? What do you mean?#

      There's a quite popular saying within the free and open-source software community, which goes along the lines of:

      If you aren't paying for the product, then you are the product.

      Which makes perfect sense. It's the modern era so anything significant is powered by some form of modern technology, data is the new oil, and so on. In exchange for offering you 'free' services, companies collect and use your data; while there supposedly are laws in place preventing the inconcensual collection of data in most countries around the world, your personal data may still be traded unethically and inconsensually.

      I personally am of the opinion that these laws are worth absolutely nothing if people aren't educated in how their data is being used, and what specifically is being collected. But I digress, and that's a blog post for another time.

      I also think it's quite unfortunate that users of paid services still have their personal data collected in the unethical manner outlined above, despite the fact that they are paying for the service...

      In the context of Tailscale: while their clients are all open-source, their control server - the thing that's managing and rerouting everything going through what they advertise as your 'secure' VPN, isn't. You've got no idea what this thing is doing with the traffic it recieves.

      Headscale#

      For every problem, there's probably a solution somewhere. And luckily for this one (which may or may not actually be a problem for you), we've got Headscale as our solution. Headscale's a self-hostable, open-source alternative to the Tailscale control server, and aims to 'provide self-hosters and hobbyists with an open-source server they can use for their projects and labs'.

      Installing on NixOS#

      Moving on to installing and setting up Headscale on NixOS.

      # ...
      +Take control of tailscale with headscale

      Take control of tailscale with headscale

      2024-01-10

      Tailscale#

      Tailscale is a modern tunnel VPN service based on WireGuard® which provides a 'free' and secure means of communication between devices within a tailnet - a private network which Tailscale provides its users.

      Essentially, it provides a private and secure way of accessing any of your devices, no matter where you are in the world - a personal WAN encompassing the entire world.

      And on top of this, Tailscale is completely free and open-source! At least, on the surface...

      Not FOSS? What do you mean?#

      There's a quite popular saying within the free and open-source software community, which goes along the lines of:

      If you aren't paying for the product, then you are the product.

      Which makes perfect sense. It's the modern era so anything significant is powered by some form of modern technology, data is the new oil, and so on. In exchange for offering you 'free' services, companies collect and use your data; while there supposedly are laws in place preventing the inconcensual collection of data in most countries around the world, your personal data may still be traded unethically and inconsensually.

      I personally am of the opinion that these laws are worth absolutely nothing if people aren't educated in how their data is being used, and what specifically is being collected. But I digress, and that's a blog post for another time.

      I also think it's quite unfortunate that users of paid services still have their personal data collected in the unethical manner outlined above, despite the fact that they are paying for the service...

      In the context of Tailscale: while their clients are all open-source, their control server - the thing that's managing and rerouting everything going through what they advertise as your 'secure' VPN, isn't. You've got no idea what this thing is doing with the traffic it recieves.

      Headscale#

      For every problem, there's probably a solution somewhere. And luckily for this one (which may or may not actually be a problem for you), we've got Headscale as our solution. Headscale's a self-hostable, open-source alternative to the Tailscale control server, and aims to 'provide self-hosters and hobbyists with an open-source server they can use for their projects and labs'.

      Installing on NixOS#

      Moving on to installing and setting up Headscale on NixOS.

      # ...
       {
         # ...
         services.headscale = {
      @@ -13,7 +13,7 @@
         };
         # ...
       }
      -

      This starts up the headscale systemd service on our host machine at port 7070. After that, we make Headscale available over the clearnet with an NGINX reverse proxy, per the usual:

      {
      +

      This starts up the headscale systemd service on our host machine at port 7070. After that, we make Headscale available over the clearnet with an NGINX reverse proxy, per the usual:

      {
         services.nginx = {
           enable = true;
           virtualHosts = {
      diff --git a/public/blog/server-hardware-selection/index.html b/public/blog/server-hardware-selection/index.html
      index 43781c4..3b47c7e 100644
      --- a/public/blog/server-hardware-selection/index.html
      +++ b/public/blog/server-hardware-selection/index.html
      @@ -1 +1 @@
      -Selecting hardware for a (home) server

      Selecting hardware for a (home) server

      2024-01-31

      Introduction#

      I see a lot of people worryingly mistaken about what a server needs (specifically, a home server). Some think that a bland and incredibly ignorant '20% budget for CPU, 30% for GPU, and the rest for the rest' plan for selecting hardware is good enough (at least, before choosing specific items) - you can't exactly be wrong when choosing hardware, but this is very, very far from right.

      Requirements#

      Server hardware needs to be low-power and resource-efficient - so as not to waste any money unnessarily, obviously. Your budget will strongly impact the specifications you can get your hands on, but I would think that even $200 is enough for a decent home server - depending on what you want to do with it. Keep in mind that you could always repurpose an old laptop or desktop lying around; it's cheap, and you get what may be a surprisingly decent machine.

      Power consumption#

      The difference between low peak and low idle power should be noted in particular. Running costs can get very high if you don't work to moderate power consumption, and probably wouldn't be something you would ignore when it comes to home servers.

      Usage of the server#

      Naturally, how a server will be used will affect pretty much everything about the hardware chosen for it. For example, if you're looking to stream games remotely, you'd go for a (perhaps powerful) dedicated GPU and would likely invest in some high-speed internet solution. As indicated by the above example of the GPU, you need to be very specific with what you choose - do you need a powerful GPU or do you not? After all, one of the last things you would want, ever, is money going to waste on something you don't need, or failing to buy something that meets your expectations.

      Conclusion#

      I only gave two points of interest when selecting a server - looking at the numbers alone, this might seem like hardly anything to consider at all. My reasons for this are:

      • Power comumption is one factor that people often forego thinking about, and an extremely important one at that.
      • Building on top of the previous point, you (probably) aren't stupid. Knowing (albeit at a very basic level) what to look out for should be enough.
      • It would be extremely difficult for me, or anyone else for that matter, to provide a truly complete solution to everyone's needs for a home server.

      Well, that's it. I wish you luck in selecting your hardware.

      powered by zola and serene
      \ No newline at end of file +Selecting hardware for a (home) server

      Selecting hardware for a (home) server

      2024-01-31

      Introduction#

      I see a lot of people worryingly mistaken about what a server needs (specifically, a home server). Some think that a bland and incredibly ignorant '20% budget for CPU, 30% for GPU, and the rest for the rest' plan for selecting hardware is good enough (at least, before choosing specific items) - you can't exactly be wrong when choosing hardware, but this is very, very far from right.

      Requirements#

      Server hardware needs to be low-power and resource-efficient - so as not to waste any money unnessarily, obviously. Your budget will strongly impact the specifications you can get your hands on, but I would think that even $200 is enough for a decent home server - depending on what you want to do with it. Keep in mind that you could always repurpose an old laptop or desktop lying around; it's cheap, and you get what may be a surprisingly decent machine.

      Power consumption#

      The difference between low peak and low idle power should be noted in particular. Running costs can get very high if you don't work to moderate power consumption, and probably wouldn't be something you would ignore when it comes to home servers.

      Usage of the server#

      Naturally, how a server will be used will affect pretty much everything about the hardware chosen for it. For example, if you're looking to stream games remotely, you'd go for a (perhaps powerful) dedicated GPU and would likely invest in some high-speed internet solution. As indicated by the above example of the GPU, you need to be very specific with what you choose - do you need a powerful GPU or do you not? After all, one of the last things you would want, ever, is money going to waste on something you don't need, or failing to buy something that meets your expectations.

      Conclusion#

      I only gave two points of interest when selecting a server - looking at the numbers alone, this might seem like hardly anything to consider at all. My reasons for this are:

      • Power comumption is one factor that people often forego thinking about, and an extremely important one at that.
      • Building on top of the previous point, you (probably) aren't stupid. Knowing (albeit at a very basic level) what to look out for should be enough.
      • It would be extremely difficult for me, or anyone else for that matter, to provide a truly complete solution to everyone's needs for a home server.

      Well, that's it. I wish you luck in selecting your hardware.

      powered by zola and serene
      \ No newline at end of file diff --git a/public/blog/setting-up-zola-nixos/index.html b/public/blog/setting-up-zola-nixos/index.html index 7da5b66..658b380 100644 --- a/public/blog/setting-up-zola-nixos/index.html +++ b/public/blog/setting-up-zola-nixos/index.html @@ -1,18 +1,18 @@ -Setting up Zola on NixOS

      Setting up Zola on NixOS

      2023-12-29

      Introduction#

      Zola is a static site generator (similarly to the infamous Hugo, which you may have already heard of) and is written in Rust. It also happens to be the framework that this site is built on!

      This blog post is a guide on setting up the site engine on NixOS specifically.

      Installation#

      Installing the package#

      zola is packaged in the nix package repository, so you just declaratively add the package to your configuration as usual: For the purposes of this guide, zola can be installed either as a system or user package.

      • As a system package:
      { pkgs, ... }: {
      +Setting up Zola on NixOS

      Setting up Zola on NixOS

      2023-12-29

      Introduction#

      Zola is a static site generator (similarly to the infamous Hugo, which you may have already heard of) and is written in Rust. It also happens to be the framework that this site is built on!

      This blog post is a guide on setting up the site engine on NixOS specifically.

      Installation#

      Installing the package#

      zola is packaged in the nix package repository, so you just declaratively add the package to your configuration as usual: For the purposes of this guide, zola can be installed either as a system or user package.

      • As a system package:
      { pkgs, ... }: {
           # ...
           environment.systemPackages = with pkgs; [
               zola # Append the package name to the list
           ];
           # ...
       }
      -
      • As a user package (with home-manager):
      { pkgs, ... }: {
      +
      • As a user package (with home-manager):
      { pkgs, ... }: {
           # ...
           home.packages = with pkgs; [
               zola # Append the package name to the list
           ];
           # ...
       }
      -

      Now that zola itself is installed, we can move on setting up the pages it serves - continue reading...

      Setting up a theme#

      Zola actually has a section of its website showcasing several community-made themes which you can choose from to be the theme for your static site here.

      Simply choose a theme that you like (demos are usually available for each theme listed) and follow its appropriate documentation to set it up - this site uses a version of the serene theme with my custom colours.

      Custom themes

      You can also make your own theme if that better suits you (I recommend giving the documentation a read if so).

      Setting up NGINX#

      After selecting a theme (or making your own) you should now have a directory somewhere on your server containing your static site. For the following snippet, we'll assume this is at /var/lib/blog.

      NGINX is a popular webserver which we're going to use for the purposes of hosting and serving our site. To do so, append the following somewhere in your configuration:

      # ...
      +

      Now that zola itself is installed, we can move on setting up the pages it serves - continue reading...

      Setting up a theme#

      Zola actually has a section of its website showcasing several community-made themes which you can choose from to be the theme for your static site here.

      Simply choose a theme that you like (demos are usually available for each theme listed) and follow its appropriate documentation to set it up - this site uses a version of the serene theme with my custom colours.

      Custom themes

      You can also make your own theme if that better suits you (I recommend giving the documentation a read if so).

      Setting up NGINX#

      After selecting a theme (or making your own) you should now have a directory somewhere on your server containing your static site. For the following snippet, we'll assume this is at /var/lib/blog.

      NGINX is a popular webserver which we're going to use for the purposes of hosting and serving our site. To do so, append the following somewhere in your configuration:

      # ...
       {
           # ...
           services.nginx = {
      diff --git a/public/elasticlunr.min.js b/public/elasticlunr.min.js
      new file mode 100644
      index 0000000..79dad65
      --- /dev/null
      +++ b/public/elasticlunr.min.js
      @@ -0,0 +1,10 @@
      +/**
      + * elasticlunr - http://weixsong.github.io
      + * Lightweight full-text search engine in Javascript for browser search and offline search. - 0.9.6
      + *
      + * Copyright (C) 2017 Oliver Nightingale
      + * Copyright (C) 2017 Wei Song
      + * MIT Licensed
      + * @license
      + */
      +!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){return void 0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&delete this.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){return e in this.events},t.tokenizer=function(e){if(!arguments.length||null===e||void 0===e)return[];if(Array.isArray(e)){var n=e.filter(function(e){return null===e||void 0===e?!1:!0});n=n.map(function(e){return t.utils.toString(e).toLowerCase()});var i=[];return n.forEach(function(e){var n=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}return e.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void 0!==e&&"object"==typeof e&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){return t.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in t.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){return e in t.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.getRegisteredFunction(e);if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(var r=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void 0!==r&&null!==r);s++);void 0!==r&&null!==r&&t.push(r)}return t},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){return this._queue},t.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.DocumentStore,this.index={},this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},t.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;n._fields=e.fields,n._ref=e.ref,n.documentStore=t.DocumentStore.load(e.documentStore),n.pipeline=t.Pipeline.load(e.pipeline),n.index={};for(var i in e.index)n.index[i]=t.InvertedIndex.load(e.index[i]);return n},t.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new t.InvertedIndex,this},t.Index.prototype.setRef=function(e){return this._ref=e,this},t.Index.prototype.saveDocument=function(e){return this.documentStore=new t.DocumentStore(e),this},t.Index.prototype.addDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.addDoc(i,e),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));this.documentStore.addFieldLength(i,n,o.length);var r={};o.forEach(function(e){e in r?r[e]+=1:r[e]=1},this);for(var s in r){var u=r[s];u=Math.sqrt(u),this.index[n].addToken(s,{ref:i,tf:u})}},this),n&&this.eventEmitter.emit("add",e,this)}},t.Index.prototype.removeDocByRef=function(e){if(e&&this.documentStore.isDocStored()!==!1&&this.documentStore.hasDoc(e)){var t=this.documentStore.getDoc(e);this.removeDoc(t,!1)}},t.Index.prototype.removeDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.hasDoc(i)&&(this.documentStore.removeDoc(i),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));o.forEach(function(e){this.index[n].removeToken(e,i)},this)},this),n&&this.eventEmitter.emit("remove",e,this))}},t.Index.prototype.updateDoc=function(e,t){var t=void 0===t?!0:t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},t.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var i=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(i+1));return this._idfCache[n]=o,o},t.Index.prototype.getFields=function(){return this._fields.slice()},t.Index.prototype.search=function(e,n){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var i=null;null!=n&&(i=JSON.stringify(n));for(var o=new t.Configuration(i,this.getFields()).get(),r={},s=Object.keys(e),u=0;u0&&t.push(e);for(var i in n)"docs"!==i&&"df"!==i&&this.expandToken(e+i,t,n[i]);return t},t.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},t.Configuration=function(e,n){var e=e||"";if(void 0==n||null==n)throw new Error("fields should not be null");this.config={};var i;try{i=JSON.parse(e),this.buildUserConfig(i,n)}catch(o){t.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}},t.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},t.Configuration.prototype.buildUserConfig=function(e,n){var i="OR",o=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(o=e.expand||o),"fields"in e)for(var r in e.fields)if(n.indexOf(r)>-1){var s=e.fields[r],u=o;void 0!=s.expand&&(u=s.expand),this.config[r]={boost:s.boost||0===s.boost?s.boost:1,bool:s.bool||i,expand:u}}else t.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,o,n)},t.Configuration.prototype.addAllFields2UserConfig=function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)},t.Configuration.prototype.get=function(){return this.config},t.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e1;){if(r===e)return o;e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o]}return r===e?o:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;)e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o];return r>e?o:e>r?o+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,i=0,o=this.length,r=e.length,s=this.elements,u=e.elements;;){if(n>o-1||i>r-1)break;s[n]!==u[i]?s[n]u[i]&&i++:(t.add(s[n]),n++,i++)}return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,n,i;this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone();for(var o=0,r=n.toArray();oqOO5ozfz0TB=o>5>*{5s>cg&b43s
      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
      z	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
      
      literal 0
      HcmV?d00001
      
      diff --git a/public/index.html b/public/index.html
      index fc93497..5f60e91 100644
      --- a/public/index.html
      +++ b/public/index.html
      @@ -1 +1 @@
      -Devraza
      avatar
      Muhammad Nauman Raza@devraza
      Programming and cybersecurity

      I'm a programmer, entry-level cybersecurity specialist, system administrator, and aspiring graphic designer. NixOS is my operating system of choice, and radiant.nvim (my bespoke distribution of neovim) is my text editor of choice.

      I also happen to be a devoted rustacean and a devout follower of the self-hosted way of life.

      My skills in programming and scripting languages I've used so far are as follows:

      • Advanced: Python, Nix
      • Intermediate: Rust, Go, E-Lisp
      • Beginner: Julia, Lua

      However, I consider myself able to work to a reasonable degree with any modern programming language.

      Other tools that I can work with include git, linux, inkscape, and GIMP.

      \ No newline at end of file +Devraza
      avatar
      Muhammad Nauman Raza@devraza
      Programming and cybersecurity

      I'm a programmer, entry-level cybersecurity specialist, system administrator, and aspiring graphic designer. NixOS is my operating system of choice, and radiant.nvim (my bespoke distribution of neovim) is my text editor of choice.

      I also happen to be a devoted rustacean and a devout follower of the self-hosted way of life.

      My skills in programming and scripting languages I've used so far are as follows:

      • Advanced: Python, Nix
      • Intermediate: Rust, Go, E-Lisp
      • Beginner: Julia, Lua

      However, I consider myself able to work to a reasonable degree with any modern programming language.

      Other tools that I can work with include git, linux, inkscape, and GIMP.

      \ No newline at end of file diff --git a/public/projects/index.html b/public/projects/index.html index 4412887..e24758b 100644 --- a/public/projects/index.html +++ b/public/projects/index.html @@ -1 +1 @@ -Projects

      webchain

      A fast and minimal bookmark manager.

      #rocket
      #web
      #rust
      #bookmark
      #links

      bunbun

      A simple and adorable sysinfo utility.

      #sysinfo
      #neofetch
      #rust
      #cli

      vaporise

      A simple, featureful and blazingly fast memory-safe alternative to rm.

      #rm
      #rust
      #alternative
      #cli

      Ambition

      A fast-paced 2D MMORPG.

      #rust
      #bevy
      #mmorpg

      sage

      A collection of utilities for my home lab.

      #rust
      #homelab
      #selfhosted
      #utility
      #cli

      rustboyadvance-ng

      A rusty Nintendo™ Game Boy Advance emulator and debugger. [Deprecated]

      #rust
      #gameboy
      #emulator

      radiant.nvim

      A fast and minimal Neovim configuration framework.

      #neovim

      kagayaki.nvim

      A gorgeously soft colorscheme for Neovim.

      #neovim
      #colorscheme

      DianciEmacs

      A minimal and elegant Emacs configuration framework. [Deprecated]

      #emacs
      #config
      #diancie

      Kagayaki for Emacs

      A gorgeously soft colorscheme for Emacs. [Deprecated]

      #emacs
      #colorscheme
      #theme
      #dark

      Ambition (legacy)

      A fast-paced, text-based massively multiplayer role-playing game. [Deprecated]

      #go
      #ebiten
      #game
      #mmorpg

      Catchtwo

      A second generation, free Pokétwo autocatcher, made to stop people from wasting their money on 'premium' alternatives. [Deprecated]

      #pokétwo
      #pokémon
      #discord
      #userbot
      powered by zola and serene
      \ No newline at end of file +Projects

      webchain

      A fast and minimal bookmark manager.

      #rocket
      #web
      #rust
      #bookmark
      #links

      bunbun

      A simple and adorable sysinfo utility.

      #sysinfo
      #neofetch
      #rust
      #cli

      vaporise

      A simple, featureful and blazingly fast memory-safe alternative to rm.

      #rm
      #rust
      #alternative
      #cli

      Ambition

      A fast-paced 2D MMORPG.

      #rust
      #bevy
      #mmorpg

      sage

      A collection of utilities for my home lab.

      #rust
      #homelab
      #selfhosted
      #utility
      #cli

      rustboyadvance-ng

      A rusty Nintendo™ Game Boy Advance emulator and debugger. [Deprecated]

      #rust
      #gameboy
      #emulator

      radiant.nvim

      A fast and minimal Neovim configuration framework.

      #neovim

      kagayaki.nvim

      A gorgeously soft colorscheme for Neovim.

      #neovim
      #colorscheme

      DianciEmacs

      A minimal and elegant Emacs configuration framework. [Deprecated]

      #emacs
      #config
      #diancie

      Kagayaki for Emacs

      A gorgeously soft colorscheme for Emacs. [Deprecated]

      #emacs
      #colorscheme
      #theme
      #dark

      Ambition (legacy)

      A fast-paced, text-based massively multiplayer role-playing game. [Deprecated]

      #go
      #ebiten
      #game
      #mmorpg

      Catchtwo

      A second generation, free Pokétwo autocatcher, made to stop people from wasting their money on 'premium' alternatives. [Deprecated]

      #pokétwo
      #pokémon
      #discord
      #userbot
      powered by zola and serene
      \ No newline at end of file diff --git a/public/search_index.en.js b/public/search_index.en.js new file mode 100644 index 0000000..421c6e2 --- /dev/null +++ b/public/search_index.en.js @@ -0,0 +1 @@ +window.searchIndex = {"fields":["title","body"],"pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5","index":{"body":{"root":{"docs":{},"df":0,"1":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"1":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}}}}},"1":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"b":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.7320508075688772}},"df":1}}},"2":{"docs":{},"df":0,"0":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2,"0":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1,"8":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}},"2":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951}},"df":1}},"3":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1,"0":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1},"2":{"docs":{},"df":0,"9":{"docs":{},"df":0,"1":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}},"4":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.4142135623730951}},"df":1}}}}},"5":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"g":{"docs":{},"df":0,"b":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":2.0}},"df":1}}}},"2":{"docs":{},"df":0,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,"4":{"docs":{},"df":0,"2":{"docs":{},"df":0,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,"2":{"docs":{},"df":0,"4":{"docs":{},"df":0,".":{"docs":{},"df":0,"2":{"docs":{},"df":0,"1":{"docs":{},"df":0,"5":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"3":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}},"6":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1},"7":{"docs":{},"df":0,"0":{"docs":{},"df":0,"7":{"docs":{},"df":0,"0":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}},"8":{"docs":{},"df":0,"8":{"docs":{},"df":0,"8":{"docs":{},"df":0,"8":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}}},"9":{"docs":{},"df":0,".":{"docs":{},"df":0,"9":{"docs":{},"df":0,".":{"docs":{},"df":0,"9":{"docs":{},"df":0,".":{"docs":{},"df":0,"9":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}}}}}},"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.4142135623730951}},"df":1}},"o":{"docs":{},"df":0,"v":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":5}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"b":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951}},"df":5}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":2}}},"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.4142135623730951}},"df":4}}}}},"d":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":3.3166247903554}},"df":1}}}}},"d":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":3,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":2.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":2}}}}},"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}}}},"j":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":2}}}}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}}}}},"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}}}}}}},"g":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1,"r":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.4142135623730951}},"df":1}}}}},"o":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":3}},"l":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1,"g":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":4}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"y":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":2}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}}}},"y":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2}},"t":{"docs":{},"df":0,"h":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":3}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":2}}}}},"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":2}}},"l":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":2,"i":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1,"c":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.7320508075688772}},"df":1}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":2}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1},"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":5}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":4}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":2.0}},"df":1}}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":2}}}},"t":{"docs":{},"df":0,".":{"docs":{},"df":0,".":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}}}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.7320508075688772}},"df":1}}}}}},"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":3}}},"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.4142135623730951}},"df":2,"u":{"docs":{},"df":0,"p":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}}},"n":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951}},"df":1,"_":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2}}}},"e":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951}},"df":2,"a":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}},"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":4}}},"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1}}}},"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":4}}},"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":3}}}}}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"g":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":2}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":3.4641016151377544}},"df":1}}},"g":{"docs":{"https://devraza.giize.com/blog/":{"tf":1.0},"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.4142135623730951}},"df":8}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1,"h":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":2,"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"g":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":2}}}}},"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}}}}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"f":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":2.6457513110645907}},"df":1}}},"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.4142135623730951}},"df":1}}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.4142135623730951}},"df":2},"t":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.4142135623730951}},"df":1}}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":3}}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}}},"y":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}},"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951}},"df":1},"e":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":2},"h":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.7320508075688772}},"df":1}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951}},"df":1}}}}}}},"o":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":2}}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"g":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.7320508075688772}},"df":2,"e":{"docs":{},"df":0,"1":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}}},"t":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}},"c":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":3}}},"i":{"docs":{},"df":0,"p":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951}},"df":1}},"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.4142135623730951}},"df":2}},"o":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.4142135623730951}},"df":2}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":2}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":2,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.4142135623730951}},"df":1}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":2}}}},"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"f":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"'":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}}}}}}}}},"m":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1},"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"'":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":2.0}},"df":1}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":2.0}},"df":1}}},"e":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":2.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":4}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":2}}},"e":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":3}}}},"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":4,"u":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.4142135623730951}},"df":5}}}},"u":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2},"s":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.4142135623730951}},"df":1}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":2.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":3}}},"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}}}}},"n":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":2}},"x":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":3}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":2.0}},"df":2}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":2}}}}},"p":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":2}},"s":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951}},"df":3}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}}}}},"p":{"docs":{},"df":0,"u":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":2,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":2}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.4142135623730951}},"df":2}}}}},"y":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":3}}}}}}}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"a":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":2.449489742783178},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":2.449489742783178}},"df":4}},"y":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}},"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.4142135623730951}},"df":1}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":1}}}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":3}}}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":2}}},"m":{"docs":{},"df":0,"o":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":1,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":3}}}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":3}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1},"p":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1}}},"k":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.4142135623730951}},"df":4}}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":3.1622776601683795},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951}},"df":5}},"o":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1},"u":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}}}}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.4142135623730951}},"df":1}}}}}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}},"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}}},"k":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":2.8284271247461903}},"df":1},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.7320508075688772}},"df":1}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1}}}}}}}},"n":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":3.7416573867739413}},"df":1},"o":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951}},"df":2,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.7320508075688772}},"df":5}}}}}},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.7320508075688772}},"df":2}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.7320508075688772}},"df":2}}}},"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.4142135623730951}},"df":6}},"e":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.4142135623730951}},"df":2}},"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":2}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":2.6457513110645907}},"df":1}}}},"u":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}},"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"g":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}},"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":3}},"s":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":2}},"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":2}}}}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1,"o":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":2}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.4142135623730951}},"df":1}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":2}}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951}},"df":1}}}}}},"n":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}}}}}},"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}}}}}},"u":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.7320508075688772}},"df":2}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}}}}},"d":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":2,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}}}}},"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}},"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":2.8284271247461903},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":2}}},"j":{"docs":{},"df":0,"o":{"docs":{},"df":0,"y":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.7320508075688772}},"df":3}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1}}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.4142135623730951}},"df":1}}}},"r":{"docs":{},"df":0,"a":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":2}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":4},"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"'":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2}},"w":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.4142135623730951}},"df":1}}}}}}}},"x":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":6}}}},"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":7}}}},"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":3}},"r":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":2},"t":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":2}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.7320508075688772}},"df":1}}},"r":{"docs":{},"df":0,"a":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1},"e":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.4142135623730951}},"df":1}}}}}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1},"t":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":3,"o":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2}}}},"i":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2,"2":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951}},"df":1}}}},"i":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}},"r":{"docs":{"https://devraza.giize.com/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":5}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1},"t":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.7320508075688772}},"df":1}},"l":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}},"w":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":2.449489742783178},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":5}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.7320508075688772}},"df":1}}},"l":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":2},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":2}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}},"d":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":3},"e":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1},"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":2}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"x":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":3}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://devraza.giize.com/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.7320508075688772}},"df":4}}}},"r":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1},"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}},"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}},"m":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":2,"u":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":2.0}},"df":2}}}}},"s":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951}},"df":1}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":3}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":1}}}}}}},"e":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":2.0}},"df":2}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951}},"df":1,"'":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}}}}}}}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":2,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":2}}}}}}}},"s":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.4142135623730951}},"df":1}}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":4}},"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}},"t":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1},"v":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":3,"n":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}}},"o":{"docs":{"https://devraza.giize.com/":{"tf":1.0},"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":7,"e":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1},"o":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1},"g":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":2}}}},"p":{"docs":{},"df":0,"u":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":2.0}},"df":1}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":3,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.4142135623730951}},"df":1}},"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":2}}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":2.449489742783178}},"df":1}}}},"m":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.4142135623730951}},"df":1}},"t":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1},"v":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":2}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":2.6457513110645907}},"df":3,"e":{"docs":{},"df":0,"'":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":2},"t":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"p":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":2}},"r":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":5,"'":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":2}}}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.4142135623730951}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}}}}}}},"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":3.1622776601683795},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.7320508075688772}},"df":2}},"b":{"docs":{},"df":0,"b":{"docs":{},"df":0,"y":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}}}},"l":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.4142135623730951}},"df":1}},"m":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":2.449489742783178},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":2.23606797749979},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":4,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"b":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}}}},"p":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":2}},"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":2}}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.4142135623730951}},"df":5,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,":":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,".":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"z":{"docs":{},"df":0,"a":{"docs":{},"df":0,".":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"d":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1},"o":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"'":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":2},"l":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":3}},"m":{"docs":{"https://devraza.giize.com/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":2.0}},"df":3},"v":{"docs":{"https://devraza.giize.com/":{"tf":1.0},"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.4142135623730951}},"df":5}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":2}},"l":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}},"g":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.4142135623730951}},"df":2}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":3}},"s":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"v":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951}},"df":3}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}}}}}},"d":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.4142135623730951}},"df":1}}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2}}},"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}}}}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":2.6457513110645907},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951}},"df":3}}}},"k":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":2}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":2.0}},"df":4},"n":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.7320508075688772}},"df":2}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":2}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}},"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951}},"df":1}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":2.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":5}}},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":8}}}}}}},"v":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1},"p":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":2.23606797749979},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":2},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}}}}}}}}},"s":{"docs":{},"df":0,"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":5}}},"s":{"docs":{},"df":0,"u":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951}},"df":1}}},"t":{"docs":{},"df":0,"'":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":2.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":7,"d":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":3}}}}}},"j":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}}}}}}}},"o":{"docs":{},"df":0,"b":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1},"k":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2}},"y":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.4142135623730951}},"df":2}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}},"w":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1},"c":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://devraza.giize.com/":{"tf":1.4142135623730951}},"df":1}}}}},"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":3}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}},"w":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951}},"df":1},"y":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}},"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"'":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.4142135623730951}},"df":1}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/":{"tf":1.0},"https://devraza.giize.com/blog/adblock-blocky/":{"tf":2.0},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":4}}}},"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":2},"u":{"docs":{},"df":0,"x":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"p":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1},"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":4,"e":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":3}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1},"t":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":2}}},"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1},"n":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.7320508075688772}},"df":1}}},"o":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.7320508075688772}},"df":4}},"t":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2},"w":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.7320508075688772}},"df":1}},"t":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1},"u":{"docs":{},"df":0,"a":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1},"c":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}}}},"y":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":5}}}},"d":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":5}},"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}},"j":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}},"k":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.7320508075688772}},"df":8}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":2.23606797749979}},"df":1}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":2}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}},"p":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":2.0}},"df":1},"r":{"docs":{},"df":0,"k":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":4}}}},"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951}},"df":2,"t":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951}},"df":1}}}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.4142135623730951}},"df":1}}},"e":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.7320508075688772}},"df":1}}}}}}},"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":2}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.7320508075688772}},"df":1}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":2}}}}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}}}}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1,"n":{"docs":{"https://devraza.giize.com/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.7320508075688772}},"df":2}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.4142135623730951}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":6}},"v":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":3,"/":{"docs":{},"df":0,"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}}}}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":6}},"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}}}}},"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://devraza.giize.com/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":2}}}}}},"n":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.4142135623730951}},"df":1,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":3,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.7320508075688772}},"df":1}}}}}},"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.7320508075688772}},"df":1}},"e":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":2.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":2.449489742783178},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":2.449489742783178}},"df":4}},"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.7320508075688772}},"df":1}},"t":{"docs":{},"df":0,"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":3}}}}},"w":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":3}},"f":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":3.4641016151377544}},"df":1}},"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"x":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.4142135623730951}},"df":3}}}},"i":{"docs":{},"df":0,"x":{"docs":{"https://devraza.giize.com/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":2,"o":{"docs":{"https://devraza.giize.com/":{"tf":1.0},"https://devraza.giize.com/blog/adblock-blocky/":{"tf":2.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.4142135623730951}},"df":6}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":2},"t":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":3},"h":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}},"w":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.7320508075688772}},"df":4}},"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":3}}}}}},"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}}}}},"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"b":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}},"h":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}},"n":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":2.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.7320508075688772}},"df":6},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":2.449489742783178}},"df":3},"r":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":2}}}}}}},"u":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":5,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":4,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}}}}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":2.6457513110645907}},"df":2}}}},"g":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":4}},"i":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.4142135623730951}},"df":1}}}},"s":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1,"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":2}},"y":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951}},"df":2}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2}},"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":2.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.4142135623730951}},"df":5}}},"r":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":2}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2}}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":2.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":3}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}}}},"h":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.4142135623730951}},"df":1},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":4}},"n":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1},"y":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.4142135623730951}},"df":4}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":3}}}}},"r":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":4,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":2}}}},"t":{"docs":{"https://devraza.giize.com/blog/":{"tf":1.0},"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":2.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":8}},"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":2.6457513110645907}},"df":3}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":3}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":2}},"t":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":2.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951}},"df":2}}}},"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.4142135623730951}},"df":3}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951}},"df":3}}}},"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":2}}}},"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951}},"df":1}}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":2,"m":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1}}}}},"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0},"https://devraza.giize.com/projects/":{"tf":1.0}},"df":3}}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":2.6457513110645907},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":5}},"o":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}},"x":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":3.3166247903554},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":2}}}},"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":2}}}},"l":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.4142135623730951}},"df":5}}}},"t":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":3}},"y":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1}}}}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"9":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951}},"df":1}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"n":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1}}}}}}}},"u":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951}},"df":1}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":2.8284271247461903}},"df":1,"0":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":2.23606797749979}},"df":1,"1":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"0":{"docs":{},"df":0,"+":{"docs":{},"df":0,"1":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}}}}}}}}},"1":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":2.449489742783178}},"df":1,"+":{"docs":{},"df":0,"0":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}},"0":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.7320508075688772}},"df":1}}}},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}}},"g":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.7320508075688772}},"df":1}},"w":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.4142135623730951}},"df":5,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951}},"df":1}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951}},"df":1}}},"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.4142135623730951}},"df":1}}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":3}}}},"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":2}}}}},"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":2}}}}}}},"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.7320508075688772}},"df":1}}}},"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}},"l":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"v":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":3}},"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":2}}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2},"v":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.4142135623730951}},"df":1}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":1}}}}}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}}}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":2.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":2.6457513110645907}},"df":2}}},"i":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":3}}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":2}}}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}},"v":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":3}}}},"t":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.4142135623730951}},"df":1,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.7320508075688772}},"df":1}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":3.3166247903554},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":2}}}},"ɪ":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2,"f":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1},"t":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1,"'":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}}}}},"u":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":2.449489742783178},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":4},"s":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1}}}}}}}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":3}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}},"y":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":2}},"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":2}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":2.449489742783178}},"df":1}},"x":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":2.0}},"df":1,"n":{"docs":{},"df":0,"g":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":3.0}},"df":1}}}}},"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":2.6457513110645907},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.7320508075688772}},"df":3}}},"e":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":3,"m":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":2.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":2}}},"f":{"docs":{"https://devraza.giize.com/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":2.0}},"df":2,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"@":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"y":{"docs":{},"df":0,".":{"docs":{},"df":0,"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"l":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":2}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":1}},"v":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.4142135623730951}},"df":2,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":2.6457513110645907},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":2.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":3.1622776601683795},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":6,"'":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":3.1622776601683795},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":2.23606797749979}},"df":4}}}},"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":2.449489742783178},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":2.449489742783178},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":2.6457513110645907},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":2.449489742783178}},"df":7,"t":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"p":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.4142135623730951}},"df":1}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":2}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}}}}}}},"p":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951}},"df":1}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":2}}}}}},"w":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":3,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.4142135623730951}},"df":1}}},"n":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}}}}}}}}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":1}}}}}},"p":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":2,"i":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":2,"c":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1,"e":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":3.3166247903554}},"df":2}},"z":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}},"e":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.4142135623730951}},"df":1}}},"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1}},"m":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951}},"df":1,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951}},"df":1}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":2}}}}}},"o":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":3}}}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.7320508075688772}},"df":1}},"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}}}},"f":{"docs":{},"df":0,"t":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.4142135623730951}},"df":3}},"v":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951}},"df":2}},"t":{"docs":{},"df":0,"h":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":2.23606797749979},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.7320508075688772}},"df":5}},"w":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.4142135623730951}},"df":3}}}}}},"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":2.449489742783178}},"df":3}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951}},"df":1}},"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1}}}}},"f":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":2.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":4}}},"e":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.4142135623730951}},"df":1}}}}},"s":{"docs":{},"df":0,"h":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":2.23606797749979}},"df":1}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951}},"df":1}}}}},"r":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":2}},"t":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":2,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":2.0}},"df":1}}}},"e":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951}},"df":2}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":2.0}},"df":1}},"i":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.7320508075688772}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":1}}}}}},"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}}},"f":{"docs":{},"df":0,"f":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"b":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.4142135623730951}},"df":1,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951}},"df":1}}}},"c":{"docs":{},"df":0,"h":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":3}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}}},"g":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":2}}}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":2}},"m":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1},"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":2}},"s":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":2}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951}},"df":2},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}}}}}}}}}},"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}}}},"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.4142135623730951}},"df":4,"d":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":2}}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":3.1622776601683795}},"df":3}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":4,"n":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":3}}}}}}},"l":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":2}},"x":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"'":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":6}}},"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":3.1622776601683795}},"df":1}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"'":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951}},"df":2}}},"y":{"docs":{},"df":0,"'":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.7320508075688772}},"df":1}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":9},"k":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.7320508075688772}},"df":5}},"r":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":4}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951}},"df":3,"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":4}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":4}}}}}},"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":2}}},"l":{"docs":{},"df":0,";":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/":{"tf":1.0}},"df":1}},"p":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2},"r":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}},"d":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":2}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1},"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}}},"w":{"docs":{},"df":0,"o":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":2.23606797749979},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":4}}},"u":{"docs":{},"df":0,"f":{"docs":{},"df":0,"w":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}}}}}}},"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951}},"df":1}}},"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":2}}}}}},"i":{"docs":{},"df":0,"q":{"docs":{},"df":0,"u":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.4142135623730951}},"df":1}},"t":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}}}}}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}}}}}}},"p":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":2.6457513110645907},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":2.8284271247461903},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":2.6457513110645907}},"df":8,"o":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":2}},"s":{"docs":{"https://devraza.giize.com/":{"tf":1.0},"https://devraza.giize.com/blog/adblock-blocky/":{"tf":2.23606797749979},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":2.449489742783178},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":3.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.7320508075688772}},"df":10,"a":{"docs":{},"df":0,"g":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":3}},"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"1":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}},"r":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.4142135623730951}},"df":3}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.4142135623730951}},"df":4}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}},"u":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.4142135623730951}},"df":1}}}}}}}}},"i":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"u":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":2.23606797749979}},"df":4,"f":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"a":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,".":{"docs":{},"df":0,".":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":2}}}}}},"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":2.0}},"df":3,"'":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}}},"n":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1,"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.4142135623730951}},"df":5}},"s":{"docs":{},"df":0,"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.4142135623730951}},"df":2}},"y":{"docs":{"https://devraza.giize.com/":{"tf":1.0},"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":8}},"e":{"docs":{},"df":0,"'":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":1}},"r":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":1},"v":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":2}},"b":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":3}}}},"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":6}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":3}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"'":{"docs":{},"df":0,"v":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}},"y":{"docs":{},"df":0,"'":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}},"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":4}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.7320508075688772}},"df":1}}}}}}},"s":{"docs":{},"df":0,"h":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.4142135623730951}},"df":4}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0},"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":3}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":2},"k":{"docs":{"https://devraza.giize.com/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/adblock-blocky/":{"tf":2.0},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":6,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.7320508075688772}},"df":2}},"r":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1},"y":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}}}}}},"s":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"h":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":3}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.4142135623730951}},"df":1},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2}}}}},"x":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"y":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"y":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"y":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"'":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2},"l":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}},"r":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.4142135623730951},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":3},"v":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0},"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.7320508075688772},"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":4}}}}},"z":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"y":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":3.0}},"df":1}}}}}},"title":{"root":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}}}}}},"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"i":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}},"g":{"docs":{"https://devraza.giize.com/blog/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"f":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}}}}},"d":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}}}},"g":{"docs":{},"df":0,"o":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}}}}},"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2}},"s":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/adblock-blocky/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}}}}}}}}}},"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"c":{"docs":{"https://devraza.giize.com/blog/nfc-misconceptions/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"x":{"docs":{},"df":0,"o":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://devraza.giize.com/blog/hoaxes-overview/":{"tf":1.0}},"df":1}}}}}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/projects/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://devraza.giize.com/blog/btrfs-raid-setup/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}},"x":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://devraza.giize.com/blog/selfhost-search-engine/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://devraza.giize.com/blog/home-server-security/":{"tf":1.0},"https://devraza.giize.com/blog/server-hardware-selection/":{"tf":1.0}},"df":2}}}},"t":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{"https://devraza.giize.com/blog/selfhost-tailscale/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"p":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":1}},"z":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"tf":1.0}},"df":1}}}}}}},"documentStore":{"save":true,"docs":{"https://devraza.giize.com/":{"body":"\nI'm a programmer, entry-level cybersecurity specialist, system administrator, and aspiring graphic designer.\nNixOS is my operating system of choice, and radiant.nvim (my bespoke distribution of neovim) is my text editor of choice.\nI also happen to be a devoted rustacean and a devout follower of the self-hosted way of life.\nMy skills in programming and scripting languages I've used so far are as follows:\n\nAdvanced: Python, Nix\nIntermediate: Rust, Go, E-Lisp\nBeginner: Julia, Lua\n\nHowever, I consider myself able to work to a reasonable degree with any modern programming language.\nOther tools that I can work with include git, linux, inkscape, and GIMP.\n","id":"https://devraza.giize.com/","title":""},"https://devraza.giize.com/blog/":{"body":"","id":"https://devraza.giize.com/blog/","title":"Blog Posts"},"https://devraza.giize.com/blog/adblock-blocky/":{"body":"Introduction#\nAn adblocker is something you commonly find installed in browsers, usually through an extension. However, what if you wanted an adblocking system that was a bit deeper? Something that doesn't require a browser extension, and gives you a consistent adblocking system? This is where DNS-level adblockers like AdGuard Home or Pi-hole come in.\nDNS?#\nDNS stands for Domain Name System. It's what points URLs like https://duck.com to an IP address (like 52.142.124.215), making it much easier to find things on the internet.\nDNS-level adblockers work by filtering out queries for URLs pointing to IP addresses serving ads. In this blog post, I'll use blocky as an example of one such adblocker for demonstration purposes.\nSetting up blocky#\nNixOS configuration#\nThere's a configuration option for blocky provided by NixOS, so you can enable and configure it in your NixOS config:\n\n\n \n \n \n \n \n \n Why isn't it running?\n \n You might need to reboot after running a nixos-rebuild switch, or move/kill any process running on port 53 for this to work.\n\n \n\n \n \n \n \n \n \n Custom DNS mapping\n \n You can use blocky to map a domain of your choice to an IP of your choice - refer to the documentation for more information.\n\n \n\nHere, I've used two upstream nameservers for blocky to forward valid DNS requests to (since blocky doesn't do any DNS resolution itself - except for custom mapping, detailed later). One is Cloudflare's DNS (1.1.1.1) and the other is Quad9 (9.9.9.9).\nAs indicated by lines 6 through 11, you need to add lists containing URLs you want to be filtered from your DNS requests.\nMaking it work everywhere#\nThe thing is, you'll need to set the IP address of the machine running blocky as a nameserver for all of your workstations - it just won't recieve any requests otherwise, so it won't be doing any adblocking if you don't do this.\nOf course, if you've got a router worth keeping around, you should be able to set a network-wide DNS resolver, and you can point this to your blocky-running machine in your router's settings.\nHowever, what if you wanted to have this work everywhere you go, perhaps on a portable laptop? Well, if you're using Tailscale or Headscale you can just can edit the nameservers you use in your VPN's settings and set it to the IP address of the device running blocky. This way, any device on your VPN can utilise blocky and have a functioning DNS-level adblocker no matter where you are.\nIf you're looking to setup headscale, I've made a blog post about it.\nFinishing thoughts#\nWith the existence of browser extensions doing the same thing adblockers like blocky and Pi-hole can, not everyone is going to need something this sophisticated. I think something like this is better suited to those looking for better coverage in their adblocking, or something that gives more control over DNS requests - for example, to easily setup custom DNS mappings or to restrict access to certain websites.\n","id":"https://devraza.giize.com/blog/adblock-blocky/","title":"DNS-level adblock on the go with blocky"},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"body":"Introduction#\nWhat is RAID?#\nShamelessly copying from the relevant Wikipedia page:\n\nRAID (/reɪd/; redundant array of inexpensive disks or redundant array of independent disks) is a data storage virtualization technology that combines multiple physical data storage components into one or more logical units for the purposes of data redundancy, performance improvement, or both.\n\nThat definition works well enough in case you don't already know what RAID is, which I doubt is the case for anyone reading this post.\nWhy use it?#\nEver had a hard drive containing important data - without any backups - fail? Or, a little less likely, had a mission-critical file server break for a few hours because a drive failed? These are the two biggest problems that RAID solves.\nThat's great, but how do I use it?#\nAnd finally, we have the main body of this blog post! While frustatingly looking up how to do slightly weird things with RAID using btrfs, I found the lack of documentation annoying - so, I thought I'd make this blog post to aggregate a bunch of commands.\nAnd so, the list:\nRAID1#\n\nSetting up RAID1 with two disks:\n\nSetting up RAID1 when you already have a disk with some data on it and want to add another:\n\n\nRAID0#\n\nSetting up RAID0 with two disks - exactly the same as with RAID1:\nYou can also continue to add more devices. The total storage available at the end of the process is the sum of the storage available on each drive:\n\nSetting up RAID0 when you already have a disk with some data on it and want to add another:\n\n\nNested RAID levels#\nBtrfs also supports RAID10 (or RAID1+0) which is a combination of RAID1 and RAID0 as demonstrated by the following image:\n\nHowever, as you can see, RAID10 requires n disks where n is an even number greater than or equal to 4. Furthermore, if you tried using devices of varying sizes, space would likely be wasted. So what would you do if you had 3 devices, with, for example, sizes of 1TB, 500GB, and 500GB?\nA possible solution here would be to split the 1TB drive into two equal partitions of 500GB, and pass them to btrfs as independant drives.\nTheoretically, you could also combine the two 500GB drives into a RAID0 partition and combine them through RAID1 with the 1TB drive (creating a nested RAID01/RAID0+1 array), but this seems to be unsupported by btrfs.\nIn general, setting up a RAID10 array with btrfs looks like this:\n\nUseful resources#\n\nbtrfs disk usage calculator - I found this somewhat useful, but it won't tell you how to get whatever configuration you set up to work\nThe Wikipedia page on nested RAID levels\n\n","id":"https://devraza.giize.com/blog/btrfs-raid-setup/","title":"RAID with btrfs"},"https://devraza.giize.com/blog/hoaxes-overview/":{"body":"Introduction#\nIn recent times, hoaxes have become increasingly prevalent as the internet continues to expand and as more people use social media.\nMisinformation is on a rise - though this is information which isn't really new, the current state of things is horrible, and things really shouldn't be the way they are.\nI aim for this to be a brief blog post detailing the effect of hoaxes on society, focusing on why they're so harmful.\nWhat exactly is a hoax?#\nPut simply, a hoax is made-up information, be it a story or something else. Hoaxes are created with the intent of spreading false information - for a immense variety of reasons, from jokes and causing embarrassment to provoking politic or social change1. I won't discuss the causes of hoaxes further in this blog post.\nThe effect of hoaxes#\nHoaxes can cause significant damage to their targets if formulated cleverly. For example:\n\nThe stock price of Apple Inc. fell significantly in October 2008 after a hoax story was submitted to CNN's user-generated news site iReport.com claiming that company CEO Steve Jobs had suffered a major heart attack. The source of the story was traced back to 4chan.\n\nExcerpt from the Wikipedia 4chan page\n\n\nWith the incredible presence of social media in our lives, spreading harmful misinformation like that above can be as simple as making a few posts - they don't even need to be very convincing!\nWhat makes matters worse is how gullible the general population is, even those educated in this sort of thing - this shows just how much influence the internet and it's contents have on us.\nI would like to clarify that I'm not suggesting that people should avoid using the internet to gather information - while its reliability is incredibly questionable, the accessibility and openness it provides far beats traditional methods of gathering information (books and such). My suggestion is that people should be much more careful with how they interpret information on the internet,\nand perform their due diligence in their research into whatever they're aiming to learn; people should make sure that what they're reading is accurate before absorbing any information (here's your tl;dr).\nThat's about it for this blog post, as it was meant to be a brief way of expressing my thoughts on the matter. Thanks for reading!\n","id":"https://devraza.giize.com/blog/hoaxes-overview/","title":"An overview on hoaxes"},"https://devraza.giize.com/blog/home-server-security/":{"body":"Introduction#\nHome server security is pretty often overlooked from what I can tell.\nAny device accessible from the internet has some degree of\nvulnerability in the current era of the internet. I aim for this\ndocument to detail methods to amend the contemporary cybersecurity\nchallenges faced by most homelabbers.\nJustification in Depth#\nOf course, my statements about home servers needing some security\nmeasures put in place aren't baseless. My own experience, as well as\nthat of a sizable number of people on the wonderful\nlemmy community at\nselfhosted@lemmy.world shows that home servers are endlessly 'knocked'\non, and that login attempts to services like SSH are made. Here's a\nsnippet from my fail2ban filter to\nverify this point:\n\nWithin the past few minutes, I've already got a few IP addresses from\nall over the world taking a peak at my services. If I had my SSH port\nset to the standard 22, I could have expected a few rogue login\nattempts to have been made, too.\nAnd, speaking of not having my SSH port set to the standard 22, I'll\nnow move on to what you should be done to secure a home server. One\nthing that I think should be noted, however, is that security doesn't\nneed to be very strong, and you generally don't need to go too far out\nof your way with security measures (though this definitely depends on\ninvdividual circumstance). Honestly speaking, you probably don't\nhave competent black hats looking to get in to your server - what you\nprobably do have, however, are a bunch of script kiddies and\nperversive bots.\nThe list#\nThe fairly basic stuff you'd need to do in this case doesn't make much\nroom for detail. So, here it all is in the form of a simple list (I've\nincluded the relevant NixOS configuration where I think it'd be\nuseful1):\n\n\nMove your SSH daemon to a non-default port, like 3291.\n\n\n\nForce public key authentication with SSH and disable root logins.\n\n\n\nSet up a pretty basic firewall - something like ufw would do the trick.\n\n\n\nThis probably doesn't need to be said, but use strong passwords!\n\n\nHost a fail2ban instance to ban hosts making bruteforce attempts.\n\n\nI think that's all there is for almost everyone, and is basically the\nminimal amount of effort a home server administrator should do.\nPersonally, I would prefer to enforce a VPN connection in order to\naccess my personal services for that extra layer of security (because\nwhy'd they need to be exposed to the internet?). This can be done faily\neasily with tailscale, and for the slightly more paranoid -\nheadscale is a\nviable...alternative? Anyways, I've got a blog post that explores\nheadscale in a little more detail, which might be worth checking out.\nWell, that's all I wanted to say. It's been a while since my last blog\npost, and the inspiration for this one came seemingly randomly - I hope\nsomeone finds this useful.\n1\nNaturally, you shouldn't just copy and paste the snippets into your own config. Do your research first!\n\n","id":"https://devraza.giize.com/blog/home-server-security/","title":"Home server security"},"https://devraza.giize.com/blog/nfc-misconceptions/":{"body":"\n \n \n \n \n \n \n Alert\n \n I made a mistake while writing this blog post - somehow forgetting that security isn't unambiguous. You can actually skim NFC chips from a certain distance\n(having a limited distance is still an important factor though!), and though I think some of what I said below still applies you're better off ignoring it all.\nThere are, of course, a whole range of problems with skimming NFC chips from a distance so my point - don't be so worried - would still stand.\nEither way, I recommend you take this with a grain of salt.\n\n \nIntroduction#\nNFC (short for Near-Field Communication) is the set of communication protocols which allow for near-field communication between two electronic devices.\nOne of the most prominent uses of this technology are contactless transactions - this includes services like Google and Apple Pay as well as all of your contactless-enabled cards.\nIt's been a while since my last blog past, but this one will be brief too - I'm writing here for the sake of clearing up some misconceptions people have about NFC.\nThe Misconceptions#\nInspiration#\nWhile talking with a friend on a WhatsApp group chat a few days ago about a program I found on my jailbroken iOS device - Aemulo - I was\ninformed of 'subway skimmers'; devices that could supposedly read data from contactless-enabled devices (via NFC) and would be able to emulate them.\nThe idea behind the above example was that someone with malicious intent could place such a device in a public location and take their contactless devices for their malicious purposes.\nWhen I heard of this, my first thought was: hoax, and I think that it was rightfully so.\nWhat exactly is wrong with this?#\nSeveral things. I'm no expert in cybersecurity - everyone's a student in some way, but I was sure that NFC was, as it's name implies, for near-field communication.\nI'm repeating myself here, but that's kind of the point. Various reliable resources, including Wikipedia, show that NFC has a maximum range of only a few centimetres - which makes sense, no?\nAnd yet, whatever source my friend had for 'subway skimmers' gave the impression, or otherwise stated, that it would work within a radius of a few feet, which is just impossible.\nUpon voicing my doubts, I was then told that 'with a powerful enough antenna, it's possible'. Hoaxes sure are convincing, aren't they? Unfortunately, I am not able to find the source of my friend's misinformation.\nSee, NFC only works within a few centimetres anyways. Even if it could magically work within a radius of a few feet, you've got to take in the electromagnetic interference\nthat the clothes and wallets people have would bring to any malicious device. The point of electromagnetic interference is especially true over a huge area of a few feet (relatively), where you've got several NFC-enabled devices.\nWhere it's actually an issue#\nOf course, that isn't to say there aren't any issues with NFC and malicious readers - I'm just saying that the word getting around is horribly unrealistic.\nFor example, a realistic example of a malicious NFC reader would be one placed on the card slots in cash machines - you get:\n\n\nThe short range (< ~20 cm)\n\nOnly one device\n\nLots of devices to read!\n\nAnd so, you've got someone so much more realistic that poses an actual threat!\nConclusion#\nThe information above, which I deem accurate, is there. What I suggest be taken away from this is pretty much the same as what is was for my blog post on hoaxes - do some fact-checking!\n","id":"https://devraza.giize.com/blog/nfc-misconceptions/","title":"Misconceptions about NFC"},"https://devraza.giize.com/blog/selfhost-search-engine/":{"body":"Introduction#\nSearXNG, put in its own words, is a 'free internet metasearch engine'.\nNote that it describes itself as a metasearch engine specifically - unlike your traditional search engine like Google or Bing, SearXNG does things a little bit differently:\nIt aggregrates the results produced by search services like those aforementioned, and feeds them back to you.\nBecause of this key detail and a great deal of effort by those who've helped shape it, SearXNG protects your privacy, and does so very well:\n\nPrivate data from requests going to the search services it aggregrates results from is removed\nIt does not forward anything to any third parties through search services\nPrivate data is also removed from requests going to the results pages\n\nFurthermore, SearXNG can be configured to use Tor.\nHowever, the aspect of privacy isn't the only great selling feature of the engine; from my use of the engine so far, it's also great at...searching (is that a surprise?). The fact that it's a metasearch engine plays a key role in this,\nas it provides SearXNG the ability to pull content more efficiently and gives you the ability to further tailor your experience.\nSetting up SearXNG#\nInstalling the service#\nAs you may have expected if you've used NixOS for a while, searxng is packaged and has a service on NixOS. This makes setting it up just that much easier.\nTo get started, place somewhere in your system config the following:\n\nThe snippet above starts the searx systemd service for listening on port 8888, and assumes a base_url of https://search.devraza.duckdns.org.\nNow that we've got the actual searx instance running, we can now set up a reverse proxy allowing the service to be accessed remotely (whether this is within your local network or across the internet is up to you).\nSetting up a reverse proxy#\nWhat is a reverse proxy?#\nBefore I get started with the technical details of setting this up, I'd like to briefly clarify what a reverse proxy exactly is (to my understanding).\nLet's get the wikipedia definition of reverse proxy out of the way first:\n\n[...] a reverse proxy is an application that sits in front of back-end applications and forwards client requests to those applications. [...]\n\nHowever, you might be confused as to what this actually means; I'll give an example of the usage of reverse proxies to better explain this:\n\nSuppose you've got a few services running on a server (for demonstration purposes, let's name these x, y and z), each running on their own unique port.\nAssuming you had a domain, and wanted to access all of these services from their own unique sub-domains (e.g. x.yourdomain.com, y.yourdomain.com and z.yourdomain.com), you would have to use a reverse proxy.\nThis reverse proxy would take in requests from clients going to sub-domains, and forward these requests to the appropriate port on your machine for the service being requested.\n\nThe concept should be clear now, if it wasn't already.\nUsing NGINX to set up the reverse proxy#\nNGINX is a popular web server that supports the creation of virtual hosts and the usage of reverse proxies. To accomodate our searx instance, we append the following to our NixOS server configuration:\n\n\n \n \n \n \n \n \n Note\n \n The expression highlighted above is used to dynamically adjust the location NGINX will forward requests to, depending on your searx config\n\n \n\nAfter saving your changes and rebuilding your server's system configuration (as usual), you should have a working private instance of SearXNG that you can access using the serverName you've given it.\nSet your browser to use this as your search engine using the relevant documentation (with Firefox this is as easy as right-clicking on the URL after opening up the page and clicking a button). Enjoy!\n","id":"https://devraza.giize.com/blog/selfhost-search-engine/","title":"Host your own private search engine with SearXNG"},"https://devraza.giize.com/blog/selfhost-tailscale/":{"body":"Tailscale#\nTailscale is a modern tunnel VPN service based on WireGuard® which provides a 'free' and secure means of communication between\ndevices within a tailnet - a private network which Tailscale provides its users.\nEssentially, it provides a private and secure way of accessing any of your devices, no matter where you are in the world - a personal WAN encompassing the entire world.\nAnd on top of this, Tailscale is completely free and open-source! At least, on the surface...\nNot FOSS? What do you mean?#\nThere's a quite popular saying within the free and open-source software community, which goes along the lines of:\n\nIf you aren't paying for the product, then you are the product.\n\nWhich makes perfect sense. It's the modern era so anything significant is powered by some form of modern technology, data is the new oil, and so on.\nIn exchange for offering you 'free' services, companies collect and use your data;\nwhile there supposedly are laws in place preventing the inconcensual collection of data in most countries around the world, your personal data may still be traded unethically and inconsensually.\nI personally am of the opinion that these laws are worth absolutely nothing if people aren't educated in how their data is being used, and what specifically is being collected.\nBut I digress, and that's a blog post for another time.\nI also think it's quite unfortunate that users of paid services still have their personal data collected in the unethical manner outlined above, despite the fact that they are paying for the service...\nIn the context of Tailscale: while their clients are all open-source, their control server - the thing that's managing and rerouting everything going through what they advertise as your 'secure' VPN, isn't.\nYou've got no idea what this thing is doing with the traffic it recieves.\nHeadscale#\nFor every problem, there's probably a solution somewhere. And luckily for this one (which may or may not actually be a problem for you), we've got Headscale as our solution.\nHeadscale's a self-hostable, open-source alternative to the Tailscale control server, and aims to 'provide self-hosters and hobbyists with an open-source server they can use for their projects and labs'.\nInstalling on NixOS#\nMoving on to installing and setting up Headscale on NixOS.\n\nThis starts up the headscale systemd service on our host machine at port 7070. After that, we make Headscale available over the clearnet with an NGINX reverse proxy, per the usual:\n\nAnd that's it. A self-hosted, truly open-source Wireguard®-based VPN is now at your fingertips. Enjoy! Oh, but please read the conclusion before doing that:\nConclusion#\nFor those of you who wish to have access to something like Tailscale but value your privacy above all, you would genuinely be greatful for Headscale.\nHowever, I've found that some are fine with what Tailscale does provide in regards to FOSS, and are satisfied by the raw convenience and simplicity of a non-selfhosted Tailscale control server - exactly what it hopes to provide, as shown by their self-description on their website: 'a zero-config, no-fuss VPN [provider]'.\nOr you could just settle with bare Wireguard®.\n","id":"https://devraza.giize.com/blog/selfhost-tailscale/","title":"Take control of tailscale with headscale"},"https://devraza.giize.com/blog/server-hardware-selection/":{"body":"Introduction#\nI see a lot of people worryingly mistaken about what a server needs (specifically, a home server). Some think that a bland and incredibly ignorant '20% budget for CPU, 30% for GPU, and the rest for the rest' plan for selecting hardware is good enough (at least, before choosing specific items) - you can't exactly be wrong when choosing\nhardware, but this is very, very far from right.\nRequirements#\nServer hardware needs to be low-power and resource-efficient - so as not to waste any money unnessarily, obviously. Your budget will strongly impact the specifications you can get your hands on, but I would think that even $200 is enough for a decent home server - depending on what you want to do with it.\nKeep in mind that you could always repurpose an old laptop or desktop lying around; it's cheap, and you get what may be a surprisingly decent machine.\nPower consumption#\nThe difference between low peak and low idle power should be noted in particular. Running costs can get very high if you don't work to moderate power consumption, and probably wouldn't be something you would ignore when it comes to home servers.\nUsage of the server#\nNaturally, how a server will be used will affect pretty much everything about the hardware chosen for it. For example, if you're looking to stream games remotely, you'd go for a (perhaps powerful) dedicated GPU and would likely invest in some high-speed internet solution.\nAs indicated by the above example of the GPU, you need to be very specific with what you choose - do you need a powerful GPU or do you not? After all, one of the last things you would want, ever, is money going to waste on something you don't need, or failing to buy something that meets your expectations.\nConclusion#\nI only gave two points of interest when selecting a server - looking at the numbers alone, this might seem like hardly anything to consider at all. My reasons for this are:\n\nPower comumption is one factor that people often forego thinking about, and an extremely important one at that.\nBuilding on top of the previous point, you (probably) aren't stupid. Knowing (albeit at a very basic level) what to look out for should be enough.\nIt would be extremely difficult for me, or anyone else for that matter, to provide a truly complete solution to everyone's needs for a home server.\n\nWell, that's it. I wish you luck in selecting your hardware.\n","id":"https://devraza.giize.com/blog/server-hardware-selection/","title":"Selecting hardware for a (home) server"},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"body":"Introduction#\nZola is a static site generator (similarly to the infamous Hugo, which you may have already heard of) and is written in Rust.\nIt also happens to be the framework that this site is built on!\nThis blog post is a guide on setting up the site engine on NixOS specifically.\nInstallation#\nInstalling the package#\nzola is packaged in the nix package repository, so you just declaratively add the package to your configuration as usual:\nFor the purposes of this guide, zola can be installed either as a system or user package.\n\nAs a system package:\n\n\n\nAs a user package (with home-manager):\n\n\nNow that zola itself is installed, we can move on setting up the pages it serves - continue reading...\nSetting up a theme#\nZola actually has a section of its website showcasing several community-made themes which you can choose from to be the theme for your static site here.\nSimply choose a theme that you like (demos are usually available for each theme listed) and follow its appropriate documentation to set it up - this site uses a version of the serene theme with my custom colours.\n\n \n \n \n \n \n \n Custom themes\n \n You can also make your own theme if that better suits you (I recommend giving the documentation a read if so).\n\n \nSetting up NGINX#\nAfter selecting a theme (or making your own) you should now have a directory somewhere on your server containing your static site.\nFor the following snippet, we'll assume this is at /var/lib/blog.\nNGINX is a popular webserver which we're going to use for the purposes of hosting and serving our site. To do so, append the following somewhere in your configuration:\n\nFinishing up#\nYou should now have your own static site built with Zola! You can use this for a bunch of things, like:\n\nYour personal blog (as I've done)\nA way to showcase your projects (as I've also done)\nHosting documentation (check out this Zola theme, for example)\n\n\n \n \n \n \n \n \n Help, my changes aren't sticking!\n \n When you make new markdown files (or any other changes to the structure of your site), remember to run zola build in your site directory (/var/lib/blog) for the changes to build into the actual site.\n\n \n","id":"https://devraza.giize.com/blog/setting-up-zola-nixos/","title":"Setting up Zola on NixOS"},"https://devraza.giize.com/projects/":{"body":"","id":"https://devraza.giize.com/projects/","title":"Projects"}},"docInfo":{"https://devraza.giize.com/":{"body":65,"title":0},"https://devraza.giize.com/blog/":{"body":0,"title":2},"https://devraza.giize.com/blog/adblock-blocky/":{"body":282,"title":5},"https://devraza.giize.com/blog/btrfs-raid-setup/":{"body":253,"title":2},"https://devraza.giize.com/blog/hoaxes-overview/":{"body":215,"title":2},"https://devraza.giize.com/blog/home-server-security/":{"body":273,"title":3},"https://devraza.giize.com/blog/nfc-misconceptions/":{"body":323,"title":2},"https://devraza.giize.com/blog/selfhost-search-engine/":{"body":344,"title":5},"https://devraza.giize.com/blog/selfhost-tailscale/":{"body":286,"title":4},"https://devraza.giize.com/blog/server-hardware-selection/":{"body":219,"title":4},"https://devraza.giize.com/blog/setting-up-zola-nixos/":{"body":190,"title":4},"https://devraza.giize.com/projects/":{"body":0,"title":1}},"length":12},"lang":"English"} \ No newline at end of file diff --git a/public/sitemap.xml b/public/sitemap.xml index 919416b..82ff4b2 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -10,6 +10,10 @@ https://devraza.giize.com/blog/adblock-blocky/ 2024-05-31 + + https://devraza.giize.com/blog/btrfs-raid-setup/ + 2024-12-30 + https://devraza.giize.com/blog/hoaxes-overview/ 2024-01-04 @@ -62,6 +66,9 @@ https://devraza.giize.com/tags/blocky/ + + https://devraza.giize.com/tags/btrfs/ + https://devraza.giize.com/tags/hacking/ @@ -83,6 +90,9 @@ https://devraza.giize.com/tags/homelab/ + + https://devraza.giize.com/tags/nas/ + https://devraza.giize.com/tags/nfc/ @@ -92,6 +102,18 @@ https://devraza.giize.com/tags/privacy/ + + https://devraza.giize.com/tags/raid/ + + + https://devraza.giize.com/tags/raid0/ + + + https://devraza.giize.com/tags/raid1/ + + + https://devraza.giize.com/tags/raid10/ + https://devraza.giize.com/tags/searxng/ diff --git a/public/tags/adblock/index.html b/public/tags/adblock/index.html index 39c4a6f..eca2ece 100644 --- a/public/tags/adblock/index.html +++ b/public/tags/adblock/index.html @@ -1,3 +1,3 @@ Blog Posts
      # adblockAll Tags
      DNS-level adblock on the go with blocky 2024-05-31
      powered by zola and serene
      \ No newline at end of file +en">Blog Posts
      # adblockAll Tags
      DNS-level adblock on the go with blocky 2024-05-31
      powered by zola and serene
      \ No newline at end of file diff --git a/public/tags/blocky/index.html b/public/tags/blocky/index.html index 846ed99..e98175f 100644 --- a/public/tags/blocky/index.html +++ b/public/tags/blocky/index.html @@ -1,3 +1,3 @@ Blog Posts
      # blockyAll Tags
      DNS-level adblock on the go with blocky 2024-05-31
      powered by zola and serene
      \ No newline at end of file +en">Blog Posts
      # blockyAll Tags
      DNS-level adblock on the go with blocky 2024-05-31
      powered by zola and serene
      \ No newline at end of file diff --git a/public/tags/btrfs/index.html b/public/tags/btrfs/index.html new file mode 100644 index 0000000..6d582d0 --- /dev/null +++ b/public/tags/btrfs/index.html @@ -0,0 +1,3 @@ +Blog Posts
      # btrfsAll Tags
      RAID with btrfs 2024-12-30
      powered by zola and serene
      \ No newline at end of file diff --git a/public/tags/hacking/index.html b/public/tags/hacking/index.html index 70f004b..edbc401 100644 --- a/public/tags/hacking/index.html +++ b/public/tags/hacking/index.html @@ -1,3 +1,3 @@ Blog Posts
      # hackingAll Tags
      Misconceptions about NFC 2024-01-19
      powered by zola and serene
      \ No newline at end of file +en">Blog Posts
      # hackingAll Tags
      Misconceptions about NFC 2024-01-19
      powered by zola and serene
      \ No newline at end of file diff --git a/public/tags/hardening/index.html b/public/tags/hardening/index.html index b4e23f2..f04e4e3 100644 --- a/public/tags/hardening/index.html +++ b/public/tags/hardening/index.html @@ -1,3 +1,3 @@ Blog Posts
      # hardeningAll Tags
      Home server security 2024-03-28
      powered by zola and serene
      \ No newline at end of file +en">Blog Posts
      # hardeningAll Tags
      Home server security 2024-03-28
      powered by zola and serene
      \ No newline at end of file diff --git a/public/tags/hardware/index.html b/public/tags/hardware/index.html index a181ce0..4329f3b 100644 --- a/public/tags/hardware/index.html +++ b/public/tags/hardware/index.html @@ -1,3 +1,3 @@ Blog Posts
      # hardwareAll Tags
      Selecting hardware for a (home) server 2024-01-31
      powered by zola and serene
      \ No newline at end of file +en">Blog Posts
      # hardwareAll Tags
      Selecting hardware for a (home) server 2024-01-31
      powered by zola and serene
      \ No newline at end of file diff --git a/public/tags/headscale/index.html b/public/tags/headscale/index.html index 6d997ba..411bf06 100644 --- a/public/tags/headscale/index.html +++ b/public/tags/headscale/index.html @@ -1,3 +1,3 @@ Blog Posts
      \ No newline at end of file +en">Blog Posts
      \ No newline at end of file diff --git a/public/tags/hoax/index.html b/public/tags/hoax/index.html index becc14d..3bc2814 100644 --- a/public/tags/hoax/index.html +++ b/public/tags/hoax/index.html @@ -1,3 +1,3 @@ Blog Posts
      # hoaxAll Tags
      An overview on hoaxes 2024-01-04
      powered by zola and serene
      \ No newline at end of file +en">Blog Posts
      # hoaxAll Tags
      An overview on hoaxes 2024-01-04
      powered by zola and serene
      \ No newline at end of file diff --git a/public/tags/home-lab/index.html b/public/tags/home-lab/index.html index f5e33b2..742f164 100644 --- a/public/tags/home-lab/index.html +++ b/public/tags/home-lab/index.html @@ -1,3 +1,3 @@ Blog Posts
      # home labAll Tags
      Selecting hardware for a (home) server 2024-01-31
      powered by zola and serene
      \ No newline at end of file +en">Blog Posts
      # home labAll Tags
      Selecting hardware for a (home) server 2024-01-31
      powered by zola and serene
      \ No newline at end of file diff --git a/public/tags/homelab/index.html b/public/tags/homelab/index.html index 91c3752..5c2e816 100644 --- a/public/tags/homelab/index.html +++ b/public/tags/homelab/index.html @@ -1,3 +1,3 @@ Blog Posts
      # homelabAll Tags
      Home server security 2024-03-28
      powered by zola and serene
      \ No newline at end of file +en">Blog Posts
      # homelabAll Tags
      Home server security 2024-03-28
      powered by zola and serene
      \ No newline at end of file diff --git a/public/tags/index.html b/public/tags/index.html index c23f23d..6532e6e 100644 --- a/public/tags/index.html +++ b/public/tags/index.html @@ -1,3 +1,3 @@ Tags
      \ No newline at end of file +en">Tags
      \ No newline at end of file diff --git a/public/tags/nas/index.html b/public/tags/nas/index.html new file mode 100644 index 0000000..4b0d99c --- /dev/null +++ b/public/tags/nas/index.html @@ -0,0 +1,3 @@ +Blog Posts
      RAID with btrfs 2024-12-30
      powered by zola and serene
      \ No newline at end of file diff --git a/public/tags/nfc/index.html b/public/tags/nfc/index.html index 110cbfb..6ef8024 100644 --- a/public/tags/nfc/index.html +++ b/public/tags/nfc/index.html @@ -1,3 +1,3 @@ Blog Posts
      Misconceptions about NFC 2024-01-19
      powered by zola and serene
      \ No newline at end of file +en">Blog Posts
      Misconceptions about NFC 2024-01-19
      powered by zola and serene
      \ No newline at end of file diff --git a/public/tags/nixos/index.html b/public/tags/nixos/index.html index 923121e..b1927ef 100644 --- a/public/tags/nixos/index.html +++ b/public/tags/nixos/index.html @@ -1,3 +1,3 @@ Blog Posts
      \ No newline at end of file +en">Blog Posts
      \ No newline at end of file diff --git a/public/tags/privacy/index.html b/public/tags/privacy/index.html index a3c57de..69dce8b 100644 --- a/public/tags/privacy/index.html +++ b/public/tags/privacy/index.html @@ -1,3 +1,3 @@ Blog Posts
      \ No newline at end of file +en">Blog Posts
      \ No newline at end of file diff --git a/public/tags/raid/index.html b/public/tags/raid/index.html new file mode 100644 index 0000000..f9d8b02 --- /dev/null +++ b/public/tags/raid/index.html @@ -0,0 +1,3 @@ +Blog Posts
      # RAIDAll Tags
      RAID with btrfs 2024-12-30
      powered by zola and serene
      \ No newline at end of file diff --git a/public/tags/raid0/index.html b/public/tags/raid0/index.html new file mode 100644 index 0000000..a1e69ef --- /dev/null +++ b/public/tags/raid0/index.html @@ -0,0 +1,3 @@ +Blog Posts
      # RAID0All Tags
      RAID with btrfs 2024-12-30
      powered by zola and serene
      \ No newline at end of file diff --git a/public/tags/raid1/index.html b/public/tags/raid1/index.html new file mode 100644 index 0000000..9e48a54 --- /dev/null +++ b/public/tags/raid1/index.html @@ -0,0 +1,3 @@ +Blog Posts
      # RAID1All Tags
      RAID with btrfs 2024-12-30
      powered by zola and serene
      \ No newline at end of file diff --git a/public/tags/raid10/index.html b/public/tags/raid10/index.html new file mode 100644 index 0000000..24d0725 --- /dev/null +++ b/public/tags/raid10/index.html @@ -0,0 +1,3 @@ +Blog Posts
      # RAID10All Tags
      RAID with btrfs 2024-12-30
      powered by zola and serene
      \ No newline at end of file diff --git a/public/tags/searxng/index.html b/public/tags/searxng/index.html index f4ed1aa..4e48455 100644 --- a/public/tags/searxng/index.html +++ b/public/tags/searxng/index.html @@ -1,3 +1,3 @@ Blog Posts
      # searxngAll Tags
      Host your own private search engine with SearXNG 2023-12-31
      powered by zola and serene
      \ No newline at end of file +en">Blog Posts
      # searxngAll Tags
      Host your own private search engine with SearXNG 2023-12-31
      powered by zola and serene
      \ No newline at end of file diff --git a/public/tags/selfhosted/index.html b/public/tags/selfhosted/index.html index 436e003..0d5efe9 100644 --- a/public/tags/selfhosted/index.html +++ b/public/tags/selfhosted/index.html @@ -1,3 +1,3 @@ Blog Posts
      \ No newline at end of file +en">Blog Posts
      \ No newline at end of file diff --git a/public/tags/social-engineering/index.html b/public/tags/social-engineering/index.html index 7d2b504..a6c76bd 100644 --- a/public/tags/social-engineering/index.html +++ b/public/tags/social-engineering/index.html @@ -1,3 +1,3 @@ Blog Posts
      # social engineeringAll Tags
      Misconceptions about NFC 2024-01-19 An overview on hoaxes 2024-01-04
      powered by zola and serene
      \ No newline at end of file +en">Blog Posts
      # social engineeringAll Tags
      Misconceptions about NFC 2024-01-19 An overview on hoaxes 2024-01-04
      powered by zola and serene
      \ No newline at end of file diff --git a/public/tags/sysadmin/index.html b/public/tags/sysadmin/index.html index 6892c08..51d65e3 100644 --- a/public/tags/sysadmin/index.html +++ b/public/tags/sysadmin/index.html @@ -1,3 +1,3 @@ Blog Posts
      # sysadminAll Tags
      Selecting hardware for a (home) server 2024-01-31
      powered by zola and serene
      \ No newline at end of file +en">Blog Posts
      # sysadminAll Tags
      Selecting hardware for a (home) server 2024-01-31
      powered by zola and serene
      \ No newline at end of file diff --git a/public/tags/tailscale/index.html b/public/tags/tailscale/index.html index 79f549f..5072e38 100644 --- a/public/tags/tailscale/index.html +++ b/public/tags/tailscale/index.html @@ -1,3 +1,3 @@ Blog Posts
      \ No newline at end of file +en">Blog Posts
      \ No newline at end of file diff --git a/public/tags/zola/index.html b/public/tags/zola/index.html index d37ab2e..077701d 100644 --- a/public/tags/zola/index.html +++ b/public/tags/zola/index.html @@ -1,3 +1,3 @@ Blog Posts
      # zolaAll Tags
      Setting up Zola on NixOS 2023-12-29
      powered by zola and serene
      \ No newline at end of file +en">Blog Posts
      # zolaAll Tags
      Setting up Zola on NixOS 2023-12-29
      powered by zola and serene
      \ No newline at end of file diff --git a/static/img/raid10.png b/static/img/raid10.png new file mode 100644 index 0000000000000000000000000000000000000000..fb37ba3683d4cdfc7d752c204ed52267ae8593c6 GIT binary patch literal 75099 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 z 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 literal 0 HcmV?d00001