diff --git a/404.html b/404.html index deb3e8ba..46da3d01 100644 --- a/404.html +++ b/404.html @@ -17,17 +17,17 @@ 404 Page not found :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/index.html b/index.html index 361b5e30..758fe962 100644 --- a/index.html +++ b/index.html @@ -29,17 +29,17 @@ book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/index.search.js b/index.search.js index 08de8be7..a28bfba5 100644 --- a/index.search.js +++ b/index.search.js @@ -273,7 +273,7 @@ var relearn_search_index = [ }, { "breadcrumb": "book.rymcg.tech \u003e Portable Docker \u003e Set up sentry Droplet", - "content": "You now need to be able to control the sentry’s root user from the Raspberry Pi’s pi user over SSH.\n--- title: The Docker admin controls all Docker servers over SSH including itself --- graph TD; classDef dottedBox stroke-dasharray: 5 5; Workstation[Personal Workstation] --\u003e|admin via SSH| RaspberryPi[Raspberry Pi - Docker admin] RaspberryPi --\u003e|admin self via SSH localhost| RaspberryPi RaspberryPi .-\u003e|admin via SSH| Docker2[Docker 2] RaspberryPi .-\u003e|admin via SSH| Docker3[Docker 3, etc.] RaspberryPi --\u003e|admin via SSH| Sentry[Sentry] class Docker2 dottedBox; class Docker3 dottedBox; Designate a single Docker admin machine You may want to share a single sentry among several Docker servers at various locations, and this is supported, but you should designate only one machine as the main configuration point (Docker admin) for all other contexts. In this example, the Raspberry Pi is the Docker admin who controls all of your Docker servers, including the sentry and itself.\n--- title: A single sentry can proxy for several private Docker servers connected to the same VPN --- graph TD; WebBrowser[\"Web Browser client 1\"] --\u003e|TLS/TCP/UDP from the Internet| Sentry TCPClient[\"TCP client 1\"] --\u003e|TLS/TCP/UDP from the Internet| Sentry[\"Sentry - Public VPS\"] Sentry .-\u003e|Layer 4/7 proxy protocol over Wireguard| Docker2[\"Docker2\"] Sentry --\u003e|Layer 4/7 proxy protocol over Wireguard| RaspberryPi[\"Raspberry Pi - Docker admin\"] Sentry .-\u003e|Layer 4/7 proxy protocol over Wireguard| Docker3[\"Docker3\"] style Docker2 stroke-dasharray: 5, 5 style Docker3 stroke-dasharray: 5, 5 Add the sentry context on the Pi Run this on the Raspberry Pi d.rymcg.tech context new (stdout) ? This command can help create a new SSH config and Docker context. Proceed? (Y/n) y ? You must specify the SSH config entry to use I already have an SSH host entry in ~/.ssh/config that I want to use \u003e I want to make a new SSH host entry in ~/.ssh/config ? Enter the new SSH context name (short host name) : sentry ? Enter the fully qualified SSH Host DNS name : sentry.example.com ## Here is the new SSH config entry: Host sentry Hostname sentry.example.com User root ControlMaster auto ControlPersist yes ControlPath /tmp/ssh-%u-%r@%h:%p ? Do you want to append this config to ~/.ssh/config? (y/N) y ? Do you want to switch to the new sentry context now? (y/N) n You can examine the list of your contexts, which you should have three by now:\nRun this on your Raspberry Pi d.rymcg.tech context list (stdout) NAME DESCRIPTION DOCKER ENDPOINT ERROR default * Current DOCKER_HOST based configuration unix:///var/run/docker.sock localhost ssh://localhost sentry Created by 'd.rymcg.tech context new' ssh://sentry default is the default context created by Docker itself when it is installed. This context is not used by this configuration. localhost is the SSH context of the sworkstation over localhost. This is the main context this configuration uses to configure your applications. sentry is the SSH context of the sentry server, entirely remote controlled from the Pi. Tip The * next to the default context indicates the current context of the docker command. But since you will be using the context aliases pi and sentry, you won’t be using the docker command directly, so the * can be ignored.\nTest the connection from the Pi to the sentry Run this on the Raspberry Pi ssh sentry whoami The first time you connect, you must confirm the host fingerprint (type yes):\n(stdout) The authenticity of host 'sentry' can't be established. ED25519 key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Are you sure you want to continue connecting (yes/no/[fingerprint])? yes On the final line, it will print the output of the command you requested, which should print the username root :\n(stdout) root Create a new Docker context for the sentry Run this on the Raspberry Pi d context new (stdout) ? This command can help create a new SSH config and Docker context. Proceed? (Y/n) y ? You must specify the SSH config entry to use \u003e I already have an SSH host entry in ~/.ssh/config that I want to use I want to make a new SSH host entry in ~/.ssh/config ? Choose an existing SSH Host config pi \u003e sentry \u003e Do you want to switch to the new sentry context now? Yes Install Docker on the sentry Run this on the Raspberry Pi sentry install-docker (stdout) ? This will install Docker on the host of your remote Docker context.. Proceed? Yes Test the docker context is functional Run this on the Raspberry Pi d tmp-context sentry docker info | grep Context (stdout) Context: sentry Switch between Docker contexts You should now have two configured Docker contexts on your Pi:\npi sentry You can switch between these two contexts using d context. The currently selected context specifies which Docker server is currently being operated on.\nConfigure Fail2Ban Fail2Ban scans log files and temporarily bans IP addresses that have too many authentication attempts. Fail2Ban can be configured to monitor the host SSH server and the Traefik access log, each with configurable rules.\nConfigure Fail2Ban via the root context env file:\nRun this on your Raspberry Pi ## Save config in $HOME/git/vendor/enigmacurry/d.rymcg.tech/.env_$CONTEXT sentry reconfigure var=FAIL2BAN_ENABLED=true sentry reconfigure var=FAIL2BAN_IGNORE_IP= sentry reconfigure var=FAIL2BAN_SSHD_ENABLED=true sentry reconfigure var=FAIL2BAN_SSHD_MAX_RETRY=2 sentry reconfigure var=FAIL2BAN_SSHD_BAN_TIME=10m sentry reconfigure var=FAIL2BAN_SSHD_FIND_TIME=10m sentry reconfigure var=FAIL2BAN_SSHD_ALLOW_IPV6=true sentry reconfigure var=FAIL2BAN_TRAEFIK_ACCESS_ENABLED=true sentry reconfigure var=FAIL2BAN_TRAEFIK_ACCESS_ERROR_LIST=400,403,405,407,429,431 sentry reconfigure var=FAIL2BAN_TRAEFIK_ACCESS_MAX_RETRY=5 sentry reconfigure var=FAIL2BAN_TRAEFIK_ACCESS_BAN_TIME=10m sentry reconfigure var=FAIL2BAN_TRAEFIK_ACCESS_FIND_TIME=10m sentry reconfigure var=FAIL2BAN_TRAEFIK_ACCESS_ALLOW_IPV6=true If you want to make sure your personal IP address does not get banned, add it to the default ignore list:\nRun this on your Raspberry Pi sentry reconfigure var=FAIL2BAN_IGNORE_IP=$(curl ifconfig.me)/32 Tip The IP ranges for localhost (127.0.0.1/8) and the Traefik wireguard VPN (by default 10.13.16.0/24) are added to this ignore list automatically. You don’t need to add these ones yourself.\nRe-install Fail2Ban:\nRun this on your Raspberry Pi sentry fail2ban (stdout) ? This will ENABLE and reset Fail2Ban using your config for context sentry. Proceed? (Y/n) y ? The Traefik access log must be enabled.. Proceed? (Y/n) y ", + "content": "You now need to be able to control the sentry’s root user from the Raspberry Pi’s pi user over SSH.\n--- title: The Docker admin controls all Docker servers over SSH including itself --- graph TD; classDef dottedBox stroke-dasharray: 5 5; Workstation[Personal Workstation] --\u003e|admin via SSH| RaspberryPi[Raspberry Pi - Docker admin] RaspberryPi --\u003e|admin self via SSH localhost| RaspberryPi RaspberryPi .-\u003e|admin via SSH| Docker2[Docker 2] RaspberryPi .-\u003e|admin via SSH| Docker3[Docker 3, etc.] RaspberryPi --\u003e|admin via SSH| Sentry[Sentry] class Docker2 dottedBox; class Docker3 dottedBox; Designate a single Docker admin machine You may want to share a single sentry among several Docker servers at various locations, and this is supported, but you should designate only one machine as the main configuration point (Docker admin) for all other contexts. In this example, the Raspberry Pi is the Docker admin who controls all of your Docker servers, including the sentry and itself.\n--- title: A single sentry can proxy for several private Docker servers connected to the same VPN --- graph TD; WebBrowser[\"Web Browser client 1\"] --\u003e|TLS/TCP/UDP from the Internet| Sentry TCPClient[\"TCP client 1\"] --\u003e|TLS/TCP/UDP from the Internet| Sentry[\"Sentry - Public VPS\"] Sentry .-\u003e|Layer 4/7 proxy protocol over Wireguard| Docker2[\"Docker2\"] Sentry --\u003e|Layer 4/7 proxy protocol over Wireguard| RaspberryPi[\"Raspberry Pi - Docker admin\"] Sentry .-\u003e|Layer 4/7 proxy protocol over Wireguard| Docker3[\"Docker3\"] style Docker2 stroke-dasharray: 5, 5 style Docker3 stroke-dasharray: 5, 5 Add the sentry context on the Pi Run this on the Raspberry Pi d.rymcg.tech context new (stdout) ? This command can help create a new SSH config and Docker context. Proceed? (Y/n) y ? You must specify the SSH config entry to use I already have an SSH host entry in ~/.ssh/config that I want to use \u003e I want to make a new SSH host entry in ~/.ssh/config ? Enter the new SSH context name (short host name) : sentry ? Enter the fully qualified SSH Host DNS name : sentry.example.com ## Here is the new SSH config entry: Host sentry Hostname sentry.example.com User root ControlMaster auto ControlPersist yes ControlPath /tmp/ssh-%u-%r@%h:%p ? Do you want to append this config to ~/.ssh/config? (y/N) y ? Do you want to switch to the new sentry context now? (y/N) n You can examine the list of your contexts, which you should have three by now:\nRun this on your Raspberry Pi d.rymcg.tech context list (stdout) NAME DESCRIPTION DOCKER ENDPOINT ERROR default * Current DOCKER_HOST based configuration unix:///var/run/docker.sock localhost ssh://localhost sentry Created by 'd.rymcg.tech context new' ssh://sentry default is the default context created by Docker itself when it is installed. This context is not used by this configuration. localhost is the SSH context of the sworkstation over localhost. This is the main context this configuration uses to configure your applications. sentry is the SSH context of the sentry server, entirely remote controlled from the Pi. Tip The * next to the default context indicates the current context of the docker command. But since you will be using the context aliases pi and sentry, you won’t be using the docker command directly, so the * can be ignored.\nTest the connection from the Pi to the sentry Run this on the Raspberry Pi ssh sentry whoami The first time you connect, you must confirm the host fingerprint (type yes):\n(stdout) The authenticity of host 'sentry' can't be established. ED25519 key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Are you sure you want to continue connecting (yes/no/[fingerprint])? yes On the final line, it will print the output of the command you requested, which should print the username root :\n(stdout) root Create a new Docker context for the sentry Run this on the Raspberry Pi d context new (stdout) ? This command can help create a new SSH config and Docker context. Proceed? (Y/n) y ? You must specify the SSH config entry to use \u003e I already have an SSH host entry in ~/.ssh/config that I want to use I want to make a new SSH host entry in ~/.ssh/config ? Choose an existing SSH Host config pi \u003e sentry \u003e Do you want to switch to the new sentry context now? Yes Install Docker on the sentry Run this on the Raspberry Pi sentry install-docker (stdout) ? This will install Docker on the host of your remote Docker context.. Proceed? Yes Test the docker context is functional Run this on the Raspberry Pi d tmp-context sentry docker info | grep Context (stdout) Context: sentry Switch between Docker contexts You should now have two configured Docker contexts on your Pi:\npi sentry You can switch between these two contexts using d context. The currently selected context specifies which Docker server is currently being operated on.\nConfigure Fail2Ban Fail2Ban scans log files and temporarily bans IP addresses that have too many authentication attempts. Fail2Ban can be configured to monitor the host SSH server and the Traefik access log, each with configurable rules.\nConfigure Fail2Ban via the root context env file:\nRun this on your Raspberry Pi ## Save config in $HOME/git/vendor/enigmacurry/d.rymcg.tech/.env_$CONTEXT sentry reconfigure var=FAIL2BAN_ENABLED=true sentry reconfigure var=FAIL2BAN_IGNORE_IP= sentry reconfigure var=FAIL2BAN_SSHD_ENABLED=true sentry reconfigure var=FAIL2BAN_SSHD_MAX_RETRY=2 sentry reconfigure var=FAIL2BAN_SSHD_BAN_TIME=10m sentry reconfigure var=FAIL2BAN_SSHD_FIND_TIME=10m sentry reconfigure var=FAIL2BAN_SSHD_ALLOW_IPV6=true sentry reconfigure var=FAIL2BAN_TRAEFIK_ACCESS_ENABLED=true sentry reconfigure var=FAIL2BAN_TRAEFIK_ACCESS_ERROR_LIST=400,403,405,407,429,431 sentry reconfigure var=FAIL2BAN_TRAEFIK_ACCESS_MAX_RETRY=5 sentry reconfigure var=FAIL2BAN_TRAEFIK_ACCESS_BAN_TIME=10m sentry reconfigure var=FAIL2BAN_TRAEFIK_ACCESS_FIND_TIME=10m sentry reconfigure var=FAIL2BAN_TRAEFIK_ACCESS_ALLOW_IPV6=true If you want to make sure your current IP address does not get banned, add it to the default ignore list:\nRun this on your Raspberry Pi sentry reconfigure var=FAIL2BAN_IGNORE_IP=$(curl ifconfig.me)/32 Tip The IP ranges for localhost (127.0.0.1/8) and the Traefik wireguard VPN (by default 10.13.16.0/24) are added to this ignore list automatically. You don’t need to add these ones yourself.\nRe-install Fail2Ban:\nRun this on your Raspberry Pi sentry fail2ban (stdout) ? This will ENABLE and reset Fail2Ban using your config for context sentry. Proceed? (Y/n) y ? The Traefik access log must be enabled.. Proceed? (Y/n) y ", "description": "You now need to be able to control the sentry’s root user from the Raspberry Pi’s pi user over SSH.\n--- title: The Docker admin controls all Docker servers over SSH including itself --- graph TD; classDef dottedBox stroke-dasharray: 5 5; Workstation[Personal Workstation] --\u003e|admin via SSH| RaspberryPi[Raspberry Pi - Docker admin] RaspberryPi --\u003e|admin self via SSH localhost| RaspberryPi RaspberryPi .-\u003e|admin via SSH| Docker2[Docker 2] RaspberryPi .-\u003e|admin via SSH| Docker3[Docker 3, etc.", "tags": [], "title": "Configure the sentry context on the Pi", diff --git a/license/index.html b/license/index.html index cf94a376..0cd0ac23 100644 --- a/license/index.html +++ b/license/index.html @@ -33,17 +33,17 @@ LICENSE :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/app-users/digitalocean/index.html b/linux-workstation/app-users/digitalocean/index.html index 8e7c90ae..2f056a1f 100644 --- a/linux-workstation/app-users/digitalocean/index.html +++ b/linux-workstation/app-users/digitalocean/index.html @@ -29,17 +29,17 @@ DigitalOcean CLI (doctl) :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/app-users/index.html b/linux-workstation/app-users/index.html index 975e31aa..5969e49d 100644 --- a/linux-workstation/app-users/index.html +++ b/linux-workstation/app-users/index.html @@ -29,17 +29,17 @@ Application users :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/config/emacs-on-fedora/index.html b/linux-workstation/config/emacs-on-fedora/index.html index b712e035..2b99d9c5 100644 --- a/linux-workstation/config/emacs-on-fedora/index.html +++ b/linux-workstation/config/emacs-on-fedora/index.html @@ -25,17 +25,17 @@ Install Emacs Because Sway runs on Wayland, you’ll want to install the Wayland (pgtk) version of Emacs. In Fedora 40 onwards, the Wayland (pgtk) version is already the default. For Fedora 39, you can use this COPR (a COPR is to Fedora what PPA is to Ubuntu and what AUR is to Arch Linux), which includes a custom build for Wayland (pgtk)."> Emacs :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/config/firefox/index.html b/linux-workstation/config/firefox/index.html index 4d384d69..95b7e37b 100644 --- a/linux-workstation/config/firefox/index.html +++ b/linux-workstation/config/firefox/index.html @@ -25,17 +25,17 @@ Remove clutter Remove Firefox View, right click the upper left icon and select Remove from toolbar. Remove existing bookmarks from bookmark bar, right click each one and select Delete. Remove Pocket, right click the pocket icon in the upper right toolbar, select Remove from toolbar Remove Firefox Account icon, select Remove from toolbar Firefox Settings Go into the Firefox settings: click the “hamburger” menu in the top right toolbar."> Firefox :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/config/index.html b/linux-workstation/config/index.html index 66299e30..5359f55f 100644 --- a/linux-workstation/config/index.html +++ b/linux-workstation/config/index.html @@ -21,17 +21,17 @@ Config :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/config/ssh/index.html b/linux-workstation/config/ssh/index.html index 2ae1b5a3..1a6f6f35 100644 --- a/linux-workstation/config/ssh/index.html +++ b/linux-workstation/config/ssh/index.html @@ -25,17 +25,17 @@ Access to a server’s console shell, remotely. Transfer files between the server and client (using rsync, scp, or sftp). Create network tunnels to access private servers, in both directions, either on the server, or on the client."> SSH :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/config/sway/index.html b/linux-workstation/config/sway/index.html index 7f9a47e4..2f848f31 100644 --- a/linux-workstation/config/sway/index.html +++ b/linux-workstation/config/sway/index.html @@ -25,17 +25,17 @@ Sway Config The Fedora Atomic Sway edition includes a default configuration for Sway. It’s pretty nice out of the box, and so if you like it, you can just use it."> Sway :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/config/toolbox/index.html b/linux-workstation/config/toolbox/index.html index c17ae551..933c2208 100644 --- a/linux-workstation/config/toolbox/index.html +++ b/linux-workstation/config/toolbox/index.html @@ -21,17 +21,17 @@ Toolbox :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/firewall/index.html b/linux-workstation/firewall/index.html index 98d2313b..f5c3914a 100644 --- a/linux-workstation/firewall/index.html +++ b/linux-workstation/firewall/index.html @@ -29,17 +29,17 @@ Don’t mess with it Warning Fedora Atomic installs a good default zone for workstation use, named public."> Firewall :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/index.html b/linux-workstation/index.html index 17cd672e..f6eb4b1e 100644 --- a/linux-workstation/index.html +++ b/linux-workstation/index.html @@ -25,17 +25,17 @@ Linux Workstation :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/install/index.html b/linux-workstation/install/index.html index 3e6dde3e..3d123cdc 100644 --- a/linux-workstation/install/index.html +++ b/linux-workstation/install/index.html @@ -29,17 +29,17 @@ [bash]: Run this on your workstation: lsblk | grep disk (stdout) NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 1."> Install Linux (Fedora Atomic) :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/introduction/fedora-sway-atomic/index.html b/linux-workstation/introduction/fedora-sway-atomic/index.html index f33db64a..16eb62d2 100644 --- a/linux-workstation/introduction/fedora-sway-atomic/index.html +++ b/linux-workstation/introduction/fedora-sway-atomic/index.html @@ -29,17 +29,17 @@ Sway is a minimal tiling window manager for Wayland. It is ideal for efficient keyboard centric development and for getting out of your way."> Fedora Sway Atomic :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/introduction/index.html b/linux-workstation/introduction/index.html index 5c058301..0810315b 100644 --- a/linux-workstation/introduction/index.html +++ b/linux-workstation/introduction/index.html @@ -25,17 +25,17 @@ Introduction :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/introduction/requirements/index.html b/linux-workstation/introduction/requirements/index.html index aa50cd19..64402077 100644 --- a/linux-workstation/introduction/requirements/index.html +++ b/linux-workstation/introduction/requirements/index.html @@ -25,17 +25,17 @@ An x86_64 desktop or laptop computer to install to. A USB drive for copying the .iso installer to. A solokey or other FIDO2 compatible hardware authentication key. (This is optional, but highly recommended for storing secure shell keys, sudo 2FA, and logging into websites with Webauthn.) "> Requirements :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/kvm-libvirt/cloud-init/config-vm/index.html b/linux-workstation/kvm-libvirt/cloud-init/config-vm/index.html index b3cf2832..1cd6d555 100644 --- a/linux-workstation/kvm-libvirt/cloud-init/config-vm/index.html +++ b/linux-workstation/kvm-libvirt/cloud-init/config-vm/index.html @@ -33,17 +33,17 @@ Fedora 40 [bash]: Set temporary environment variables OS_VARIANT=fedora40 CLOUD_IMAGE=https://download."> Configure VM (cloud-init) :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/kvm-libvirt/cloud-init/create-vm/index.html b/linux-workstation/kvm-libvirt/cloud-init/create-vm/index.html index ebfe0812..de7b7c40 100644 --- a/linux-workstation/kvm-libvirt/cloud-init/create-vm/index.html +++ b/linux-workstation/kvm-libvirt/cloud-init/create-vm/index.html @@ -21,17 +21,17 @@ Create VM (cloud-init) :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/kvm-libvirt/cloud-init/index.html b/linux-workstation/kvm-libvirt/cloud-init/index.html index 2b7cac59..8b7241e0 100644 --- a/linux-workstation/kvm-libvirt/cloud-init/index.html +++ b/linux-workstation/kvm-libvirt/cloud-init/index.html @@ -21,17 +21,17 @@ Cloud-Init VMs :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/kvm-libvirt/dedicated-vm-user/index.html b/linux-workstation/kvm-libvirt/dedicated-vm-user/index.html index 2e19137d..8cda1d4e 100644 --- a/linux-workstation/kvm-libvirt/dedicated-vm-user/index.html +++ b/linux-workstation/kvm-libvirt/dedicated-vm-user/index.html @@ -25,17 +25,17 @@ This separation from the normal account you use is important to limit the privileges that you have over the VM infrastructure. Your normal account should be able to SSH into the VM and have full root privleges inside the VM."> Create VM admin :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/kvm-libvirt/index.html b/linux-workstation/kvm-libvirt/index.html index cf9cf093..b5731e90 100644 --- a/linux-workstation/kvm-libvirt/index.html +++ b/linux-workstation/kvm-libvirt/index.html @@ -25,17 +25,17 @@ KVM / libvirt :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/kvm-libvirt/install-libvirtd/index.html b/linux-workstation/kvm-libvirt/install-libvirtd/index.html index 86cad3cd..3b803af6 100644 --- a/linux-workstation/kvm-libvirt/install-libvirtd/index.html +++ b/linux-workstation/kvm-libvirt/install-libvirtd/index.html @@ -29,17 +29,17 @@ Packages for Fedora CoreOS [bash]: Run this on your workstation: sudo rpm-ostree install qemu-kvm libvirt virt-manager virt-viewer \ virt-install libvirt-daemon-config-network libvirt-daemon-kvm \ libguestfs-tools python3-libguestfs virt-top distrobox make Packages for traditional Fedora Workstation hosts Info These are the packages you would need to install on traditional Fedora Workstation (or Server, but not CoreOS nor Atomic hosts)"> Install libvirtd :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/kvm-libvirt/public-routes/index.html b/linux-workstation/kvm-libvirt/public-routes/index.html index 9dc94125..cdd0f522 100644 --- a/linux-workstation/kvm-libvirt/public-routes/index.html +++ b/linux-workstation/kvm-libvirt/public-routes/index.html @@ -29,17 +29,17 @@ Download the port-forwarding hook [bash]: Run this on your workstation: sudo mkdir -p /usr/local/src/ sudo su -c ""> Public routes to VMs :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/kvm-libvirt/raw-disk/config/index.html b/linux-workstation/kvm-libvirt/raw-disk/config/index.html index e56d77ad..0a621838 100644 --- a/linux-workstation/kvm-libvirt/raw-disk/config/index.html +++ b/linux-workstation/kvm-libvirt/raw-disk/config/index.html @@ -21,17 +21,17 @@ Configure VM (raw disk) :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/kvm-libvirt/raw-disk/create-vm/index.html b/linux-workstation/kvm-libvirt/raw-disk/create-vm/index.html index edf83d5f..fa328bab 100644 --- a/linux-workstation/kvm-libvirt/raw-disk/create-vm/index.html +++ b/linux-workstation/kvm-libvirt/raw-disk/create-vm/index.html @@ -33,17 +33,17 @@ Run this as the libvirt-admin user NAME=fedora-iot source ~/libvirt/${NAME}.env Create directories to hold the VM disks and config files: Run this as the libvirt-admin user mkdir -p ~/libvirt/{cloud-images,raw,disks,cloud-init,iso} Download the raw disk: Tip You only need to download each RAW_DISK once, they will be cached in ~/libvirt/raw, so they can be be reused."> Create VM (raw disk) :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/kvm-libvirt/raw-disk/index.html b/linux-workstation/kvm-libvirt/raw-disk/index.html index cb961e14..b9b4d466 100644 --- a/linux-workstation/kvm-libvirt/raw-disk/index.html +++ b/linux-workstation/kvm-libvirt/raw-disk/index.html @@ -25,17 +25,17 @@ Raw disk VMs :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/kvm-libvirt/setup-libvirtd/index.html b/linux-workstation/kvm-libvirt/setup-libvirtd/index.html index 0d935ed3..734e778d 100644 --- a/linux-workstation/kvm-libvirt/setup-libvirtd/index.html +++ b/linux-workstation/kvm-libvirt/setup-libvirtd/index.html @@ -21,17 +21,17 @@ Setup libvirtd :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + + diff --git a/linux-workstation/kvm-libvirt/setup-workstation/index.html b/linux-workstation/kvm-libvirt/setup-workstation/index.html index af31f2a9..908429c4 100644 --- a/linux-workstation/kvm-libvirt/setup-workstation/index.html +++ b/linux-workstation/kvm-libvirt/setup-workstation/index.html @@ -37,17 +37,17 @@ [bash]: Run this on your workstation: ssh debian-dev whoami (stdout) root Install Docker You’re now ready to use your VM as an install target for whatever you want."> Setup workstation SSH config :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/kvm-libvirt/systemd/index.html b/linux-workstation/kvm-libvirt/systemd/index.html index e7461adf..d5a2d560 100644 --- a/linux-workstation/kvm-libvirt/systemd/index.html +++ b/linux-workstation/kvm-libvirt/systemd/index.html @@ -29,17 +29,17 @@ Download libvirt python interface Tip You should now be in your normal workstation account Bash shell."> Systemd services to control VMs :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/kvm-libvirt/vm-from-iso/bootstrap-coreos/index.html b/linux-workstation/kvm-libvirt/vm-from-iso/bootstrap-coreos/index.html index f665ba3a..74597796 100644 --- a/linux-workstation/kvm-libvirt/vm-from-iso/bootstrap-coreos/index.html +++ b/linux-workstation/kvm-libvirt/vm-from-iso/bootstrap-coreos/index.html @@ -29,17 +29,17 @@ SSH into Live environment From your normal workstation account, connect to the SSH server of the Fedora Live environment:"> Bootstrap CoreOS :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/kvm-libvirt/vm-from-iso/configure-vm/index.html b/linux-workstation/kvm-libvirt/vm-from-iso/configure-vm/index.html index 7f5747ea..7309255b 100644 --- a/linux-workstation/kvm-libvirt/vm-from-iso/configure-vm/index.html +++ b/linux-workstation/kvm-libvirt/vm-from-iso/configure-vm/index.html @@ -21,17 +21,17 @@ Configure VM with .iso boot :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/kvm-libvirt/vm-from-iso/index.html b/linux-workstation/kvm-libvirt/vm-from-iso/index.html index 169ec3f2..6ccd60e5 100644 --- a/linux-workstation/kvm-libvirt/vm-from-iso/index.html +++ b/linux-workstation/kvm-libvirt/vm-from-iso/index.html @@ -25,17 +25,17 @@ Create VM from .iso image :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/kvm-libvirt/vm-from-iso/install-vm/index.html b/linux-workstation/kvm-libvirt/vm-from-iso/install-vm/index.html index 696ca549..3f337a20 100644 --- a/linux-workstation/kvm-libvirt/vm-from-iso/install-vm/index.html +++ b/linux-workstation/kvm-libvirt/vm-from-iso/install-vm/index.html @@ -29,17 +29,17 @@ [bash]: Run this on your workstation: xhost +local:libvirt-admin sudo -u libvirt-admin /bin/bash Tip The xhost line is to allow graphical apps (virt-viewer) from the other user appear on your display. You may need to play with xhost a few times to get it to work."> Boot VM from .iso :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/layering-packages/index.html b/linux-workstation/layering-packages/index.html index a8046ead..0c544e2e 100644 --- a/linux-workstation/layering-packages/index.html +++ b/linux-workstation/layering-packages/index.html @@ -29,17 +29,17 @@ Layer packages with rpm-ostree To create efficient layers, and to lessen the burden of several reboots, you should try to install everything in one go, using as few layers as possible."> Layering packages :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/sudo-2fa/get-your-solokey/index.html b/linux-workstation/sudo-2fa/get-your-solokey/index.html index ca25cfb9..c4ae05cd 100644 --- a/linux-workstation/sudo-2fa/get-your-solokey/index.html +++ b/linux-workstation/sudo-2fa/get-your-solokey/index.html @@ -29,17 +29,17 @@ Recommended: Solo 2 USB-A (touch capacitive, but its long and sticks out of the USB port). Recommended: Solo 1 Tap USB-A (durable clicky button, but its long and sticks out of the USB port). Recommended: Somu (semi-permanent flush mount USB-A port, soft touch design). Get the “secure” version, don’t buy the “hacker” version. Buy at least two (and store one as a backup)."> Get your Solokey :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/sudo-2fa/index.html b/linux-workstation/sudo-2fa/index.html index ed81beeb..ae49f033 100644 --- a/linux-workstation/sudo-2fa/index.html +++ b/linux-workstation/sudo-2fa/index.html @@ -29,17 +29,17 @@ Solokey authentication :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/sudo-2fa/solo-v1/index.html b/linux-workstation/sudo-2fa/solo-v1/index.html index 62be55aa..08d3f871 100644 --- a/linux-workstation/sudo-2fa/solo-v1/index.html +++ b/linux-workstation/sudo-2fa/solo-v1/index.html @@ -25,17 +25,17 @@ https://github.com/solokeys/solo1-cli/issues/151 https://github.com/solokeys/solo1-cli/discussions/156 Both of these are related to Fido2 v1.0.0. If you lock the version to the last known good version of 0.9.1, it will work:"> Solokey v1 :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/sudo-2fa/solo-v2/index.html b/linux-workstation/sudo-2fa/solo-v2/index.html index 0bac4890..5bcaaf9a 100644 --- a/linux-workstation/sudo-2fa/solo-v2/index.html +++ b/linux-workstation/sudo-2fa/solo-v2/index.html @@ -37,17 +37,17 @@ Solokey v2 :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/sudo-2fa/ssh-2fa/index.html b/linux-workstation/sudo-2fa/ssh-2fa/index.html index c74d11e5..30fa8461 100644 --- a/linux-workstation/sudo-2fa/ssh-2fa/index.html +++ b/linux-workstation/sudo-2fa/ssh-2fa/index.html @@ -21,17 +21,17 @@ SSH with Solokey :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/sudo-2fa/sudo-2fa/index.html b/linux-workstation/sudo-2fa/sudo-2fa/index.html index 14f6895f..01e7842d 100644 --- a/linux-workstation/sudo-2fa/sudo-2fa/index.html +++ b/linux-workstation/sudo-2fa/sudo-2fa/index.html @@ -21,17 +21,17 @@ Sudo with Solokey :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/linux-workstation/upgrading/index.html b/linux-workstation/upgrading/index.html index f052d9a4..71cd952a 100644 --- a/linux-workstation/upgrading/index.html +++ b/linux-workstation/upgrading/index.html @@ -33,17 +33,17 @@ [bash]: Run this on your workstation: sudo systemctl reboot The boot manager lists the last several images, which are still available to choose from."> Upgrading :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/acknowledgements/index.html b/portable-docker/acknowledgements/index.html index 84d5d203..21a8e532 100644 --- a/portable-docker/acknowledgements/index.html +++ b/portable-docker/acknowledgements/index.html @@ -29,17 +29,17 @@ Thank you to DALL-E for drawing the illustrations. We forgive any misspellings and hallucinations."> Acknowledgements :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/appendix/index.html b/portable-docker/appendix/index.html index 1fb8e228..4d95dc48 100644 --- a/portable-docker/appendix/index.html +++ b/portable-docker/appendix/index.html @@ -21,17 +21,17 @@ Appendix :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/appendix/manual-installation/index.html b/portable-docker/appendix/manual-installation/index.html index 05a54646..bef23ada 100644 --- a/portable-docker/appendix/manual-installation/index.html +++ b/portable-docker/appendix/manual-installation/index.html @@ -33,17 +33,17 @@ Manual installation :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/appendix/manual-installation/install-d-rymcg-tech/index.html b/portable-docker/appendix/manual-installation/install-d-rymcg-tech/index.html index 0983ad83..a7fa3f5c 100644 --- a/portable-docker/appendix/manual-installation/install-d-rymcg-tech/index.html +++ b/portable-docker/appendix/manual-installation/install-d-rymcg-tech/index.html @@ -21,17 +21,17 @@ Install d.rymcg.tech :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/appendix/manual-installation/install-docker/index.html b/portable-docker/appendix/manual-installation/install-docker/index.html index e9567d37..3c28f710 100644 --- a/portable-docker/appendix/manual-installation/install-docker/index.html +++ b/portable-docker/appendix/manual-installation/install-docker/index.html @@ -29,17 +29,17 @@ On the pi, install docker: Run this on the Raspberry Pi curl -sSL https://get.docker.com | sh Test that docker is working: Run this on the Raspberry Pi sudo docker run hello-world If it’s working, you should see a Hello from Docker! message and some other help info. Tip Normally, you shouldn’t use sudo docker."> Install Docker :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/appendix/manual-installation/set-up-ssh/index.html b/portable-docker/appendix/manual-installation/set-up-ssh/index.html index 44a7e9d2..2db6b45c 100644 --- a/portable-docker/appendix/manual-installation/set-up-ssh/index.html +++ b/portable-docker/appendix/manual-installation/set-up-ssh/index.html @@ -29,17 +29,17 @@ graph LR; subgraph Raspberry Pi pi[User: pi] root[User: root] pi -->|Docker SSH context to root@localhost| root end RemoteComputer[Personal Workstation] -->|ssh pi@pi| pi Docker == root == pi SSH is used here almost like sudo."> Set up SSH :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + - + diff --git a/portable-docker/appendix/mutual-tls-for-web-and-mobile/index.html b/portable-docker/appendix/mutual-tls-for-web-and-mobile/index.html index 9199f44c..c79dbd9d 100644 --- a/portable-docker/appendix/mutual-tls-for-web-and-mobile/index.html +++ b/portable-docker/appendix/mutual-tls-for-web-and-mobile/index.html @@ -21,17 +21,17 @@ Mutual TLS for Web and Mobile :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/appendix/private-acme/index.html b/portable-docker/appendix/private-acme/index.html index 31fd905c..73734fd6 100644 --- a/portable-docker/appendix/private-acme/index.html +++ b/portable-docker/appendix/private-acme/index.html @@ -21,17 +21,17 @@ Private ACME :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/appendix/traefik-config-menu/index.html b/portable-docker/appendix/traefik-config-menu/index.html index 6a2170f8..1acd2413 100644 --- a/portable-docker/appendix/traefik-config-menu/index.html +++ b/portable-docker/appendix/traefik-config-menu/index.html @@ -33,17 +33,17 @@ Traefik config menu :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/configure-wireguard-tunnel/configure-raspberry-pi-wireguard-client/index.html b/portable-docker/configure-wireguard-tunnel/configure-raspberry-pi-wireguard-client/index.html index 8c151b4b..8bc2aa10 100644 --- a/portable-docker/configure-wireguard-tunnel/configure-raspberry-pi-wireguard-client/index.html +++ b/portable-docker/configure-wireguard-tunnel/configure-raspberry-pi-wireguard-client/index.html @@ -21,17 +21,17 @@ Configure Raspberry Pi WireGuard client :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/configure-wireguard-tunnel/configure-sentry-wireguard-server/index.html b/portable-docker/configure-wireguard-tunnel/configure-sentry-wireguard-server/index.html index a5ac73e4..7769febd 100644 --- a/portable-docker/configure-wireguard-tunnel/configure-sentry-wireguard-server/index.html +++ b/portable-docker/configure-wireguard-tunnel/configure-sentry-wireguard-server/index.html @@ -21,17 +21,17 @@ Configure sentry wireguard server :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/configure-wireguard-tunnel/index.html b/portable-docker/configure-wireguard-tunnel/index.html index d4fdf76e..11598993 100644 --- a/portable-docker/configure-wireguard-tunnel/index.html +++ b/portable-docker/configure-wireguard-tunnel/index.html @@ -29,17 +29,17 @@ Configure WireGuard VPN :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + - + diff --git a/portable-docker/index.html b/portable-docker/index.html index a4a1791a..e01fde08 100644 --- a/portable-docker/index.html +++ b/portable-docker/index.html @@ -29,17 +29,17 @@ Portable Docker: Build and Deploy Anywhere with WireGuard Tunneling :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/install-core-services/docker-registry/index.html b/portable-docker/install-core-services/docker-registry/index.html index 73fed8bb..8ac42bcc 100644 --- a/portable-docker/install-core-services/docker-registry/index.html +++ b/portable-docker/install-core-services/docker-registry/index.html @@ -25,17 +25,17 @@ If you only have one Docker server, running a registry might be kind of pointless. But you may want to run it for any of these reasons:"> Docker Registry :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/install-core-services/forgejo/index.html b/portable-docker/install-core-services/forgejo/index.html index 9d01d3c8..8cfdbd01 100644 --- a/portable-docker/install-core-services/forgejo/index.html +++ b/portable-docker/install-core-services/forgejo/index.html @@ -29,17 +29,17 @@ Self-hosting your own git repositories. Providing an OAuth2 identity service for your organization, facilitating single-sign on to all of your apps via Traefik’s forward-auth middleware. Forgejo is fundamental infrastructure You don’t need to install Forgejo on every server you make, but having at least one instance in your domain is recommended."> Forgejo :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/install-core-services/index.html b/portable-docker/install-core-services/index.html index 73a95eba..0ace4a41 100644 --- a/portable-docker/install-core-services/index.html +++ b/portable-docker/install-core-services/index.html @@ -25,17 +25,17 @@ Install core services :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/install-core-services/postfix-relay/index.html b/portable-docker/install-core-services/postfix-relay/index.html index efe6b8a5..af53c08e 100644 --- a/portable-docker/install-core-services/postfix-relay/index.html +++ b/portable-docker/install-core-services/postfix-relay/index.html @@ -25,17 +25,17 @@ --- title: Authorized container networks may bridge with the Postfix-Relay to send outgoing email. --- graph TD; subgraph Docker network A[Container A] -->|private mail-only network| D[Postfix-Relay] B[Container B] -->|private mail-only network| D[Postfix-Relay] C[Container C] -.- F[Blocked] end D -->|Internet| E[Public SMTP server] E --> G[Allowed Email recipient] E --> H[Allowed Email recipient] E -."> Postfix-Relay (MTA) :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + - + diff --git a/portable-docker/install-core-services/step-ca/index.html b/portable-docker/install-core-services/step-ca/index.html index 83eae5fd..fd2f16cb 100644 --- a/portable-docker/install-core-services/step-ca/index.html +++ b/portable-docker/install-core-services/step-ca/index.html @@ -21,17 +21,17 @@ Step-CA (mutual TLS) :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + - + diff --git a/portable-docker/install-core-services/traefik-forward-auth/index.html b/portable-docker/install-core-services/traefik-forward-auth/index.html index 34931e78..7d6bfdd7 100644 --- a/portable-docker/install-core-services/traefik-forward-auth/index.html +++ b/portable-docker/install-core-services/traefik-forward-auth/index.html @@ -21,17 +21,17 @@ Traefik-Forward-Auth (sentry authorization) :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + - + diff --git a/portable-docker/install-web-services/homepage/index.html b/portable-docker/install-web-services/homepage/index.html index d07f5a47..7b7e20a5 100644 --- a/portable-docker/install-web-services/homepage/index.html +++ b/portable-docker/install-web-services/homepage/index.html @@ -29,17 +29,17 @@ (stdout) HOMEPAGE_TRAEFIK_HOST: Enter the homepage domain name (eg. homepage.example.com) : homepage.pi.example.com HOMEPAGE_WEBHOOK_HOST: Enter the separate webhook domain name (eg. homepage-webhook.example.com) : homepage-webhook.pi.example.com It is recommended to enable some form of sentry authorization to protect homepage, e."> Homepage :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/install-web-services/immich/index.html b/portable-docker/install-web-services/immich/index.html index f8c22bb3..050c5926 100644 --- a/portable-docker/install-web-services/immich/index.html +++ b/portable-docker/install-web-services/immich/index.html @@ -21,17 +21,17 @@ Immich :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/install-web-services/index.html b/portable-docker/install-web-services/index.html index cf51a089..dd10887c 100644 --- a/portable-docker/install-web-services/index.html +++ b/portable-docker/install-web-services/index.html @@ -25,17 +25,17 @@ Install apps :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/install-web-services/jupyterlab/index.html b/portable-docker/install-web-services/jupyterlab/index.html index 22bf83bf..7b666f21 100644 --- a/portable-docker/install-web-services/jupyterlab/index.html +++ b/portable-docker/install-web-services/jupyterlab/index.html @@ -25,17 +25,17 @@ Configure Jupyterlab Run this on your Raspberry Pi pi make jupyterlab config Install Jupyterlab Run this on the Raspberry Pi pi make jupyterlab install wait Add a new route on the sentry Run this on your Raspberry Pi sentry route set pi jupyterlab."> Jupyterlab :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/install-web-services/minio-s3/index.html b/portable-docker/install-web-services/minio-s3/index.html index d42c0363..f0fd8a5e 100644 --- a/portable-docker/install-web-services/minio-s3/index.html +++ b/portable-docker/install-web-services/minio-s3/index.html @@ -25,17 +25,17 @@ sequenceDiagram participant Browser as FileStash UI - Web Browser participant FileStash as FileStash static server participant Minio as Minio S3 - Object store Browser->>FileStash: HTTP request for static app page FileStash->>Browser: Response with static app page Browser->>Minio: Direct API request for object data Minio->>Browser: Direct response with object data Tip Running MinIO on a single Raspberry Pi is perfect for personal use."> MinIO S3 (and Filestash) :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + - + diff --git a/portable-docker/install-web-services/nginx-and-php/index.html b/portable-docker/install-web-services/nginx-and-php/index.html index eb9253a1..3fdd5a87 100644 --- a/portable-docker/install-web-services/nginx-and-php/index.html +++ b/portable-docker/install-web-services/nginx-and-php/index.html @@ -25,17 +25,17 @@ Configure Nginx Run this on your Raspberry Pi pi make nginx config Make sure you choose a unique domain for this service (www is also the default for thttpd, so if you installed that too, just make sure this is unique:)"> Nginx and PHP :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/install-web-services/sftp/index.html b/portable-docker/install-web-services/sftp/index.html index 901be0b3..d169e0e8 100644 --- a/portable-docker/install-web-services/sftp/index.html +++ b/portable-docker/install-web-services/sftp/index.html @@ -25,17 +25,17 @@ Install a demo web server (thttpd) Thttpd is a tiny static HTTP server for hosting websites. It will be used for demonstration purposes in showing the effect of transferring files directly into its volume, via SFTP."> SFTP (and Thttpd) :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + - + diff --git a/portable-docker/install-web-services/yourls/index.html b/portable-docker/install-web-services/yourls/index.html index 845d32c4..51786b1d 100644 --- a/portable-docker/install-web-services/yourls/index.html +++ b/portable-docker/install-web-services/yourls/index.html @@ -21,17 +21,17 @@ Yourls :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/introduction/index.html b/portable-docker/introduction/index.html index 51d0318d..be643541 100644 --- a/portable-docker/introduction/index.html +++ b/portable-docker/introduction/index.html @@ -25,17 +25,17 @@ I use this as a tiny web server that I can take anywhere I go."> Introduction :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + - + diff --git a/portable-docker/maintainence/backup/index.html b/portable-docker/maintainence/backup/index.html index db597c28..83672fc2 100644 --- a/portable-docker/maintainence/backup/index.html +++ b/portable-docker/maintainence/backup/index.html @@ -21,17 +21,17 @@ Native Backup :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/maintainence/index.html b/portable-docker/maintainence/index.html index 59ace904..6d836bde 100644 --- a/portable-docker/maintainence/index.html +++ b/portable-docker/maintainence/index.html @@ -21,17 +21,17 @@ Maintainence :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/maintainence/troubleshooting/index.html b/portable-docker/maintainence/troubleshooting/index.html index 61b219ca..c57a5ff7 100644 --- a/portable-docker/maintainence/troubleshooting/index.html +++ b/portable-docker/maintainence/troubleshooting/index.html @@ -25,17 +25,17 @@ [bash]: Run this on your workstation: ## Just leave this running in a separate terminal as you keep working.. sudo dmesg -w Disable power saving on NVME storage How to disable power saving on the NVME drive Out of two identical kits, I encountered one error in the kernel log on one machine but not on the other, so you may or may not run into this error:"> Troubleshooting :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/maintainence/upgrade/index.html b/portable-docker/maintainence/upgrade/index.html index 61ce07c0..bd9426e4 100644 --- a/portable-docker/maintainence/upgrade/index.html +++ b/portable-docker/maintainence/upgrade/index.html @@ -25,17 +25,17 @@ The version of the app is usually controlled via an environment variable named PROJECT_IMAGE or PROJECT_VERSION. For some apps, this will be labeled as latest so that it always installs the latest version, while others are locked to a specific know working version."> Upgrade :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/set-up-cloud-sentry/configure-d-rymcg-tech-for-sentry/index.html b/portable-docker/set-up-cloud-sentry/configure-d-rymcg-tech-for-sentry/index.html index 557a51c7..fee8c2fe 100644 --- a/portable-docker/set-up-cloud-sentry/configure-d-rymcg-tech-for-sentry/index.html +++ b/portable-docker/set-up-cloud-sentry/configure-d-rymcg-tech-for-sentry/index.html @@ -21,17 +21,17 @@ Configure d.rymcg.tech for the sentry :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/set-up-cloud-sentry/index.html b/portable-docker/set-up-cloud-sentry/index.html index 94181c36..c7c028f4 100644 --- a/portable-docker/set-up-cloud-sentry/index.html +++ b/portable-docker/set-up-cloud-sentry/index.html @@ -21,17 +21,17 @@ Set up sentry Droplet :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + - + diff --git a/portable-docker/set-up-cloud-sentry/launch-digitalocean-droplet/index.html b/portable-docker/set-up-cloud-sentry/launch-digitalocean-droplet/index.html index ee9204a9..e43a81be 100644 --- a/portable-docker/set-up-cloud-sentry/launch-digitalocean-droplet/index.html +++ b/portable-docker/set-up-cloud-sentry/launch-digitalocean-droplet/index.html @@ -21,17 +21,17 @@ Launch DigitalOcean droplet :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/set-up-cloud-sentry/set-up-docker-context/index.html b/portable-docker/set-up-cloud-sentry/set-up-docker-context/index.html index a28dba8a..bed60b0e 100644 --- a/portable-docker/set-up-cloud-sentry/set-up-docker-context/index.html +++ b/portable-docker/set-up-cloud-sentry/set-up-docker-context/index.html @@ -25,17 +25,17 @@ --- title: The Docker admin controls all Docker servers over SSH including itself --- graph TD; classDef dottedBox stroke-dasharray: 5 5; Workstation[Personal Workstation] -->|admin via SSH| RaspberryPi[Raspberry Pi - Docker admin] RaspberryPi -->|admin self via SSH localhost| RaspberryPi RaspberryPi .->|admin via SSH| Docker2[Docker 2] RaspberryPi .->|admin via SSH| Docker3[Docker 3, etc."> Configure the sentry context on the Pi :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + - + diff --git a/portable-docker/set-up-dns/create-digitalocean-api-token-for-acme-challenge/index.html b/portable-docker/set-up-dns/create-digitalocean-api-token-for-acme-challenge/index.html index 313c10e5..558fd035 100644 --- a/portable-docker/set-up-dns/create-digitalocean-api-token-for-acme-challenge/index.html +++ b/portable-docker/set-up-dns/create-digitalocean-api-token-for-acme-challenge/index.html @@ -21,17 +21,17 @@ Generate DigitalOcean API token for ACME challenge :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + - + diff --git a/portable-docker/set-up-dns/create-digitalocean-api-token/index.html b/portable-docker/set-up-dns/create-digitalocean-api-token/index.html index 7bd1cdd8..e1d35b4c 100644 --- a/portable-docker/set-up-dns/create-digitalocean-api-token/index.html +++ b/portable-docker/set-up-dns/create-digitalocean-api-token/index.html @@ -29,17 +29,17 @@ Sign up for a DigitalOcean account (using this referral link helps support this site), and follow along to set up your domain’s DNS."> Add the domain to DigitalOcean DNS :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/set-up-dns/index.html b/portable-docker/set-up-dns/index.html index e13748e2..6fa76278 100644 --- a/portable-docker/set-up-dns/index.html +++ b/portable-docker/set-up-dns/index.html @@ -25,17 +25,17 @@ Set up DNS :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/set-up-dns/register-domain/index.html b/portable-docker/set-up-dns/register-domain/index.html index 33a48aef..0d6eae42 100644 --- a/portable-docker/set-up-dns/register-domain/index.html +++ b/portable-docker/set-up-dns/register-domain/index.html @@ -25,17 +25,17 @@ --- title: A web browser must query DNS before it can fetch any web page --- sequenceDiagram participant Browser as Web Browser participant DNS as DNS Server participant WEB as Web Server Browser->>DNS: DNS Request (Resolve domain name) DNS-->>Browser: DNS Response (IP Address) Browser->>WEB: HTTP Request (Fetch Web Page) WEB-->>Browser: HTTP Response (Web Page Content) Domain name registration The public domain name registration system is controlled as a scarce resource that you must pay for the use of."> Register a domain name :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + - + diff --git a/portable-docker/set-up-public-ssh-reverse-tunnel/index.html b/portable-docker/set-up-public-ssh-reverse-tunnel/index.html index a099fb91..7762eb40 100644 --- a/portable-docker/set-up-public-ssh-reverse-tunnel/index.html +++ b/portable-docker/set-up-public-ssh-reverse-tunnel/index.html @@ -25,17 +25,17 @@ Set up public SSH :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + - + diff --git a/portable-docker/set-up-raspberry-pi/build-your-pi/index.html b/portable-docker/set-up-raspberry-pi/build-your-pi/index.html index 3024c66e..0a9f8515 100644 --- a/portable-docker/set-up-raspberry-pi/build-your-pi/index.html +++ b/portable-docker/set-up-raspberry-pi/build-your-pi/index.html @@ -29,17 +29,17 @@ Geeekpi / 52Pi case, heatsink, NVME shield, and power supply This kit comes with the NVME shield, which is an adapter (hat) to install on top of the Raspberry Pi 5 motherboard."> Build your Raspberry Pi :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/set-up-raspberry-pi/index.html b/portable-docker/set-up-raspberry-pi/index.html index ef1ac5a3..08511ba4 100644 --- a/portable-docker/set-up-raspberry-pi/index.html +++ b/portable-docker/set-up-raspberry-pi/index.html @@ -25,17 +25,17 @@ Set up Raspberry Pi :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/set-up-raspberry-pi/install-docker-and-d.rymcg.tech/index.html b/portable-docker/set-up-raspberry-pi/install-docker-and-d.rymcg.tech/index.html index a0a5c9d2..53b16802 100644 --- a/portable-docker/set-up-raspberry-pi/install-docker-and-d.rymcg.tech/index.html +++ b/portable-docker/set-up-raspberry-pi/install-docker-and-d.rymcg.tech/index.html @@ -33,17 +33,17 @@ ALIASES is already preset with the aliases you’ll be needing for this book: pi and sentry. You may customize the names here if you wish."> Install d.rymcg.tech :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/set-up-raspberry-pi/install-raspbian/index.html b/portable-docker/set-up-raspberry-pi/install-raspbian/index.html index b0a3c60a..11d6482d 100644 --- a/portable-docker/set-up-raspberry-pi/install-raspbian/index.html +++ b/portable-docker/set-up-raspberry-pi/install-raspbian/index.html @@ -37,17 +37,17 @@ Choose your model of Raspberry Pi."> Install Raspberry Pi OS :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/set-up-raspberry-pi/install-traefik/index.html b/portable-docker/set-up-raspberry-pi/install-traefik/index.html index e6b66305..1a016ff3 100644 --- a/portable-docker/set-up-raspberry-pi/install-traefik/index.html +++ b/portable-docker/set-up-raspberry-pi/install-traefik/index.html @@ -25,17 +25,17 @@ sequenceDiagram participant Browser as Web Browser participant Traefik as Traefik Proxy participant Whoami as Container: whoami Browser->>Traefik: HTTP Request Traefik->>Whoami: Forward Request Whoami->>Traefik: Response Traefik->>Browser: HTTP Response Basic Traefik config Run this on the Raspberry Pi pi make traefik config This presents the interactive configuration menu for Traefik:"> Install Traefik :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + - + diff --git a/portable-docker/set-up-raspberry-pi/install-whoami/index.html b/portable-docker/set-up-raspberry-pi/install-whoami/index.html index 0e52d6ea..acb38caa 100644 --- a/portable-docker/set-up-raspberry-pi/install-whoami/index.html +++ b/portable-docker/set-up-raspberry-pi/install-whoami/index.html @@ -25,17 +25,17 @@ Run this later after you install it: curl https://whoami.pi.example.com (stdout) Name: default Hostname: 38704012c4b3 IP: 127.0.0.1 IP: ::1 IP: 172.19.0.2 RemoteAddr: 172.19.0.1:34610 GET / HTTP/1.1 Host: whoami.example.com User-Agent: curl/7.88.1 Accept: */* Accept-Encoding: gzip X-Forwarded-For: 198."> Install Whoami :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/set-up-raspberry-pi/set-up-networking/index.html b/portable-docker/set-up-raspberry-pi/set-up-networking/index.html index 0b06cdb3..053903ec 100644 --- a/portable-docker/set-up-raspberry-pi/set-up-networking/index.html +++ b/portable-docker/set-up-raspberry-pi/set-up-networking/index.html @@ -25,17 +25,17 @@ Run this on the Raspberry Pi sudo raspi-config Enter System Options. Enter S1 Wireless LAN. Choose your current country. Enter the SSID (Wi-Fi network name) you wish to connect to. Enter the network passphrase Configure DNS By default, DNS is handled via DHCP, which will probably work in the majority of cases."> Set up networking :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/portable-docker/single.html b/portable-docker/single.html index 7d115e9c..1621898c 100644 --- a/portable-docker/single.html +++ b/portable-docker/single.html @@ -2702,7 +2702,7 @@

Configure Fail2Ban

-

If you want to make sure your personal IP address does not get banned, +

If you want to make sure your current IP address does not get banned, add it to the default ignore list:

diff --git a/publishing-with-org-mode/building-locally/index.html b/publishing-with-org-mode/building-locally/index.html index 2040556b..8015b901 100644 --- a/publishing-with-org-mode/building-locally/index.html +++ b/publishing-with-org-mode/building-locally/index.html @@ -37,17 +37,17 @@ [bash]: Run this on your workstation: ## This builds the entire site, and then runs the live reload server: make serve "> Building locally :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/publishing-with-org-mode/dependencies/index.html b/publishing-with-org-mode/dependencies/index.html index 9f33be03..86f10f8f 100644 --- a/publishing-with-org-mode/dependencies/index.html +++ b/publishing-with-org-mode/dependencies/index.html @@ -29,17 +29,17 @@ To build locally, you must install Emacs (29+), and hugo (v0.120+), using your package manager, or by downloading directly from their respective project pages. Please be aware that hugo has two editions: standard and extended, and this build requires the extended edition (TODO: verify this - I had some problems before - but maybe they are resolved - I am still using the extended edition for now)."> Dependencies :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/publishing-with-org-mode/examples/deeply/index.html b/publishing-with-org-mode/examples/deeply/index.html index 532bb749..ae69a9e4 100644 --- a/publishing-with-org-mode/examples/deeply/index.html +++ b/publishing-with-org-mode/examples/deeply/index.html @@ -21,17 +21,17 @@ Example of a deeply … :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/publishing-with-org-mode/examples/deeply/nested/index.html b/publishing-with-org-mode/examples/deeply/nested/index.html index 8bbcff30..144dce19 100644 --- a/publishing-with-org-mode/examples/deeply/nested/index.html +++ b/publishing-with-org-mode/examples/deeply/nested/index.html @@ -21,17 +21,17 @@ Nested … :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/publishing-with-org-mode/examples/deeply/nested/subchapters/subchapter1/index.html b/publishing-with-org-mode/examples/deeply/nested/subchapters/subchapter1/index.html index 1fcbf2df..b807c2ab 100644 --- a/publishing-with-org-mode/examples/deeply/nested/subchapters/subchapter1/index.html +++ b/publishing-with-org-mode/examples/deeply/nested/subchapters/subchapter1/index.html @@ -21,17 +21,17 @@ Sub-chapter 1 :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/publishing-with-org-mode/examples/deeply/nested/subchapters/subchapter2/index.html b/publishing-with-org-mode/examples/deeply/nested/subchapters/subchapter2/index.html index 2cbe43ec..5f045f3e 100644 --- a/publishing-with-org-mode/examples/deeply/nested/subchapters/subchapter2/index.html +++ b/publishing-with-org-mode/examples/deeply/nested/subchapters/subchapter2/index.html @@ -21,17 +21,17 @@ Sub-chapter 2 :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/publishing-with-org-mode/examples/deeply/nested/subchapters/subchapter3/index.html b/publishing-with-org-mode/examples/deeply/nested/subchapters/subchapter3/index.html index e73d5b66..30e849b6 100644 --- a/publishing-with-org-mode/examples/deeply/nested/subchapters/subchapter3/index.html +++ b/publishing-with-org-mode/examples/deeply/nested/subchapters/subchapter3/index.html @@ -21,17 +21,17 @@ Sub-chapter 3 :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/publishing-with-org-mode/examples/index.html b/publishing-with-org-mode/examples/index.html index 0d8ece32..0aa86c55 100644 --- a/publishing-with-org-mode/examples/index.html +++ b/publishing-with-org-mode/examples/index.html @@ -29,17 +29,17 @@ Example Org / Hugo content :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/publishing-with-org-mode/examples/org-blocks/index.html b/publishing-with-org-mode/examples/org-blocks/index.html index d76358dd..064938ff 100644 --- a/publishing-with-org-mode/examples/org-blocks/index.html +++ b/publishing-with-org-mode/examples/org-blocks/index.html @@ -45,17 +45,17 @@ This content is hidden by default."> Example Org Blocks :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/publishing-with-org-mode/examples/shortcodes/index.html b/publishing-with-org-mode/examples/shortcodes/index.html index 2709b55d..d4d0ac2b 100644 --- a/publishing-with-org-mode/examples/shortcodes/index.html +++ b/publishing-with-org-mode/examples/shortcodes/index.html @@ -29,17 +29,17 @@ Badges 1.0.0 99,999 867-5309 Email me@example.com Docs Dumpster Fire Buttons d."> Example Shortcodes :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - + + - - - - - - - - - - - - + + + + + + + + + + + + - + - - + + - + diff --git a/publishing-with-org-mode/index.html b/publishing-with-org-mode/index.html index d6123d84..d87002bd 100644 --- a/publishing-with-org-mode/index.html +++ b/publishing-with-org-mode/index.html @@ -25,17 +25,17 @@ Publishing with org-mode :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/publishing-with-org-mode/org-mode-emacs/editing-org-mode/index.html b/publishing-with-org-mode/org-mode-emacs/editing-org-mode/index.html index 866f7377..95e1ac4c 100644 --- a/publishing-with-org-mode/org-mode-emacs/editing-org-mode/index.html +++ b/publishing-with-org-mode/org-mode-emacs/editing-org-mode/index.html @@ -25,17 +25,17 @@ Type the link text. Navigate point to the last character of the link text. Press C-SPC (Control Spacebar) to mark the position. Navigate point to the first character of the link text. The link text should now be selected. Press C-c o i (or M-x org-insert-link). Enter the hyperlink URL. Absolute URLs should start with https://."> Editing Org-mode files :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/publishing-with-org-mode/org-mode-emacs/index.html b/publishing-with-org-mode/org-mode-emacs/index.html index 42c075e1..99bc400a 100644 --- a/publishing-with-org-mode/org-mode-emacs/index.html +++ b/publishing-with-org-mode/org-mode-emacs/index.html @@ -29,17 +29,17 @@ Using Org-mode and Emacs :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/publishing-with-org-mode/org-mode-emacs/navigating-org-mode/index.html b/publishing-with-org-mode/org-mode-emacs/navigating-org-mode/index.html index c9e4cf2e..4138eef6 100644 --- a/publishing-with-org-mode/org-mode-emacs/navigating-org-mode/index.html +++ b/publishing-with-org-mode/org-mode-emacs/navigating-org-mode/index.html @@ -25,17 +25,17 @@ Press C-s (or M-x isearch-forward) Of course, you might not always know the exact text (or it might not be unique enough to take you right there), so its useful to know some other ways of navigating Org documents."> Navigating Org-mode files :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/publishing-with-org-mode/publish-with-github-pages/index.html b/publishing-with-org-mode/publish-with-github-pages/index.html index 75601be3..a9a7eceb 100644 --- a/publishing-with-org-mode/publish-with-github-pages/index.html +++ b/publishing-with-org-mode/publish-with-github-pages/index.html @@ -21,17 +21,17 @@ Publishing with GitHub pages :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/publishing-with-org-mode/publish-with-sftp/index.html b/publishing-with-org-mode/publish-with-sftp/index.html index e9a3238c..408a190e 100644 --- a/publishing-with-org-mode/publish-with-sftp/index.html +++ b/publishing-with-org-mode/publish-with-sftp/index.html @@ -37,17 +37,17 @@ [bash]: Run this on your workstation: rclone config Follow the prompts to setup your SFTP remote, or you can see the example SFTP documentation for doing this."> Publishing with SFTP :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/router/create-router-vm/bootstrap-docker/index.html b/router/create-router-vm/bootstrap-docker/index.html index 48b5200d..870aea47 100644 --- a/router/create-router-vm/bootstrap-docker/index.html +++ b/router/create-router-vm/bootstrap-docker/index.html @@ -25,17 +25,17 @@ ALIAS (e.g., “router”) is the short contextual alias used to interact with your Docker server. ROOT_DOMAIN (e.g., “lan.example.com”) is the chosen sub-domain for the new router’s LAN . SYSBOX=true (true/false) enables Sysbox to allow the router containers to run privileged tasks (e.g., systemd). [bash]: Set temporary environment variables ## These temporary variables configure bootstrap_sworkstation."> Bootstrap Docker :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/router/create-router-vm/create-router-vm/index.html b/router/create-router-vm/create-router-vm/index.html index ad226afc..ff696560 100644 --- a/router/create-router-vm/create-router-vm/index.html +++ b/router/create-router-vm/create-router-vm/index.html @@ -25,17 +25,17 @@ Run this on the Proxmox PVE host export VM_ID=102 \ VM_NET=10.10.1.2/24 \ VM_GATEWAY=10.10.1.1 \ VM_HOSTNAME=router \ TEMPLATE_ID=9003 \ CPU=2 \ RAM_MB=2048 \ EXTRA_DISK_SPACE_GB=30 && \ ./proxmox_kvm.sh clone && \ qm set "${VM_ID}" \ --machine q35 \ --net0 "virtio,bridge=vmbr1" \ --ipconfig0 "ip=${VM_NET},gw=${VM_GATEWAY}" \ --cores ${CPU} \ --memory ${RAM_MB} && \ test -n "${EXTRA_DISK_SPACE_GB}" && \ test "${EXTRA_DISK_SPACE_GB}" !"> Create the Router VM :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/router/create-router-vm/setup-router-network/index.html b/router/create-router-vm/setup-router-network/index.html index cc0e9b17..d51d042c 100644 --- a/router/create-router-vm/setup-router-network/index.html +++ b/router/create-router-vm/setup-router-network/index.html @@ -25,17 +25,17 @@ First, create a static network config for the management interface (name eth0 by default, but it will be renamed to mgmt):"> Setup Router Network :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/router/hardware/index.html b/router/hardware/index.html index 414d6bf8..9d7b36be 100644 --- a/router/hardware/index.html +++ b/router/hardware/index.html @@ -21,17 +21,17 @@ Hardware :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/router/index.html b/router/index.html index 16a0c228..f1d57fa1 100644 --- a/router/index.html +++ b/router/index.html @@ -29,17 +29,17 @@ Linux Router :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/router/install-proxmox/enable-community-repository/index.html b/router/install-proxmox/enable-community-repository/index.html index 0b29e652..de4f2a09 100644 --- a/router/install-proxmox/enable-community-repository/index.html +++ b/router/install-proxmox/enable-community-repository/index.html @@ -29,17 +29,17 @@ To get an enterprise license visit Proxmox Support."> Choose update repository :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/router/install-proxmox/index.html b/router/install-proxmox/index.html index 64408313..066a2c76 100644 --- a/router/install-proxmox/index.html +++ b/router/install-proxmox/index.html @@ -21,17 +21,17 @@ Setup Proxmox :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/router/install-proxmox/install-proxmox/index.html b/router/install-proxmox/install-proxmox/index.html index 124861e7..30dfa5fb 100644 --- a/router/install-proxmox/install-proxmox/index.html +++ b/router/install-proxmox/install-proxmox/index.html @@ -37,17 +37,17 @@ Accept the license agreement Click I agree."> Install Proxmox :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/router/install-proxmox/setup-firewall/index.html b/router/install-proxmox/setup-firewall/index.html index f5af75c6..8164429a 100644 --- a/router/install-proxmox/setup-firewall/index.html +++ b/router/install-proxmox/setup-firewall/index.html @@ -25,17 +25,17 @@ Proxmox has a multi-layer firewall, which can be enabled at the Datacenter, PVE node, and VM levels. The Datacenter firewall sets the default policy. The Node firewall will be used to protect the PVE node itself, while the VM firewalls protects individual VMs."> Setup Proxmox firewall :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/router/install-proxmox/setup-kvm-template/index.html b/router/install-proxmox/setup-kvm-template/index.html index da1ec7d5..9cb0dbf4 100644 --- a/router/install-proxmox/setup-kvm-template/index.html +++ b/router/install-proxmox/setup-kvm-template/index.html @@ -29,17 +29,17 @@ Run this on the Proxmox PVE host STORAGE=local-lvm \ DISTRO=fedora-41 \ TEMPLATE_ID=9003 \ PUBLIC_PORTS_TCP=22,80,443 \ FILESYSTEM_SIZE=20 \ ./proxmox_kvm.sh template Tip If you installed Proxmox with ZFS storage, set STORAGE=local-zfs."> Setup KVM template :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/router/install-proxmox/setup-nat/index.html b/router/install-proxmox/setup-nat/index.html index 5ed94554..47f38e8c 100644 --- a/router/install-proxmox/setup-nat/index.html +++ b/router/install-proxmox/setup-nat/index.html @@ -29,17 +29,17 @@ NAT (Network Address Translation) is an alternative that creates a private network for the VMs, routing their traffic through the host’s IP as a gateway."> Setup VM network (NAT) :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/router/install-proxmox/setup-ssh/index.html b/router/install-proxmox/setup-ssh/index.html index 30b1dfde..c4e0b23e 100644 --- a/router/install-proxmox/setup-ssh/index.html +++ b/router/install-proxmox/setup-ssh/index.html @@ -33,17 +33,17 @@ [bash]: Run this on your workstation: ssh-keygen For more information see the chapter on SSH in the Linux Workstation book."> Setup SSH :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/search.html b/search.html index 0fea5f06..28d4fe0e 100644 --- a/search.html +++ b/search.html @@ -29,17 +29,17 @@ Search :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + + diff --git a/tags/index.html b/tags/index.html index 4b6a8a7f..87916c15 100644 --- a/tags/index.html +++ b/tags/index.html @@ -17,17 +17,17 @@ Tags :: book.rymcg.tech - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - + + +