<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Tags on blog.rymcg.tech</title>
    <link>https://blog.rymcg.tech/tags/</link>
    <description>Recent content in Tags on blog.rymcg.tech</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <managingEditor>ryan-blog@rymcg.tech (EnigmaCurry)</managingEditor>
    <webMaster>ryan-blog@rymcg.tech (EnigmaCurry)</webMaster>
    <copyright>Copyright © 2020-2026, EnigmaCurry</copyright>
    <lastBuildDate>Tue, 14 Apr 2026 00:01:00 -0600</lastBuildDate><atom:link href="https://blog.rymcg.tech/tags/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Audio</title>
      <link>https://blog.rymcg.tech/tags/audio/</link>
      <pubDate>Thu, 09 Apr 2026 12:00:00 -0600</pubDate>
      <author>ryan-blog@rymcg.tech (EnigmaCurry)</author>
      <guid>https://blog.rymcg.tech/tags/audio/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Linux</title>
      <link>https://blog.rymcg.tech/tags/linux/</link>
      <pubDate>Thu, 09 Apr 2026 12:00:00 -0600</pubDate>
      <author>ryan-blog@rymcg.tech (EnigmaCurry)</author>
      <guid>https://blog.rymcg.tech/tags/linux/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Pipewire</title>
      <link>https://blog.rymcg.tech/tags/pipewire/</link>
      <pubDate>Thu, 09 Apr 2026 12:00:00 -0600</pubDate>
      <author>ryan-blog@rymcg.tech (EnigmaCurry)</author>
      <guid>https://blog.rymcg.tech/tags/pipewire/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Artix</title>
      <link>https://blog.rymcg.tech/tags/artix/</link>
      <pubDate>Sun, 05 Apr 2026 00:00:00 -0600</pubDate>
      <author>ryan-blog@rymcg.tech (EnigmaCurry)</author>
      <guid>https://blog.rymcg.tech/tags/artix/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Home-Manager</title>
      <link>https://blog.rymcg.tech/tags/home-manager/</link>
      <pubDate>Sun, 05 Apr 2026 00:00:00 -0600</pubDate>
      <author>ryan-blog@rymcg.tech (EnigmaCurry)</author>
      <guid>https://blog.rymcg.tech/tags/home-manager/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Sway</title>
      <link>https://blog.rymcg.tech/tags/sway/</link>
      <pubDate>Sun, 05 Apr 2026 00:00:00 -0600</pubDate>
      <author>ryan-blog@rymcg.tech (EnigmaCurry)</author>
      <guid>https://blog.rymcg.tech/tags/sway/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Networking</title>
      <link>https://blog.rymcg.tech/tags/networking/</link>
      <pubDate>Thu, 19 Feb 2026 12:00:00 -0600</pubDate>
      <author>ryan-blog@rymcg.tech (EnigmaCurry)</author>
      <guid>https://blog.rymcg.tech/tags/networking/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Git</title>
      <link>https://blog.rymcg.tech/tags/git/</link>
      <pubDate>Sat, 31 Jan 2026 00:00:00 -0600</pubDate>
      <author>ryan-blog@rymcg.tech (EnigmaCurry)</author>
      <guid>https://blog.rymcg.tech/tags/git/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Libvirt</title>
      <link>https://blog.rymcg.tech/tags/libvirt/</link>
      <pubDate>Thu, 29 Jan 2026 00:00:01 -0600</pubDate>
      <author>ryan-blog@rymcg.tech (EnigmaCurry)</author>
      <guid>https://blog.rymcg.tech/tags/libvirt/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Nixos</title>
      <link>https://blog.rymcg.tech/tags/nixos/</link>
      <pubDate>Thu, 29 Jan 2026 00:00:01 -0600</pubDate>
      <author>ryan-blog@rymcg.tech (EnigmaCurry)</author>
      <guid>https://blog.rymcg.tech/tags/nixos/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Traefik</title>
      <link>https://blog.rymcg.tech/tags/traefik/</link>
      <pubDate>Wed, 28 Jan 2026 12:54:00 -0600</pubDate>
      <author>ryan-blog@rymcg.tech (EnigmaCurry)</author>
      <guid>https://blog.rymcg.tech/tags/traefik/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Bash</title>
      <link>https://blog.rymcg.tech/tags/bash/</link>
      <pubDate>Sun, 25 Jan 2026 12:00:00 -0600</pubDate>
      <author>ryan-blog@rymcg.tech (EnigmaCurry)</author>
      <guid>https://blog.rymcg.tech/tags/bash/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Just</title>
      <link>https://blog.rymcg.tech/tags/just/</link>
      <pubDate>Sun, 25 Jan 2026 12:00:00 -0600</pubDate>
      <author>ryan-blog@rymcg.tech (EnigmaCurry)</author>
      <guid>https://blog.rymcg.tech/tags/just/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Docker</title>
      <link>https://blog.rymcg.tech/tags/docker/</link>
      <pubDate>Fri, 23 Jan 2026 23:00:00 -0600</pubDate>
      <author>ryan-blog@rymcg.tech (EnigmaCurry)</author>
      <guid>https://blog.rymcg.tech/tags/docker/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Rclone</title>
      <link>https://blog.rymcg.tech/tags/rclone/</link>
      <pubDate>Sun, 26 Oct 2025 13:54:00 -0600</pubDate>
      <author>ryan-blog@rymcg.tech (EnigmaCurry)</author>
      <guid>https://blog.rymcg.tech/tags/rclone/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Webdav</title>
      <link>https://blog.rymcg.tech/tags/webdav/</link>
      <pubDate>Sun, 26 Oct 2025 13:54:00 -0600</pubDate>
      <author>ryan-blog@rymcg.tech (EnigmaCurry)</author>
      <guid>https://blog.rymcg.tech/tags/webdav/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Ssh</title>
      <link>https://blog.rymcg.tech/tags/ssh/</link>
      <pubDate>Sun, 19 Oct 2025 13:54:00 -0600</pubDate>
      <author>ryan-blog@rymcg.tech (EnigmaCurry)</author>
      <guid>https://blog.rymcg.tech/tags/ssh/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Wireguard</title>
      <link>https://blog.rymcg.tech/tags/wireguard/</link>
      <pubDate>Sun, 20 Apr 2025 23:39:00 -0600</pubDate>
      <author>ryan-blog@rymcg.tech (EnigmaCurry)</author>
      <guid>https://blog.rymcg.tech/tags/wireguard/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Pfsense</title>
      <link>https://blog.rymcg.tech/tags/pfsense/</link>
      <pubDate>Wed, 08 Nov 2023 11:46:03 -0700</pubDate>
      <author>ryan-blog@rymcg.tech (EnigmaCurry)</author>
      <guid>https://blog.rymcg.tech/tags/pfsense/</guid>
      <description></description>
    </item>
    
    <item>
      <title>k3s</title>
      <link>https://blog.rymcg.tech/tags/k3s/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <author>ryan-blog@rymcg.tech (EnigmaCurry)</author>
      <guid>https://blog.rymcg.tech/tags/k3s/</guid>
      <description>&lt;h1 id=&#34;self-hosted-literate-k3s-cluster&#34;&gt;Self-Hosted Literate K3s Cluster&lt;/h1&gt;
