<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Server on</title><link>https://XenoElectronics.com/en/tags/server/</link><description>Recent content in Server on</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Sat, 01 Mar 2025 21:47:14 +0100</lastBuildDate><atom:link href="https://XenoElectronics.com/en/tags/server/index.xml" rel="self" type="application/rss+xml"/><item><title>Virtualization vs Containerization</title><link>https://XenoElectronics.com/en/posts/2025/virtualization-vs-containerization/</link><pubDate>Sat, 01 Mar 2025 21:47:14 +0100</pubDate><guid>https://XenoElectronics.com/en/posts/2025/virtualization-vs-containerization/</guid><description>
&lt;figure&gt;&lt;a href="https://go.getproton.me/aff_c?offer_id=7&amp;amp;aff_id=12996" target="_blank" class="inline-block"&gt;
&lt;img
class="my-0 rounded-md nozoom"
src="https://XenoElectronics.com/logos/proton.png"
alt="Affiliate-Partner – geprüft von XenoElectronics"
/&gt;
&lt;/a&gt;
&lt;/figure&gt;
&lt;h2 class="relative group"&gt;Useful links
&lt;div id="useful-links" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#useful-links" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Container Engins&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Docker: &lt;a href="https://www.docker.com/get-started/" target="_blank" rel="noreferrer"&gt;https://www.docker.com/get-started/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Kubernetes: &lt;a href="https://kubernetes.io/" target="_blank" rel="noreferrer"&gt;https://kubernetes.io/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Podman: &lt;a href="https://podman.io/" target="_blank" rel="noreferrer"&gt;https://podman.io/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;strong&gt;Container GUI Tools&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Rancher: &lt;a href="https://www.rancher.com/" target="_blank" rel="noreferrer"&gt;https://www.rancher.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Longhorn: &lt;a href="https://longhorn.io/" target="_blank" rel="noreferrer"&gt;https://longhorn.io/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Portainer: &lt;a href="https://www.portainer.io/" target="_blank" rel="noreferrer"&gt;https://www.portainer.io/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;strong&gt;Hypervisor&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;What is KVM: &lt;a href="https://www.redhat.com/en/topics/virtualization/what-is-KVM" target="_blank" rel="noreferrer"&gt;https://www.redhat.com/en/topics/virtualization/what-is-KVM&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Virtmanager: &lt;a href="https://virt-manager.org/" target="_blank" rel="noreferrer"&gt;https://virt-manager.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Qemu: &lt;a href="https://www.qemu.org/" target="_blank" rel="noreferrer"&gt;https://www.qemu.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;XEN: &lt;a href="https://xenproject.org/" target="_blank" rel="noreferrer"&gt;https://xenproject.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Proxmox: &lt;a href="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" target="_blank" rel="noreferrer"&gt;https://www.proxmox.com/en/products/proxmox-virtual-environment/overview&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 class="relative group"&gt;What is virtualization?
&lt;div id="what-is-virtualization" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#what-is-virtualization" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Before we start talking about the differences and when to use what, we first need to clarify what a VM is.&lt;/p&gt;
&lt;p&gt;The TLDR version, otherwise it&amp;rsquo;s too long, is that virtual machines are operating systems that run on other operating systems.&lt;/p&gt;
&lt;p&gt;You can read more here&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.redhat.com/en/topics/virtualization/what-is-a-virtual-machine" target="_blank" rel="noreferrer"&gt;https://www.redhat.com/en/topics/virtualization/what-is-a-virtual-machine&lt;/a&gt;&lt;/p&gt;
&lt;h2 class="relative group"&gt;Why do we virtualize?
&lt;div id="why-do-we-virtualize" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why-do-we-virtualize" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;The sense for this was not really there in the past because all the servers back then utilized all the hardware and therefore hardware only ever did one thing.&lt;/p&gt;
&lt;p&gt;Nowadays, however, hardware has become incredibly powerful and therefore some services only use a fraction of the hardware and it would therefore be a total waste not to run several servers on one.&lt;/p&gt;
&lt;h2 class="relative group"&gt;What is the difference between VMs and containers?
&lt;div id="what-is-the-difference-between-vms-and-containers" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#what-is-the-difference-between-vms-and-containers" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;At first here is a graphic that shows how VMs and containers roughly look like.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="image"
width="768"
height="415"
src="https://XenoElectronics.com/images/virtualmachines-vs-containerization/comparison.webp"
srcset="https://XenoElectronics.com/images/virtualmachines-vs-containerization/comparison.webp 800w, https://XenoElectronics.com/images/virtualmachines-vs-containerization/comparison.webp 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://XenoElectronics.com/images/virtualmachines-vs-containerization/comparison.webp"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The difference is small but there are definitely some. Here is a table that briefly summarizes the most importent ones:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Topic&lt;/strong&gt;&lt;/th&gt;
&lt;th style="text-align: center"&gt;&lt;strong&gt;Hypervisor&lt;/strong&gt;&lt;/th&gt;
&lt;th style="text-align: right"&gt;&lt;strong&gt;Container&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Kernel&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;Has its own kernel&lt;/td&gt;
&lt;td style="text-align: right"&gt;Shares the kernel with the host&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Start speed&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;Slow because the VM has to start its kernel and more OS components have to be loaded because it is a full OS&lt;/td&gt;
&lt;td style="text-align: right"&gt;Fast as the kernel is already started by the host and far fewer OS components need to be loaded as it has just enough to run one service&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Resource utilization&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;High because it has to load a full OS&lt;/td&gt;
&lt;td style="text-align: right"&gt;Little as it only performs one service&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Scalability&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;It is less flexible because changes must be stored in the VM disk. Therefore, centralized storage is difficult to implement.&lt;/td&gt;
&lt;td style="text-align: right"&gt;Very good as all data is available in the container for the service. Changes are stored in volumes and can be centralized so that all containers use the same data.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 class="relative group"&gt;Container
&lt;div id="container" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#container" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;h3 class="relative group"&gt;Advantages and disadvantages of containers
&lt;div id="advantages-and-disadvantages-of-containers" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#advantages-and-disadvantages-of-containers" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;Some things have already been addressed in the table, but not everything.&lt;/p&gt;
&lt;p&gt;Containers have the great advantage that they require extremely few resources and run the same on all servers. The phrase “But it runs on my device” is therefore solved with containers.&lt;/p&gt;
&lt;p&gt;One disadvantage however, is the kernel. Because if you use a cluster and want to migrate a container from one server to another, this is not seamless. Because it first has to be shut down and only then can it be migrated. This actually makes sence because it uses the kernel of the host and then has to use the kernel of the new host. A VM does not have this problem as it has its own kernel.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Where do you use containers
&lt;div id="where-do-you-use-containers" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#where-do-you-use-containers" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;Containers have a specific purpose, namely microservices. So they have one service and nothing more.&lt;/p&gt;
&lt;p&gt;For example, a container can be a database and nothing more, another container can be a chat application and then communicate with the database container to store the data.&lt;/p&gt;
&lt;p&gt;This sounds unnecessary at first, but the advantage is that if the database server is busy, the same container can be started on another server in seconds so that the load is shared.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Container Engins
&lt;div id="container-engins" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#container-engins" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;There are not so many container engines that are popular but here are 3 Recommendations.&lt;/p&gt;
&lt;h4 class="relative group"&gt;Docker
&lt;div id="docker" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#docker" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h4&gt;
&lt;p&gt;Docker is the standard in the industry. However, I recommend using Portainer because it is easier to manage the containers that way&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Docker: &lt;a href="https://www.docker.com/get-started/" target="_blank" rel="noreferrer"&gt;https://www.docker.com/get-started/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Portainer: &lt;a href="https://www.portainer.io/" target="_blank" rel="noreferrer"&gt;https://www.portainer.io/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4 class="relative group"&gt;Podman
&lt;div id="podman" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#podman" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h4&gt;
&lt;p&gt;Podman is a container engine developed by Redhat. The difference to docker is that it is agentless.&lt;/p&gt;
&lt;p&gt;Docker uses a Systemd service which is the Docker Deamon to manage the containers. This runs with the root user. Which can lead to security problems if this service is hacked.&lt;/p&gt;
&lt;p&gt;Podman containers are instead managed with shell commands without root.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Podman: &lt;a href="https://podman.io/" target="_blank" rel="noreferrer"&gt;https://podman.io/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4 class="relative group"&gt;Kubernetes
&lt;div id="kubernetes" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#kubernetes" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h4&gt;
&lt;p&gt;Kubernetes needs its own guide as it is incredibly complex. But in short, it is an orchestrator for the mass management of containers across servers. So it makes sense if you have services that require high availability.&lt;/p&gt;
&lt;p&gt;A very good graphical manager for Kubernetes is Rancher in combination with Longhorn&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Kubernetes: &lt;a href="https://kubernetes.io/" target="_blank" rel="noreferrer"&gt;https://kubernetes.io/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Rancher: &lt;a href="https://www.rancher.com/" target="_blank" rel="noreferrer"&gt;https://www.rancher.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Longhorn: &lt;a href="https://longhorn.io/" target="_blank" rel="noreferrer"&gt;https://longhorn.io/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 class="relative group"&gt;Virtual Machines
&lt;div id="virtual-machines" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#virtual-machines" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;h3 class="relative group"&gt;Advantages and disadvantages of vms
&lt;div id="advantages-and-disadvantages-of-vms" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#advantages-and-disadvantages-of-vms" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;Virtual machines have the advantage that they can do everything a normal PC or server can do. They are therefore very flexible in what they can do.&lt;/p&gt;
&lt;p&gt;Unlike containers, they can also use hardware to extend their functions.&lt;/p&gt;
&lt;p&gt;The disadvantage is the high load on the host as a complete OS must always be running, even for small services. Updating can therefore also be annoying as a complete update of the OS has to be made and not just a new container image that has to be pulled.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Where do you use vms
&lt;div id="where-do-you-use-vms" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#where-do-you-use-vms" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;They always make sense if you cannot implement the service in a container, be it as a desktop or a machine that has to perform many services simultaneously or if you need to use hardware in a VM.&lt;/p&gt;
&lt;p&gt;It also makes sense to use a VM for old operating systems.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Types of hypervisors
&lt;div id="types-of-hypervisors" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#types-of-hypervisors" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;There are several types of hypervisors, as always I will only refer to the open source versions so that you can use them yourself.&lt;/p&gt;
&lt;p&gt;You could go into more detail here about Hypervisor Type 1 and Hypervisor Type 2, but nowadays the difference is almost non-existent. Hypervisor type 1 had the advantage of being able to pass hardware from the host to the VM. Hypervisor type 2 can now also do this and therefore, in my opinion, there is no longer really a difference.&lt;/p&gt;
&lt;p&gt;All the hypervisors I list here only run on Linux. Windows also has one, but it is not open source and the Linux ones are the best hypervisors on the market.&lt;/p&gt;
&lt;h3 class="relative group"&gt;Virtmanager
&lt;div id="virtmanager" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#virtmanager" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;Virtmanager is the best choice in my opinion if you want to do a lot with a VM on an Desktop. It is a type 2 but can still pass hardware to the VM and a lot more.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Virtmanager: &lt;a href="https://virt-manager.org/" target="_blank" rel="noreferrer"&gt;https://virt-manager.org/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 class="relative group"&gt;Qemu
&lt;div id="qemu" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#qemu" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;Qemu is practical if you want to start a VM quickly and test something. Qemu has many templates which can be used to start VMs in seconds.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Qemu: &lt;a href="https://www.qemu.org/" target="_blank" rel="noreferrer"&gt;https://www.qemu.org/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 class="relative group"&gt;XEN
&lt;div id="xen" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#xen" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;XEN is an old hypervisor but the most secure one on the market. Qubes OS and TrueNAS use it, as do some car manufacturers in their cars.&lt;/p&gt;
&lt;p&gt;However, it is slower than modern hypervisors. But if security is your first priority you should use it.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;XEN: &lt;a href="https://xenproject.org/" target="_blank" rel="noreferrer"&gt;https://xenproject.org/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 class="relative group"&gt;Proxmox
&lt;div id="proxmox" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#proxmox" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;I have written about Proxmox before, it is the best hypervisor if you need a cluster server.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Proxmox: &lt;a href="https://www.proxmox.com/en/products/proxmox-virtual-environment/overview" target="_blank" rel="noreferrer"&gt;https://www.proxmox.com/en/products/proxmox-virtual-environment/overview&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figure&gt;&lt;a href="https://go.getproton.me/aff_c?offer_id=7&amp;amp;aff_id=12996" target="_blank" class="inline-block"&gt;
&lt;img
class="my-0 rounded-md nozoom"
src="https://XenoElectronics.com/logos/proton.png"
alt="Affiliate-Partner – geprüft von XenoElectronics"
/&gt;
&lt;/a&gt;
&lt;/figure&gt;
&lt;h2 class="relative group"&gt;Services from XenoElectronics
&lt;div id="services-from-xenoelectronics" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#services-from-xenoelectronics" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;If you need help with your projects or with open source software. Take a look at our contact page and let us know what you need. We will help you to realize your projects.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;a href="https://xenoelectronics.com/contact/" target="_blank" rel="noreferrer"&gt;https://xenoelectronics.com/contact/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 class="relative group"&gt;Open source support &amp;amp; coffee fund
&lt;div id="open-source-support--coffee-fund" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#open-source-support--coffee-fund" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Did this guide save you hours of troubleshooting?
We are happy to make this knowledge available to the community free of charge. If you would like to support our work on further open source tutorials, we would appreciate a “virtual coffee” or your support on Patreon.&lt;/p&gt;
&lt;p&gt;Thank you for reading and for your time!&lt;/p&gt;
&lt;div
class="flex px-4 py-3 rounded-md shadow bg-primary-100 dark:bg-primary-900"
&gt;
&lt;span
class="text-primary-400 pe-3 flex items-center"
&gt;
&lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"&gt;&lt;path fill="currentColor" d="M512 194.8c0 101.3-82.4 183.8-183.8 183.8-101.7 0-184.4-82.4-184.4-183.8 0-101.6 82.7-184.3 184.4-184.3C429.6 10.5 512 93.2 512 194.8zM0 501.5h90v-491H0v491z"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;/span&gt;
&lt;span
class="dark:text-neutral-300"
&gt;&lt;a href="https://www.patreon.com/XenoElectronics" target="_blank" rel="noreferrer"&gt;Become a Patreon supporter&lt;/a&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div
class="flex px-4 py-3 rounded-md shadow bg-primary-100 dark:bg-primary-900"
&gt;
&lt;span
class="text-primary-400 pe-3 flex items-center"
&gt;
&lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"&gt;
&lt;path fill="currentColor" d="M111.4 295.9c-3.5 19.2-17.4 108.7-21.5 134-.3 1.8-1 2.5-3 2.5H12.3c-7.6 0-13.1-6.6-12.1-13.9L58.8 46.6c1.5-9.6 10.1-16.9 20-16.9 152.3 0 165.1-3.7 204 11.4 60.1 23.3 65.6 79.5 44 140.3-21.5 62.6-72.5 89.5-140.1 90.3-43.4.7-69.5-7-75.3 24.2zM357.1 152c-1.8-1.3-2.5-1.8-3 1.3-2 11.4-5.1 22.5-8.8 33.6-39.9 113.8-150.5 103.9-204.5 103.9-6.1 0-10.1 3.3-10.9 9.4-22.6 140.4-27.1 169.7-27.1 169.7-1 7.1 3.5 12.9 10.6 12.9h63.5c8.6 0 15.7-6.3 17.4-14.9.7-5.4-1.1 6.1 14.4-91.3 4.6-22 14.3-19.7 29.3-19.7 71 0 126.4-28.8 142.9-112.3 6.5-34.8 4.6-71.4-23.8-92.6z"/&gt;&lt;/svg&gt;&lt;/span&gt;
&lt;/span&gt;
&lt;span
class="dark:text-neutral-300"
&gt;&lt;a href="https://www.paypal.com/donate/?hosted_button_id=TPCQVYSYC5CGA" target="_blank" rel="noreferrer"&gt;Support via PayPal&lt;/a&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div
class="flex px-4 py-3 rounded-md shadow bg-primary-100 dark:bg-primary-900"
&gt;
&lt;span
class="text-primary-400 pe-3 flex items-center"
&gt;
&lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"&gt;
&lt;path fill="currentColor" d="M165 144.7l-43.3 9.2-.2 142.4c0 26.3 19.8 43.3 46.1 43.3 14.6 0 25.3-2.7 31.2-5.9v-33.8c-5.7 2.3-33.7 10.5-33.7-15.7V221h33.7v-37.8h-33.7zm89.1 51.6l-2.7-13.1H213v153.2h44.3V233.3c10.5-13.8 28.2-11.1 33.9-9.3v-40.8c-6-2.1-26.7-6-37.1 13.1zm92.3-72.3l-44.6 9.5v36.2l44.6-9.5zM44.9 228.3c0-6.9 5.8-9.6 15.1-9.7 13.5 0 30.7 4.1 44.2 11.4v-41.8c-14.7-5.8-29.4-8.1-44.1-8.1-36 0-60 18.8-60 50.2 0 49.2 67.5 41.2 67.5 62.4 0 8.2-7.1 10.9-17 10.9-14.7 0-33.7-6.1-48.6-14.2v40c16.5 7.1 33.2 10.1 48.5 10.1 36.9 0 62.3-15.8 62.3-47.8 0-52.9-67.9-43.4-67.9-63.4zM640 261.6c0-45.5-22-81.4-64.2-81.4s-67.9 35.9-67.9 81.1c0 53.5 30.3 78.2 73.5 78.2 21.2 0 37.1-4.8 49.2-11.5v-33.4c-12.1 6.1-26 9.8-43.6 9.8-17.3 0-32.5-6.1-34.5-26.9h86.9c.2-2.3.6-11.6.6-15.9zm-87.9-16.8c0-20 12.3-28.4 23.4-28.4 10.9 0 22.5 8.4 22.5 28.4zm-112.9-64.6c-17.4 0-28.6 8.2-34.8 13.9l-2.3-11H363v204.8l44.4-9.4.1-50.2c6.4 4.7 15.9 11.2 31.4 11.2 31.8 0 60.8-23.2 60.8-79.6.1-51.6-29.3-79.7-60.5-79.7zm-10.6 122.5c-10.4 0-16.6-3.8-20.9-8.4l-.3-66c4.6-5.1 11-8.8 21.2-8.8 16.2 0 27.4 18.2 27.4 41.4.1 23.9-10.9 41.8-27.4 41.8zm-126.7 33.7h44.6V183.2h-44.6z"/&gt;&lt;/svg&gt;&lt;/span&gt;
&lt;/span&gt;
&lt;span
class="dark:text-neutral-300"
&gt;&lt;a href="https://buy.stripe.com/bJeeVd2Ni0l46EhgfY8Zq00" target="_blank" rel="noreferrer"&gt;Support via Stripe&lt;/a&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;If you like to share this artikel click the icons below.&lt;/p&gt;</description></item><item><title>How to Install Navidrome?</title><link>https://XenoElectronics.com/en/posts/2025/how-to-install-navidrome/</link><pubDate>Thu, 13 Feb 2025 12:10:13 +0100</pubDate><guid>https://XenoElectronics.com/en/posts/2025/how-to-install-navidrome/</guid><description>
&lt;figure&gt;&lt;a href="https://go.getproton.me/aff_c?offer_id=7&amp;amp;aff_id=12996" target="_blank" class="inline-block"&gt;
&lt;img
class="my-0 rounded-md nozoom"
src="https://XenoElectronics.com/logos/proton.png"
alt="Affiliate-Partner – geprüft von XenoElectronics"
/&gt;
&lt;/a&gt;
&lt;/figure&gt;
&lt;h2 class="relative group"&gt;Useful links
&lt;div id="useful-links" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#useful-links" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;blockquote&gt;&lt;p&gt;Official Guide: &lt;a href="https://www.navidrome.org/docs/installation/docker/" target="_blank" rel="noreferrer"&gt;https://www.navidrome.org/docs/installation/docker/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Subsonic player recommendations: &lt;a href="https://www.navidrome.org/docs/overview/#apps" target="_blank" rel="noreferrer"&gt;https://www.navidrome.org/docs/overview/#apps&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Tag editor: &lt;a href="https://kid3.kde.org/" target="_blank" rel="noreferrer"&gt;https://kid3.kde.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;To make Albums: &lt;a href="https://picard.musicbrainz.org/" target="_blank" rel="noreferrer"&gt;https://picard.musicbrainz.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Android Subsonic Player: &lt;a href="https://play.google.com/store/apps/details?id=org.moire.ultrasonic" target="_blank" rel="noreferrer"&gt;https://play.google.com/store/apps/details?id=org.moire.ultrasonic&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Desktop Subsonic Player: &lt;a href="https://github.com/dweymouth/supersonic/releases" target="_blank" rel="noreferrer"&gt;https://github.com/dweymouth/supersonic/releases&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 class="relative group"&gt;What is Navidrome?
&lt;div id="what-is-navidrome" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#what-is-navidrome" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Navidrome is a Subsonic based server music player. Which can be used via a browser web interface. It can also be used over the network by other Subsonic players running on your device. This is not irrelevant as Navidrome has limitations which I will cover to later.&lt;/p&gt;
&lt;h2 class="relative group"&gt;How to install Navidrome?
&lt;div id="how-to-install-navidrome" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-to-install-navidrome" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;The best way to install Navidrome is via Docker. I have a yaml file for this which you can use in Portainer.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;services:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; navidrome:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; image: deluan/navidrome:latest
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; container_name: Navidrome
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ports:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - 21480:4533
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; restart: always
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; environment:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ND_DEVACTIVITYPANEL: &lt;span class="nb"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ND_DEVFASTACCESSCOVERART: &lt;span class="nb"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; volumes:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - data:/data
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; - music:/music
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;volumes:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; data:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; music:&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h2 class="relative group"&gt;How does Navidrome find and categorize music?
&lt;div id="how-does-navidrome-find-and-categorize-music" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-does-navidrome-find-and-categorize-music" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Like many programs, Navidrome finds and categorizes music based on its metadata. So it doesn&amp;rsquo;t matter what kind of folder you have where your albums, playlists or anything else is stored. Navidrome is only interested in the metadata of the files in the folder you want it to look in.&lt;/p&gt;
&lt;p&gt;Unfortunately this means that for all songs you want to have in Navidrome you have to adjust the metadata so that Navidrome categorizes them correctly. The important metadata are:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Album:&lt;/p&gt;
&lt;p&gt;Artist:&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;These must be identical so that Navidrome can categorize them into an album. For example, for music from a video game it must look like this:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Album: Super Mario 64&lt;/p&gt;
&lt;p&gt;Artist: Super Mario 64&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;It doesn&amp;rsquo;t make sense that the artist is called like the album, but it makes it easier for Navidrome to put it in one album.&lt;/p&gt;
&lt;h2 class="relative group"&gt;How do I edit the metadata?
&lt;div id="how-do-i-edit-the-metadata" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-do-i-edit-the-metadata" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;A software I recommend to edit the metadata is kid3-qt.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://kid3.kde.org/" target="_blank" rel="noreferrer"&gt;https://kid3.kde.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It is a tag editor but that is correct. The tags in a music file are basically the metadata of the file.&lt;/p&gt;
&lt;h2 class="relative group"&gt;How to make an album?
&lt;div id="how-to-make-an-album" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-to-make-an-album" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Unfortunately, editing the metadata is not enough. At least in my experience.&lt;/p&gt;
&lt;p&gt;We still have to tell the files that they are an album, we can do this by using the software Musicbrainz Picard.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://picard.musicbrainz.org/" target="_blank" rel="noreferrer"&gt;https://picard.musicbrainz.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There we can insert the songs, where we have customized the metadata and combine them into an album&lt;/p&gt;
&lt;h2 class="relative group"&gt;Problems that Navidrome has
&lt;div id="problems-that-navidrome-has" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#problems-that-navidrome-has" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;In principle, we can now put the data in the music folder of Navidrome and it would also combine them into an album. That&amp;rsquo;s nice, but we still have two problems.&lt;/p&gt;
&lt;h3 class="relative group"&gt;We need a Subsonic Player
&lt;div id="we-need-a-subsonic-player" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#we-need-a-subsonic-player" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;The first is that we always need the browser to use Navidrome, which is annoying and I&amp;rsquo;m sure many people don&amp;rsquo;t want to do it that way. I have two recommendations for Subsonic players that run on all desktops and on Android.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Android Subsonic Player: &lt;a href="https://play.google.com/store/apps/details?id=org.moire.ultrasonic" target="_blank" rel="noreferrer"&gt;https://play.google.com/store/apps/details?id=org.moire.ultrasonic&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Desktop Subsonic Player: &lt;a href="https://github.com/dweymouth/supersonic/releases" target="_blank" rel="noreferrer"&gt;https://github.com/dweymouth/supersonic/releases&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;On Apple IOS most of them cost or are proprietary so I don&amp;rsquo;t care. sorry apple users.&lt;/p&gt;
&lt;h3 class="relative group"&gt;A small problem with large playlists
&lt;div id="a-small-problem-with-large-playlists" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#a-small-problem-with-large-playlists" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;If you use a subsonic player as recommended above you will never notice this and you may not care but if you use Navidrome in your browser and have playlists of 100 songs or more, you will notice that Navidrome stops responding or takes hours to load a song.&lt;/p&gt;
&lt;p&gt;This is currently a bug that they want to fix but have not yet managed to do so. With a Subsonic player this bug never occurs even with playlists that have 4000+ songs. I have such a playlist and it runs perfectly on the players I have recommended to you.&lt;/p&gt;
&lt;p&gt;Why do you have a 4000+ song playlist you ask? Why not.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://go.getproton.me/aff_c?offer_id=7&amp;amp;aff_id=12996" target="_blank" class="inline-block"&gt;
&lt;img
class="my-0 rounded-md nozoom"
src="https://XenoElectronics.com/logos/proton.png"
alt="Affiliate-Partner – geprüft von XenoElectronics"
/&gt;
&lt;/a&gt;
&lt;/figure&gt;
&lt;h2 class="relative group"&gt;Services from XenoElectronics
&lt;div id="services-from-xenoelectronics" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#services-from-xenoelectronics" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;If you need help with your projects or with open source software. Take a look at our contact page and let us know what you need. We will help you to realize your projects.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;a href="https://xenoelectronics.com/contact/" target="_blank" rel="noreferrer"&gt;https://xenoelectronics.com/contact/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 class="relative group"&gt;Open source support &amp;amp; coffee fund
&lt;div id="open-source-support--coffee-fund" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#open-source-support--coffee-fund" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Did this guide save you hours of troubleshooting?
We are happy to make this knowledge available to the community free of charge. If you would like to support our work on further open source tutorials, we would appreciate a “virtual coffee” or your support on Patreon.&lt;/p&gt;
&lt;p&gt;Thank you for reading and for your time!&lt;/p&gt;
&lt;div
class="flex px-4 py-3 rounded-md shadow bg-primary-100 dark:bg-primary-900"
&gt;
&lt;span
class="text-primary-400 pe-3 flex items-center"
&gt;
&lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"&gt;&lt;path fill="currentColor" d="M512 194.8c0 101.3-82.4 183.8-183.8 183.8-101.7 0-184.4-82.4-184.4-183.8 0-101.6 82.7-184.3 184.4-184.3C429.6 10.5 512 93.2 512 194.8zM0 501.5h90v-491H0v491z"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;/span&gt;
&lt;span
class="dark:text-neutral-300"
&gt;&lt;a href="https://www.patreon.com/XenoElectronics" target="_blank" rel="noreferrer"&gt;Become a Patreon supporter&lt;/a&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div
class="flex px-4 py-3 rounded-md shadow bg-primary-100 dark:bg-primary-900"
&gt;
&lt;span
class="text-primary-400 pe-3 flex items-center"
&gt;
&lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"&gt;
&lt;path fill="currentColor" d="M111.4 295.9c-3.5 19.2-17.4 108.7-21.5 134-.3 1.8-1 2.5-3 2.5H12.3c-7.6 0-13.1-6.6-12.1-13.9L58.8 46.6c1.5-9.6 10.1-16.9 20-16.9 152.3 0 165.1-3.7 204 11.4 60.1 23.3 65.6 79.5 44 140.3-21.5 62.6-72.5 89.5-140.1 90.3-43.4.7-69.5-7-75.3 24.2zM357.1 152c-1.8-1.3-2.5-1.8-3 1.3-2 11.4-5.1 22.5-8.8 33.6-39.9 113.8-150.5 103.9-204.5 103.9-6.1 0-10.1 3.3-10.9 9.4-22.6 140.4-27.1 169.7-27.1 169.7-1 7.1 3.5 12.9 10.6 12.9h63.5c8.6 0 15.7-6.3 17.4-14.9.7-5.4-1.1 6.1 14.4-91.3 4.6-22 14.3-19.7 29.3-19.7 71 0 126.4-28.8 142.9-112.3 6.5-34.8 4.6-71.4-23.8-92.6z"/&gt;&lt;/svg&gt;&lt;/span&gt;
&lt;/span&gt;
&lt;span
class="dark:text-neutral-300"
&gt;&lt;a href="https://www.paypal.com/donate/?hosted_button_id=TPCQVYSYC5CGA" target="_blank" rel="noreferrer"&gt;Support via PayPal&lt;/a&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div
class="flex px-4 py-3 rounded-md shadow bg-primary-100 dark:bg-primary-900"
&gt;
&lt;span
class="text-primary-400 pe-3 flex items-center"
&gt;
&lt;span class="relative block icon"&gt;&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"&gt;
&lt;path fill="currentColor" d="M165 144.7l-43.3 9.2-.2 142.4c0 26.3 19.8 43.3 46.1 43.3 14.6 0 25.3-2.7 31.2-5.9v-33.8c-5.7 2.3-33.7 10.5-33.7-15.7V221h33.7v-37.8h-33.7zm89.1 51.6l-2.7-13.1H213v153.2h44.3V233.3c10.5-13.8 28.2-11.1 33.9-9.3v-40.8c-6-2.1-26.7-6-37.1 13.1zm92.3-72.3l-44.6 9.5v36.2l44.6-9.5zM44.9 228.3c0-6.9 5.8-9.6 15.1-9.7 13.5 0 30.7 4.1 44.2 11.4v-41.8c-14.7-5.8-29.4-8.1-44.1-8.1-36 0-60 18.8-60 50.2 0 49.2 67.5 41.2 67.5 62.4 0 8.2-7.1 10.9-17 10.9-14.7 0-33.7-6.1-48.6-14.2v40c16.5 7.1 33.2 10.1 48.5 10.1 36.9 0 62.3-15.8 62.3-47.8 0-52.9-67.9-43.4-67.9-63.4zM640 261.6c0-45.5-22-81.4-64.2-81.4s-67.9 35.9-67.9 81.1c0 53.5 30.3 78.2 73.5 78.2 21.2 0 37.1-4.8 49.2-11.5v-33.4c-12.1 6.1-26 9.8-43.6 9.8-17.3 0-32.5-6.1-34.5-26.9h86.9c.2-2.3.6-11.6.6-15.9zm-87.9-16.8c0-20 12.3-28.4 23.4-28.4 10.9 0 22.5 8.4 22.5 28.4zm-112.9-64.6c-17.4 0-28.6 8.2-34.8 13.9l-2.3-11H363v204.8l44.4-9.4.1-50.2c6.4 4.7 15.9 11.2 31.4 11.2 31.8 0 60.8-23.2 60.8-79.6.1-51.6-29.3-79.7-60.5-79.7zm-10.6 122.5c-10.4 0-16.6-3.8-20.9-8.4l-.3-66c4.6-5.1 11-8.8 21.2-8.8 16.2 0 27.4 18.2 27.4 41.4.1 23.9-10.9 41.8-27.4 41.8zm-126.7 33.7h44.6V183.2h-44.6z"/&gt;&lt;/svg&gt;&lt;/span&gt;
&lt;/span&gt;
&lt;span
class="dark:text-neutral-300"
&gt;&lt;a href="https://buy.stripe.com/bJeeVd2Ni0l46EhgfY8Zq00" target="_blank" rel="noreferrer"&gt;Support via Stripe&lt;/a&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;If you like to share this artikel click the icons below.&lt;/p&gt;</description></item></channel></rss>