&lt;p&gt;This series of blog posts comprises a Literate Programming notebook for the BASH
shell, for the purpose of bootstrapping a self-hosted &lt;a href=&#34;https://www.k3s.io&#34;&gt;K3s&lt;/a&gt;
kubernetes cluster using GitOps (Git+DevOps) principles. &lt;a href=&#34;https://fluxcd.io/&#34;&gt;Flux
(v2)&lt;/a&gt; is a controller that runs on top of kubernetes, that
will synchronize your git repositories, containing all of your kubernetes
manifests (YAML), and automatically apply these changes to your cluster. With
Flux, you can administer all of your infrastructure via pull request!&lt;/p&gt;
&lt;p&gt;Self-hosted means running full-stack, open-source software, on top of commodity
computer hardware or virtual machines, with as little reliance on external
services as feasable. It doesn&amp;rsquo;t mean you &lt;em&gt;have&lt;/em&gt; to run on bare-metal hardware
in your basement, that you built from transistors and Verilog, but it &lt;em&gt;does&lt;/em&gt;
mean that you should be able to do that if you want to! (The example cluster
will keep it simple, and just use a simple DigitalOcean droplet instead. 😉)
Kubernetes is an abstraction that makes the host platform irrelevant, giving you
this freedom back. You can run the same workloads in K3s as you can in any other
enterprise kubernetes host. K3s is easy to install, and runs just about
anywhere, on bare-metal, on virtual machines (droplets), in docker, as well as
several different CPU architectures. However, this blog will only focus on using
the &lt;code&gt;amd64&lt;/code&gt; architecture. &lt;strong&gt;Sorry, Raspberry Pis are NOT tested to work&lt;/strong&gt; with
these instructions.&lt;/p&gt;
&lt;p&gt;In this series, you will learn, and more:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;How to setup your workstation for all development tools. (Tested on Arch
Linux, but should work on any OS with the BASH shell.) Or, how to create a
utility container, with all of the tools inside, and keeping your host system
clean.&lt;/li&gt;
&lt;li&gt;How to create a &lt;a href=&#34;https://www.k3s.io/&#34;&gt;K3s&lt;/a&gt; cluster on generic hardware, or on
DigitalOcean.&lt;/li&gt;
&lt;li&gt;How to host &lt;a href=&#34;https://traefik.io/&#34;&gt;Traefik&lt;/a&gt; (v2) to proxy HTTP and TCP traffic
(Ingress) to your applications, giving you free TLS (https) certificates from
&lt;a href=&#34;https://letsencrypt.org/&#34;&gt;Let&amp;rsquo;s Encrypt&lt;/a&gt; (best option for public websites)
or from your private Certificate Authority via
&lt;a href=&#34;https://smallstep.com/docs/step-ca&#34;&gt;Step-CA&lt;/a&gt; (for private APIs and Mutual
TLS) (Only Step CLI with an offline CA is described thus far [most secure
option], but you could run your own online ACME CA if you want to [but harder
to secure]).&lt;/li&gt;
&lt;li&gt;How to host your own public and private git repositories in
&lt;a href=&#34;https://gitea.io/&#34;&gt;Gitea&lt;/a&gt; (and how to mirror them to GitHub for backup.)&lt;/li&gt;
&lt;li&gt;How to host &lt;a href=&#34;https://fluxcd.io/&#34;&gt;Flux (v2)&lt;/a&gt;, such that your cluster state is
driven by your git repository state. (use &lt;code&gt;git push&lt;/code&gt;, not &lt;code&gt;kubectl apply&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;How to host a private container registry for hosting your own container
images.&lt;/li&gt;
&lt;li&gt;How to host simple applications like Wordpress, and the MySQL database.&lt;/li&gt;
&lt;li&gt;How to create &amp;ldquo;serverless&amp;rdquo; functions with
&lt;a href=&#34;https://www.openfaas.com/&#34;&gt;OpenFaaS&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;How to create a Continuous Integration platform with
&lt;a href=&#34;https://www.drone.io/&#34;&gt;Drone&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This blog uses &lt;a href=&#34;https://en.wikipedia.org/wiki/Literate_programming&#34;&gt;Literate
Programming&lt;/a&gt; concepts. You
just need a web-browser and a BASH terminal. There are literal code blocks for
you to copy and paste into your terminal to reproduce all of the files and
commands necessary for this setup. There is &lt;em&gt;no&lt;/em&gt; additional git repository you
need to clone or fork. The commands you see on this blog are all you need, in
order to create your own self-hosted git repository, from scratch. This will all
be explained in detail in &lt;a href=&#34;https://blog.rymcg.tech/blog/k3s/k3s-01-setup/&#34;&gt;Part 1&lt;/a&gt;.&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;You can discuss this blog on Matrix (Element):&lt;a href=&#34;https://matrix.to/#/#blog-rymcg-tech:enigmacurry.com&#34; &gt; #blog-rymcg-tech:enigmacurry.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This blog is copyright EnigmaCurry and dual-licensed &lt;a href=&#34;https://blog.rymcg.tech/blog/license&#34;&gt;CC-BY-SA and MIT&lt;/a&gt;. The source is on github: &lt;a href=&#34;https://github.com/EnigmaCurry/blog.rymcg.tech&#34;&gt;enigmacurry/blog.rymcg.tech&lt;/a&gt; and PRs are welcome. ❤️&lt;/p&gt;


</description>
    </item>
    
    <item>
      <title>nixos-vm-template</title>
      <link>https://blog.rymcg.tech/tags/nixos-vm-template/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <author>ryan-blog@rymcg.tech (EnigmaCurry)</author>
      <guid>https://blog.rymcg.tech/tags/nixos-vm-template/</guid>
      <description>&lt;h1 id=&#34;nixos-vm-template&#34;&gt;nixos-vm-template&lt;/h1&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/EnigmaCurry/nixos-vm-template&#34;&gt;nixos-vm-template&lt;/a&gt; is a
tool for building and managing NixOS virtual machines with a focus on
immutability and reproducibility. It supports multiple backends (libvirt
for local development, Proxmox for server infrastructure) and provides a
unified interface for creating, upgrading, and managing VMs.&lt;/p&gt;
&lt;p&gt;The core design uses an immutable architecture: a read-only root filesystem
containing the NixOS system, with mutable state isolated on a separate
&lt;code&gt;/var&lt;/code&gt; disk. Multiple VMs can share a single base image through QCOW2
backing files, and upgrades happen by replacing the boot image while
preserving all data. This makes VMs reproducible, easy to roll back, and
resistant to filesystem corruption.&lt;/p&gt;
&lt;p&gt;For cases where you need a fully writable system - NixOS experimentation,
Nix development, or learning - the tool also supports mutable VMs with a
single read-write disk and the full nix toolchain available.&lt;/p&gt;
&lt;p&gt;In &lt;a href=&#34;https://blog.rymcg.tech/blog/linux/code-agent-vm/&#34;&gt;part one: Running code agents in an immutable NixOS
VM&lt;/a&gt;, we set up a development VM on a laptop
using libvirt, configure Claude Code or Open Code inside the VM, and
establish a git-based workflow for testing the agent&amp;rsquo;s work on other
machines. We also cover TRAMP for remote editing with Emacs.&lt;/p&gt;
&lt;p&gt;In &lt;a href=&#34;https://blog.rymcg.tech/blog/linux/nixos-proxmox-vm/&#34;&gt;part two: Bootstrapping a Docker server with immutable NixOS on
Proxmox&lt;/a&gt;, we deploy VMs to a Proxmox server
instead of local libvirt. We walk through the Proxmox backend
configuration, create a Docker server VM, and cover firewall rules,
snapshots, backups, and the identity sync mechanism.&lt;/p&gt;
&lt;p&gt;In &lt;a href=&#34;https://blog.rymcg.tech/blog/linux/mutable-vms/&#34;&gt;part three: Mutable VMs are cool too&lt;/a&gt;, we
introduce mutable VM support for interactive NixOS development. We discuss
the tradeoffs between immutable and mutable architectures, how to create
and upgrade mutable VMs, and when to use each approach.&lt;/p&gt;
&lt;p&gt;In &lt;a href=&#34;https://blog.rymcg.tech/blog/linux/nixos-vm-home-manager/&#34;&gt;part four: Managing VMs with home-manager and
sway-home&lt;/a&gt;, we integrate
nixos-vm-template into a home-manager workflow using sway-home. We cover
the &lt;code&gt;vm&lt;/code&gt; alias, the nix store binding, creating backend-specific aliases
for Proxmox, and disk space reclamation with garbage collection.&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;You can discuss this blog on Matrix (Element):&lt;a href=&#34;https://matrix.to/#/#blog-rymcg-tech:enigmacurry.com&#34; &gt; #blog-rymcg-tech:enigmacurry.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This blog is copyright EnigmaCurry and dual-licensed &lt;a href=&#34;https://blog.rymcg.tech/blog/license&#34;&gt;CC-BY-SA and MIT&lt;/a&gt;. The source is on github: &lt;a href=&#34;https://github.com/EnigmaCurry/blog.rymcg.tech&#34;&gt;enigmacurry/blog.rymcg.tech&lt;/a&gt; and PRs are welcome. ❤️&lt;/p&gt;


</description>
    </item>
    
    <item>
      <title>proxmox</title>
      <link>https://blog.rymcg.tech/tags/proxmox/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <author>ryan-blog@rymcg.tech (EnigmaCurry)</author>
      <guid>https://blog.rymcg.tech/tags/proxmox/</guid>
      <description>&lt;h1 id=&#34;proxmox&#34;&gt;Proxmox&lt;/h1&gt;
&lt;p&gt;&lt;a href=&#34;https://www.proxmox.com/en/proxmox-ve&#34;&gt;Proxmox VE&lt;/a&gt; is an open source
Virtual Machine hypervisor Operating System, built on top of Debian
Linux. It has a fully programmable API, can operate as a cluster, and
can behave as your own self-hosted mini cloud, for compute and
storage. Proxmox excels as an agile research and development
environment, making it easy to create new virtual machines, whenever
you have new ideas to try, or to automate resources as part of a
script. New VMs are auto-configured from
&lt;a href=&#34;https://cloudinit.readthedocs.io/en/latest/&#34;&gt;cloud-init&lt;/a&gt;,
pre-provisioning your SSH keys, making it really feel similar to
creating a Droplet on DigitalOcean, except that it is all running on
your own self-hosted hardware.&lt;/p&gt;
&lt;p&gt;Proxmox is also a good choice for certain production roles: if you
have a relatively small number of very large computers, Proxmox can
help you to &amp;ldquo;carve out&amp;rdquo; the larger machines into smaller VMs. It
should be stressed however, that if you do run all your
docker/kubernetes nodes on the same physical host, you are not
protected from hardware or network failures. Large scale production
scenarios will likely be better served by installing a native
Kubernetes distribution (K3s) onto multiple bare-metal machines,
rather than using Proxmox. However, if you still need to use VMs, you
can still achieve High Availability with Proxmox by installing several
nodes, and forming a cluster.&lt;/p&gt;
&lt;p&gt;Parts 1-3 of this series have recently been re-written. (There was an
older series focusing on a virtual proxmox installation, but I have
moved it to the &lt;a href=&#34;https://blog.rymcg.tech/tags/virtual-proxmox/&#34;&gt;virtual-proxmox&lt;/a&gt; tag, as it
is not useful for the majority of bare-metal proxmox installs.)&lt;/p&gt;
&lt;p&gt;In &lt;a href=&#34;https://blog.rymcg.tech/blog/proxmox/01-install/&#34;&gt;part one: Installation and Setup&lt;/a&gt;, we
discuss the steps to install and configure Proxmox on your own
hardware.&lt;/p&gt;
&lt;p&gt;In &lt;a href=&#34;https://blog.rymcg.tech/blog/proxmox/02-networking/&#34;&gt;part two: Networking&lt;/a&gt;, we discuss
the difference between bridge networking and NAT, and when to use one
over the other. A script to help you setup NAT is included.&lt;/p&gt;
&lt;p&gt;In &lt;a href=&#34;https://blog.rymcg.tech/blog/proxmox/03-notifications/&#34;&gt;part three: Notifications&lt;/a&gt;, we
configure the notification system to send us all server notifications
as an email through our external SMTP server and/or Gotify client.&lt;/p&gt;
&lt;p&gt;In &lt;a href=&#34;https://blog.rymcg.tech/blog/proxmox/04-containers/&#34;&gt;part four: Containers&lt;/a&gt; we discuss
Proxmox support for LXC containers, which are a lightweight
shared-kernel alternative to virtualized machines. Containers offer
quicker start up time and efficient resource utilization. Unlike
Docker containers, LXC containers are stateful and run systemd inside,
and offer the same lifecycle as if it were a VM.&lt;/p&gt;
&lt;p&gt;In &lt;a href=&#34;https://blog.rymcg.tech/blog/proxmox/05-kvm-templates&#34;&gt;part five: KVM and Cloud-Init&lt;/a&gt; we
use a shell script to generate several KVM virtual machine templates
from various distributions, including Arch Linux, Debian, Ubuntu,
Fedora, and even FreeBSD (can&amp;rsquo;t do that one with a container!)&lt;/p&gt;
&lt;p&gt;In &lt;a href=&#34;https://blog.rymcg.tech/blog/proxmox/06-router&#34;&gt;part six: nftables home LAN router&lt;/a&gt; we
build a network router for the home LAN inside a KVM virtual machine using PCI passthrough for a
four port network interface, and install a nftables firewall, dnsmasq
DHCP server, and dnscrypt-proxy DNS server.&lt;/p&gt;
&lt;p&gt;In &lt;a href=&#34;https://blog.rymcg.tech/blog/proxmox/07-proxmox-in-proxmox&#34;&gt;part seven: proxmox in
proxmox&lt;/a&gt; we install a virtual
proxmox inside of a native proxmox host. This is very useful for
testing purposes, where you can add a bunch of virtual disks and play
around with different ZFS pool configurations. Use the snapshot
feature to create restore points, especially helpful when writing
documentation about proxmox itself.&lt;/p&gt;
&lt;p&gt;In &lt;a href=&#34;https://blog.rymcg.tech/blog/proxmox/08-truenas&#34;&gt;part eight: TrueNAS Core&lt;/a&gt; we
install TrueNAS Core as a Network Attached Storage service, useful for
sharing files, and for remounting via NFS to provision other VM disks
on the same proxmox host.&lt;/p&gt;
&lt;p&gt;In &lt;a href=&#34;https://blog.rymcg.tech/blog/proxmox/09-vpc&#34;&gt;part nine: Virtual Private Cloud
(VPC)&lt;/a&gt; we create an isolated private network
where VMs have no direct internet access. A dedicated router VM
running &lt;a href=&#34;https://github.com/EnigmaCurry/nifty-filter&#34;&gt;nifty-filter&lt;/a&gt;
provides the only path to the outside world, giving you full control
over egress traffic.&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;You can discuss this blog on Matrix (Element):&lt;a href=&#34;https://matrix.to/#/#blog-rymcg-tech:enigmacurry.com&#34; &gt; #blog-rymcg-tech:enigmacurry.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This blog is copyright EnigmaCurry and dual-licensed &lt;a href=&#34;https://blog.rymcg.tech/blog/license&#34;&gt;CC-BY-SA and MIT&lt;/a&gt;. The source is on github: &lt;a href=&#34;https://github.com/EnigmaCurry/blog.rymcg.tech&#34;&gt;enigmacurry/blog.rymcg.tech&lt;/a&gt; and PRs are welcome. ❤️&lt;/p&gt;


</description>
    </item>
    
    <item>
      <title>proxmox</title>
      <link>https://blog.rymcg.tech/tags/virtual-proxmox/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <author>ryan-blog@rymcg.tech (EnigmaCurry)</author>
      <guid>https://blog.rymcg.tech/tags/virtual-proxmox/</guid>
      <description>&lt;h1 id=&#34;virtual-proxmox&#34;&gt;Virtual Proxmox&lt;/h1&gt;
&lt;p&gt;Yo dawg, you can run Proxmox inside another virtual machine, through
&lt;em&gt;nested virtualization&lt;/em&gt;. In &lt;a href=&#34;https://blog.rymcg.tech/blog/proxmox/01-virtual-proxmox/&#34;&gt;part one: Virtual
Proxmox&lt;/a&gt;, you will learn how to
install Proxmox on any Linux computer (inside of an existing operating
system). Proxmox itself will be running in a KVM virtual machine. (Or
you can skip this step and install on real hardware.) On top of
Proxmox, you will prepare an Ubuntu VM template, configuring the
default VM size (cpu+memory+storage), and adding your SSH keys for
cloud-init. You can clone new VMs using the template anytime (and
there&amp;rsquo;s a REST API!), thus setting up your first Virtual Proxmox
development cloud. Finally, you will create a small
&lt;a href=&#34;https://k3s.io&#34;&gt;K3s&lt;/a&gt; Kubernetes cluster using two or three of these
nested Proxmox KVM nodes, and you can use this for your local
development environment.&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;You can discuss this blog on Matrix (Element):&lt;a href=&#34;https://matrix.to/#/#blog-rymcg-tech:enigmacurry.com&#34; &gt; #blog-rymcg-tech:enigmacurry.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This blog is copyright EnigmaCurry and dual-licensed &lt;a href=&#34;https://blog.rymcg.tech/blog/license&#34;&gt;CC-BY-SA and MIT&lt;/a&gt;. The source is on github: &lt;a href=&#34;https://github.com/EnigmaCurry/blog.rymcg.tech&#34;&gt;enigmacurry/blog.rymcg.tech&lt;/a&gt; and PRs are welcome. ❤️&lt;/p&gt;


</description>
    </item>
    
  </channel>
</rss>
