Add ""Setting Up Gitea Actions With Tailscale""

This commit is contained in:
Dave Gallant
2023-12-09 23:56:50 -05:00
parent 03dd1bd431
commit 5434804fa1
130 changed files with 1469 additions and 335 deletions

View File

@@ -0,0 +1,202 @@
---
title: "Setting Up Gitea Actions With Tailscale"
date: 2023-12-10T17:22:11-05:00
lastmod: 2023-12-10T17:22:11-05:00
draft: false
keywords: []
description: ""
tags: ["gitea", "gitea actions", "github actions", "tailscale"]
categories: []
author: ""
# You can also close(false) or open(true) something for this content.
# P.S. comment can only be closed
comment: false
toc: false
autoCollapseToc: false
postMetaInFooter: false
hiddenFromHomePage: false
# You can also define another contentCopyright. e.g. contentCopyright: "This is another copyright."
contentCopyright: false
reward: false
mathjax: false
mathjaxEnableSingleDollar: false
flowchartDiagrams:
enable: false
options: ""
sequenceDiagrams:
enable: false
options: ""
---
<!--more-->
In this post I'll go through the process of setting up Gitea Actions and [Tailscale](https://tailscale.com/), unlocking a simple and secure way to automate workflows.
## What is Gitea?
[Gitea](https://about.gitea.com/) is a lightweight and fast git server that has much of the same look and feel as github. I have been using it in my homelab to mirror repositories hosted on other platforms such as github and gitlab. These mirrors take advantage of the decentralized nature of git by serving as "backups". One of the main reasons I hadn't been using it more often was due to the lack of integrated CI/CD. This is no longer the case.
## Gitea Actions
[Gitea Actions](https://docs.gitea.com/usage/actions/overview) have made it into the [1.19.0 release](https://blog.gitea.com/release-of-1.19.0/). This feature had been in an experimental state up until [1.21.0](https://blog.gitea.com/release-of-1.21.0/) and is now enabled by default 🎉.
So what are they? If you've ever used GitHub Actions (and if you're reading this, I imagine you have), they essentially allow you to run github workflows on gitea. Workflows between gitea and github are not completely interopable, but a lot of the same workflow syntax is already compatible on gitea. You can find a list of [unsupported workflows syntax](https://docs.gitea.com/usage/actions/comparison#unsupported-workflows-syntax).
Actions work by using a [custom fork](https://gitea.com/gitea/act) of [nekos/act](https://github.com/nektos/act). Workflows run in a new container for every job. If you specify an action such as 'actions/checkout@v3', it defaults to downloading the scripts from github.com. To avoid internet egress, you could always clone the required actions to your local gitea instance.
Actions (gitea's implementation) has me excited because it makes spinning up a network-isolated environment for workflow automation incredibly simple.
## Integration with Tailscale
So how does Tailscale help here? Well, more recently I've been exposing my self-hosted services through a combination of traefik and the tailscale (through the tailscale-traefik proxy integration described [here](https://traefik.io/blog/exploring-the-tailscale-traefik-proxy-integration/)). This allows for a nice looking dns name (i.e. gitea.my-tailnet-name.ts.net) and automatic tls certificate management. I can also share this tailscale node securely with other tailscale users without configuring any firewall rules on my router.
## Deploying Gitea, Traefik, and Tailscale
In my case, the following is already set up:
- [docker-compose is installed](https://docs.docker.com/compose/install/linux/)
- [tailscale is installed on the gitea host](https://tailscale.com/kb/1017/install/)
- [tailscale magic dns is enabled](https://tailscale.com/kb/1081/magicdns/)
My preferred approach to deploying code in a homelab environment is with docker compose. I have deployed this in a [proxmox lxc container](https://pve.proxmox.com/wiki/Linux_Container) based on debian with a hostname `gitea`. This could be deployed in any environment and with any hostname (as long you updated the tailscale machine name to your preferred subdomain for magic dns).
The `docker-compose.yaml` file looks like:
```yaml
version: "3.7"
services:
gitea:
image: gitea/gitea:1.21.1
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__server__DOMAIN=gitea.my-tailnet-name.ts.net
- GITEA__server__ROOT_URL=https://gitea.my-tailnet-name.ts.net
- GITEA__server__HTTP_ADDR=0.0.0.0
- GITEA__server__LFS_JWT_SECRET=my-secret-jwt
restart: always
volumes:
- ./data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
traefik:
image: traefik:v3.0.0-beta4
container_name: traefik
security_opt:
- no-new-privileges:true
restart: unless-stopped
ports:
- 80:80
- 443:443
volumes:
- ./traefik/data/traefik.yaml:/traefik.yaml:ro
- ./traefik/data/dynamic.yaml:/dynamic.yaml:ro
- /var/run/tailscale/tailscaled.sock:/var/run/tailscale/tailscaled.sock
```
`traefik/data/traefik.yaml`:
```yaml
entryPoints:
https:
address: ":443"
providers:
file:
filename: dynamic.yaml
certificatesResolvers:
myresolver:
tailscale: {}
log:
level: INFO
```
and finally `traefik/data/dynamic/dynamic.yaml`:
```yaml
http:
routers:
gitea:
rule: Host(`gitea.my-tailnet-name.ts.net`)
entrypoints:
- "https"
service: gitea
tls:
certResolver: myresolver
services:
gitea:
loadBalancer:
servers:
- url: "http://gitea:3000"
```
Something to consider is whether or not you want to use ssh with git. One method of getting this to work with containers is to use [ssh container passthrough](https://docs.gitea.com/installation/install-with-docker#ssh-container-passthrough). I decided to keep it simple and not use ssh, since communicating over https is perfectly fine for my use case.
After adding the above configuration, running `docker compose up -d` should be enough to get your instance up and running. It will be accessible at [https://gitea.my-tailnet-name.ts.net](https://gitea.my-tailnet-name.ts.net) from within your tailnet.
## Connecting a Runner
I installed the runner by [following the docs](https://docs.gitea.com/usage/actions/quickstart#set-up-runner). I opted for installing it on a separate host (another lxc container) as recommended in the docs. I used the systemd unit file to ensure that the runner comes back online after system reboots. I installed tailscale on this act runner as well, so that it can have the same "networking privileges" as the main instance.
After registering this runner and starting the daemon, it appeared in `/admin/actions/runners`:
![image](/images/setting-up-gitea-actions-with-tailscale/gitea-runners.png)
## Running a workflow
Now it's time start running some automation. I used the [demo workflow](https://docs.gitea.com/usage/actions/quickstart#use-actions) as a starting point to verify that the runner is executing workflows.
After this, I wanted to make sure that some of my existing workflows could be migrated over.
The following workflow uses a matrix to run a job for several of my hosts using ansible playbooks that will do various tasks such as patching os updates and updating container images.
```yaml
name: Run ansible playbooks
on:
push:
schedule:
- cron: "0 */12 * * *"
jobs:
run-ansible-playbook:
runs-on: ubuntu-latest
strategy:
matrix:
host:
- changedetection
- grafana
- homer
- invidious
- jackett
- ladder
- miniflux
- plex
- qbittorrent
- tailscale-exit-node
- uptime-kuma
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Install ansible
run: |
apt update && apt install ansible -y
- name: Run playbook
uses: dawidd6/action-ansible-playbook@v2
with:
playbook: playbooks/main.yml
requirements: requirements.yml
key: ${{ secrets.SSH_PRIVATE_KEY}}
options: |
--inventory inventory
--limit ${{ matrix.host }}
```
## Conclusion
Gitea Actions are fast and the resource footprint is minimal. My gitea instance is currently using around 250mb of memory and a small fraction of a single cpu core (and the runner is using a similar amount of resources). This is impressive since many alternatives tend to require substantionally more resources (ahem, gitlab). It certainly doesn't hurt that the codebase is largely written in go.
By combining gitea with the networking marvel that is tailscale, running workflows becomes simple and fun. Whether you are working on a team or working alone, this setup ensures that your workflows are securely accessible from anywhere with an internet connection.

View File

@@ -10,6 +10,7 @@
<meta property="og:url" content="/about/" /><meta property="article:section" content="" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="About"/>
<meta name="twitter:description" content="I&rsquo;m a software engineer with a passion for open-source, infrastructure, tooling and security."/>

View File

@@ -10,6 +10,7 @@
<meta property="og:url" content="/blog/2020/03/16/appgate-sdp-on-arch-linux/" /><meta property="article:section" content="post" />
<meta property="article:published_time" content="2020-03-16T22:00:15-04:00" />
<meta property="article:modified_time" content="2020-03-16T22:00:15-04:00" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="AppGate SDP on Arch Linux"/>
<meta name="twitter:description" content="AppGate SDP provides a Zero Trust network. This post describes how to get AppGate SDP 4.3.2 working on Arch Linux."/>

View File

@@ -10,6 +10,7 @@
<meta property="og:url" content="/blog/2021/09/06/what-to-do-with-a-homelab/" /><meta property="article:section" content="post" />
<meta property="article:published_time" content="2021-09-06T01:12:54-04:00" />
<meta property="article:modified_time" content="2021-09-06T01:12:54-04:00" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="What To Do With A Homelab"/>
<meta name="twitter:description" content="A homelab can be an inexpensive way to host a multitude of internal/external services and learn a lot in the process."/>

View File

@@ -10,6 +10,7 @@
<meta property="og:url" content="/blog/2021/09/08/why-i-threw-out-my-dotfiles/" /><meta property="article:section" content="post" />
<meta property="article:published_time" content="2021-09-08T00:42:33-04:00" />
<meta property="article:modified_time" content="2021-09-08T00:42:33-04:00" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Why I Threw Out My Dotfiles"/>
<meta name="twitter:description" content=""/>

View File

@@ -10,6 +10,7 @@
<meta property="og:url" content="/blog/2021/09/17/automatically-rotating-aws-access-keys/" /><meta property="article:section" content="post" />
<meta property="article:published_time" content="2021-09-17T12:48:33-04:00" />
<meta property="article:modified_time" content="2021-09-17T12:48:33-04:00" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Automatically Rotating AWS Access Keys"/>
<meta name="twitter:description" content=""/>

View File

@@ -10,6 +10,7 @@
<meta property="og:url" content="/blog/2021/10/11/replacing-docker-with-podman-on-macos-and-linux/" /><meta property="article:section" content="post" />
<meta property="article:published_time" content="2021-10-11T10:43:35-04:00" />
<meta property="article:modified_time" content="2021-10-11T10:43:35-04:00" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Replacing docker with podman on macOS (and Linux)"/>
<meta name="twitter:description" content=""/>
@@ -105,6 +106,7 @@
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">...ignoring Docker updates is a paid feature now?? <a href="https://t.co/ZxKW3b9LQM">pic.twitter.com/ZxKW3b9LQM</a></p>&mdash; Brendan Dolan-Gavitt (@moyix) <a href="https://twitter.com/moyix/status/1388586550682861568?ref_src=twsrc%5Etfw">May 1, 2021</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<p>Docker has been one of the larger influencers in the container world, helping to standardize the <a href="https://github.com/opencontainers/image-spec/blob/main/spec.md">OCI Image Format Specification</a>. For many developers, containers have become synonymous with terms like <code>docker</code> and <code>Dockerfile</code> (a file containing build instructions for a container image). Docker has certainly made it very convenient to build and run containers, but it is not the only solution for doing so.</p>
<p>This post briefly describes my experience swapping out docker for podman on macOS.</p>
<h3 id="what-is-a-container">What is a container?<a href="#what-is-a-container" class="hanchor" ariaLabel="Anchor">#</a></h3>

View File

@@ -10,6 +10,7 @@
<meta property="og:url" content="/blog/2021/11/14/running-k3s-in-lxc-on-proxmox/" /><meta property="article:section" content="post" />
<meta property="article:published_time" content="2021-11-14T10:07:03-05:00" />
<meta property="article:modified_time" content="2021-11-14T10:07:03-05:00" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Running K3s in LXC on Proxmox"/>
<meta name="twitter:description" content=""/>

View File

@@ -10,6 +10,7 @@
<meta property="og:url" content="/blog/2022/03/13/backing-up-gmail-with-synology/" /><meta property="article:section" content="post" />
<meta property="article:published_time" content="2022-03-13T18:49:10-04:00" />
<meta property="article:modified_time" content="2022-03-13T18:49:10-04:00" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Backing Up Gmail With Synology"/>
<meta name="twitter:description" content=""/>

View File

@@ -10,6 +10,7 @@
<meta property="og:url" content="/blog/2022/04/02/virtualizing-my-router-with-pfsense/" /><meta property="article:section" content="post" />
<meta property="article:published_time" content="2022-04-02T18:50:09-04:00" />
<meta property="article:modified_time" content="2022-04-02T18:50:09-04:00" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Virtualizing My Router With pfSense"/>
<meta name="twitter:description" content=""/>

View File

@@ -10,6 +10,7 @@
<meta property="og:url" content="/blog/2022/12/10/watching-youtube-in-private/" /><meta property="article:section" content="post" />
<meta property="article:published_time" content="2022-12-10T21:46:55-05:00" />
<meta property="article:modified_time" content="2022-12-10T21:46:55-05:00" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Watching YouTube in Private"/>
<meta name="twitter:description" content=""/>

View File

@@ -10,6 +10,7 @@
<meta property="og:url" content="/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/" /><meta property="article:section" content="post" />
<meta property="article:published_time" content="2023-05-22T16:31:29-04:00" />
<meta property="article:modified_time" content="2023-05-22T16:31:29-04:00" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Using AKS and SOCKS to connect to a Private Azure DB"/>
<meta name="twitter:description" content=""/>

View File

@@ -0,0 +1,307 @@
<!DOCTYPE html>
<html><head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge"><title>Setting Up Gitea Actions With Tailscale - davegallant</title><link rel="icon" type="image/png" href=https://davegallant.ca/favicon.ico /><meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="" />
<meta property="og:image" content=""/>
<meta property="og:title" content="Setting Up Gitea Actions With Tailscale" />
<meta property="og:description" content="" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/blog/2023/12/10/setting-up-gitea-actions-with-tailscale/" /><meta property="article:section" content="post" />
<meta property="article:published_time" content="2023-12-10T17:22:11-05:00" />
<meta property="article:modified_time" content="2023-12-10T17:22:11-05:00" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Setting Up Gitea Actions With Tailscale"/>
<meta name="twitter:description" content=""/>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@1,500&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Fira+Sans&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet">
<link rel="stylesheet" type="text/css" media="screen" href="/css/main.0e5aa3b634b92d61bafebfd908290cc7a034e4d50e6a0c59ce50044560179c4e.css" />
<link id="darkModeStyle" rel="stylesheet" type="text/css" href="/css/dark.b11f422ffce8151207bad84653d44cb512043f9efe93a0a049f836b9cc32b34a.css" disabled />
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$'], ['\\(','\\)']],
displayMath: [['$$','$$'], ['\[','\]']],
processEscapes: true,
processEnvironments: true,
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
TeX: { equationNumbers: { autoNumber: "AMS" },
extensions: ["AMSmath.js", "AMSsymbols.js"] }
}
});
</script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/contrib/auto-render.min.js" onload="renderMathInElement(document.body);"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderMathInElement(document.body, {
delimiters: [
{left: "$$", right: "$$", display: true},
{left: "$", right: "$", display: false}
]
});
});
</script>
<link rel="stylesheet" type="text/css" href="/css/custom.2e59ff60a2d9c7e42e3c1af2aff0ba627da46f910a234867e98d178eb05c87dc.css">
</head>
<body>
<div class="content"><header>
<div class="main">
<a href="/">davegallant</a>
</div>
<nav>
<a href="/">Home</a>
<a href="/post">All posts</a>
<a href="/index.xml">RSS</a>
<a href="/tags">Tags</a>
<a href="/about">About</a>
| <span id="dark-mode-toggle" onclick="toggleTheme()"></span>
<script src="/js/themetoggle.js"></script>
</nav>
</header>
<main>
<article>
<div class="title">
<h1 class="title">Setting Up Gitea Actions With Tailscale</h1>
<div class="meta">Posted on Dec 10, 2023</div>
</div>
<section class="body"><p>In this post I&rsquo;ll go through the process of setting up Gitea Actions and <a href="https://tailscale.com/">Tailscale</a>, unlocking a simple and secure way to automate workflows.</p>
<h2 id="what-is-gitea">What is Gitea?<a href="#what-is-gitea" class="hanchor" ariaLabel="Anchor">#</a></h2>
<p><a href="https://about.gitea.com/">Gitea</a> is a lightweight and fast git server that has much of the same look and feel as github. I have been using it in my homelab to mirror repositories hosted on other platforms such as github and gitlab. These mirrors take advantage of the decentralized nature of git by serving as &ldquo;backups&rdquo;. One of the main reasons I hadn&rsquo;t been using it more often was due to the lack of integrated CI/CD. This is no longer the case.</p>
<h2 id="gitea-actions">Gitea Actions<a href="#gitea-actions" class="hanchor" ariaLabel="Anchor">#</a></h2>
<p><a href="https://docs.gitea.com/usage/actions/overview">Gitea Actions</a> have made it into the <a href="https://blog.gitea.com/release-of-1.19.0/">1.19.0 release</a>. This feature had been in an experimental state up until <a href="https://blog.gitea.com/release-of-1.21.0/">1.21.0</a> and is now enabled by default 🎉.</p>
<p>So what are they? If you&rsquo;ve ever used GitHub Actions (and if you&rsquo;re reading this, I imagine you have), they essentially allow you to run github workflows on gitea. Workflows between gitea and github are not completely interopable, but a lot of the same workflow syntax is already compatible on gitea. You can find a list of <a href="https://docs.gitea.com/usage/actions/comparison#unsupported-workflows-syntax">unsupported workflows syntax</a>.</p>
<p>Actions work by using a <a href="https://gitea.com/gitea/act">custom fork</a> of <a href="https://github.com/nektos/act">nekos/act</a>. Workflows run in a new container for every job. If you specify an action such as &lsquo;actions/checkout@v3&rsquo;, it defaults to downloading the scripts from github.com. To avoid internet egress, you could always clone the required actions to your local gitea instance.</p>
<p>Actions (gitea&rsquo;s implementation) has me excited because it makes spinning up a network-isolated environment for workflow automation incredibly simple.</p>
<h2 id="integration-with-tailscale">Integration with Tailscale<a href="#integration-with-tailscale" class="hanchor" ariaLabel="Anchor">#</a></h2>
<p>So how does Tailscale help here? Well, more recently I&rsquo;ve been exposing my self-hosted services through a combination of traefik and the tailscale (through the tailscale-traefik proxy integration described <a href="https://traefik.io/blog/exploring-the-tailscale-traefik-proxy-integration/">here</a>). This allows for a nice looking dns name (i.e. gitea.my-tailnet-name.ts.net) and automatic tls certificate management. I can also share this tailscale node securely with other tailscale users without configuring any firewall rules on my router.</p>
<h2 id="deploying-gitea-traefik-and-tailscale">Deploying Gitea, Traefik, and Tailscale<a href="#deploying-gitea-traefik-and-tailscale" class="hanchor" ariaLabel="Anchor">#</a></h2>
<p>In my case, the following is already set up:</p>
<ul>
<li><a href="https://docs.docker.com/compose/install/linux/">docker-compose is installed</a></li>
<li><a href="https://tailscale.com/kb/1017/install/">tailscale is installed on the gitea host</a></li>
<li><a href="https://tailscale.com/kb/1081/magicdns/">tailscale magic dns is enabled</a></li>
</ul>
<p>My preferred approach to deploying code in a homelab environment is with docker compose. I have deployed this in a <a href="https://pve.proxmox.com/wiki/Linux_Container">proxmox lxc container</a> based on debian with a hostname <code>gitea</code>. This could be deployed in any environment and with any hostname (as long you updated the tailscale machine name to your preferred subdomain for magic dns).</p>
<p>The <code>docker-compose.yaml</code> file looks like:</p>
<pre><code class="language-yaml">version: &quot;3.7&quot;
services:
gitea:
image: gitea/gitea:1.21.1
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__server__DOMAIN=gitea.my-tailnet-name.ts.net
- GITEA__server__ROOT_URL=https://gitea.my-tailnet-name.ts.net
- GITEA__server__HTTP_ADDR=0.0.0.0
- GITEA__server__LFS_JWT_SECRET=my-secret-jwt
restart: always
volumes:
- ./data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
traefik:
image: traefik:v3.0.0-beta4
container_name: traefik
security_opt:
- no-new-privileges:true
restart: unless-stopped
ports:
- 80:80
- 443:443
volumes:
- ./traefik/data/traefik.yaml:/traefik.yaml:ro
- ./traefik/data/dynamic.yaml:/dynamic.yaml:ro
- /var/run/tailscale/tailscaled.sock:/var/run/tailscale/tailscaled.sock
</code></pre>
<p><code>traefik/data/traefik.yaml</code>:</p>
<pre><code class="language-yaml">entryPoints:
https:
address: &quot;:443&quot;
providers:
file:
filename: dynamic.yaml
certificatesResolvers:
myresolver:
tailscale: {}
log:
level: INFO
</code></pre>
<p>and finally <code>traefik/data/dynamic/dynamic.yaml</code>:</p>
<pre><code class="language-yaml">http:
routers:
gitea:
rule: Host(`gitea.my-tailnet-name.ts.net`)
entrypoints:
- &quot;https&quot;
service: gitea
tls:
certResolver: myresolver
services:
gitea:
loadBalancer:
servers:
- url: &quot;http://gitea:3000&quot;
</code></pre>
<p>Something to consider is whether or not you want to use ssh with git. One method of getting this to work with containers is to use <a href="https://docs.gitea.com/installation/install-with-docker#ssh-container-passthrough">ssh container passthrough</a>. I decided to keep it simple and not use ssh, since communicating over https is perfectly fine for my use case.</p>
<p>After adding the above configuration, running <code>docker compose up -d</code> should be enough to get your instance up and running. It will be accessible at <a href="https://gitea.my-tailnet-name.ts.net">https://gitea.my-tailnet-name.ts.net</a> from within your tailnet.</p>
<h2 id="connecting-a-runner">Connecting a Runner<a href="#connecting-a-runner" class="hanchor" ariaLabel="Anchor">#</a></h2>
<p>I installed the runner by <a href="https://docs.gitea.com/usage/actions/quickstart#set-up-runner">following the docs</a>. I opted for installing it on a separate host (another lxc container) as recommended in the docs. I used the systemd unit file to ensure that the runner comes back online after system reboots. I installed tailscale on this act runner as well, so that it can have the same &ldquo;networking privileges&rdquo; as the main instance.</p>
<p>After registering this runner and starting the daemon, it appeared in <code>/admin/actions/runners</code>:</p>
<p><img src="/images/setting-up-gitea-actions-with-tailscale/gitea-runners.png" alt="image"></p>
<h2 id="running-a-workflow">Running a workflow<a href="#running-a-workflow" class="hanchor" ariaLabel="Anchor">#</a></h2>
<p>Now it&rsquo;s time start running some automation. I used the <a href="https://docs.gitea.com/usage/actions/quickstart#use-actions">demo workflow</a> as a starting point to verify that the runner is executing workflows.</p>
<p>After this, I wanted to make sure that some of my existing workflows could be migrated over.</p>
<p>The following workflow uses a matrix to run a job for several of my hosts using ansible playbooks that will do various tasks such as patching os updates and updating container images.</p>
<pre><code class="language-yaml">name: Run ansible playbooks
on:
push:
schedule:
- cron: &quot;0 */12 * * *&quot;
jobs:
run-ansible-playbook:
runs-on: ubuntu-latest
strategy:
matrix:
host:
- changedetection
- grafana
- homer
- invidious
- jackett
- ladder
- miniflux
- plex
- qbittorrent
- tailscale-exit-node
- uptime-kuma
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Install ansible
run: |
apt update &amp;&amp; apt install ansible -y
- name: Run playbook
uses: dawidd6/action-ansible-playbook@v2
with:
playbook: playbooks/main.yml
requirements: requirements.yml
key: ${{ secrets.SSH_PRIVATE_KEY}}
options: |
--inventory inventory
--limit ${{ matrix.host }}
</code></pre>
<h2 id="conclusion">Conclusion<a href="#conclusion" class="hanchor" ariaLabel="Anchor">#</a></h2>
<p>Gitea Actions are fast and the resource footprint is minimal. My gitea instance is currently using around 250mb of memory and a small fraction of a single cpu core (and the runner is using a similar amount of resources). This is impressive since many alternatives tend to require substantionally more resources (ahem, gitlab). It certainly doesn&rsquo;t hurt that the codebase is largely written in go.</p>
<p>By combining gitea with the networking marvel that is tailscale, running workflows becomes simple and fun. Whether you are working on a team or working alone, this setup ensures that your workflows are securely accessible from anywhere with an internet connection.</p></section>
<div class="post-tags">
<nav class="nav tags">
<ul class="tags">
<li><a href="/tags/gitea">gitea</a></li>
<li><a href="/tags/gitea-actions">gitea actions</a></li>
<li><a href="/tags/github-actions">github actions</a></li>
<li><a href="/tags/tailscale">tailscale</a></li>
</ul>
</nav>
</div>
</article>
</main>
<section id='comments' class='comments'>
<div class='container sep-before'>
<div class='comments'><script>
var getTheme = window.localStorage && window.localStorage.getItem("theme-storage");
getTheme = getTheme == null ? 'light' : getTheme;
let theme = getTheme === 'dark' ? 'github-dark' : 'github-light';
let s = document.createElement('script');
s.src = 'https://utteranc.es/client.js';
s.setAttribute('repo', 'davegallant\/davegallant.github.io');
s.setAttribute('issue-term', 'pathname');
s.setAttribute('theme', theme);
s.setAttribute('crossorigin', 'anonymous');
s.setAttribute('async', '');
document.querySelector('div.comments').innerHTML = '';
document.querySelector('div.comments').appendChild(s);
</script>
</div>
</div>
</section><footer>
<div style="display:flex"><a class="soc" href="https://github.com/davegallant" rel="me" title="GitHub"><i data-feather="github"></i></a>
<a class="border"></a><a class="soc" href="https://twitter.com/davega11ant/" rel="me" title="Twitter"><i data-feather="twitter"></i></a>
<a class="border"></a><a class="soc" href="https://mastodon.social/@davegallant" rel="me" title="Mastodon"><i data-feather="speaker"></i></a>
<a class="border"></a><a class="soc" href="https://www.linkedin.com/in/dave-gallant/" rel="me" title="LinkedIn"><i data-feather="linkedin"></i></a>
<a class="border"></a></div>
<div class="footer-info">
2023 Dave Gallant
</div>
</footer>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-V8WJDERTX9"></script>
<script>
var doNotTrack = false;
if (!doNotTrack) {
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-V8WJDERTX9', { 'anonymize_ip': false });
}
</script>
<script>
feather.replace()
</script></div>
</body>
</html>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/categories/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Categories"/>
<meta name="twitter:description" content=""/>

View File

@@ -6,6 +6,7 @@
<description>Recent content in Categories on davegallant</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright><atom:link href="/categories/index.xml" rel="self" type="application/rss+xml" />
<copyright>Dave Gallant</copyright>
<atom:link href="/categories/index.xml" rel="self" type="application/rss+xml" />
</channel>
</rss>

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html>
<head>
<meta name="generator" content="Hugo 0.111.3">
<meta name="generator" content="Hugo 0.120.3">
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge"><title>davegallant | Home </title><link rel="icon" type="image/png" href=https://davegallant.ca/favicon.ico /><meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="" />
@@ -11,6 +11,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="davegallant"/>
<meta name="twitter:description" content=""/>
@@ -102,6 +103,16 @@
<section class="list-item">
<h1 class="title"><a href="/blog/2023/12/10/setting-up-gitea-actions-with-tailscale/">Setting Up Gitea Actions With Tailscale</a></h1>
<time>Dec 10, 2023</time>
<br><div class="description">
</div>
</section>
<section class="list-item">
<h1 class="title"><a href="/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/">Using AKS and SOCKS to connect to a Private Azure DB</a></h1>
<time>May 22, 2023</time>
@@ -189,21 +200,22 @@
</div>
</section>
<section class="list-item">
<h1 class="title"><a href="/blog/2020/03/16/appgate-sdp-on-arch-linux/">AppGate SDP on Arch Linux</a></h1>
<time>Mar 16, 2020</time>
<br><div class="description">
</div>
</section>
<ul class="pagination">
<span class="page-item page-prev">
</span>
<span class="page-item page-next">
<a href="/page/2/" class="page-link" aria-label="Next"><span aria-hidden="true">Next →</span></a>
</span>
</ul>
</main>
<footer>

View File

@@ -7,114 +7,98 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate><atom:link href="/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Sun, 10 Dec 2023 17:22:11 -0500</lastBuildDate>
<atom:link href="/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>About</title>
<link>/about/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/about/</guid>
<description>I&amp;rsquo;m a software engineer with a passion for open-source, infrastructure, tooling and security.</description>
</item>
<item>
<title>Setting Up Gitea Actions With Tailscale</title>
<link>/blog/2023/12/10/setting-up-gitea-actions-with-tailscale/</link>
<pubDate>Sun, 10 Dec 2023 17:22:11 -0500</pubDate>
<guid>/blog/2023/12/10/setting-up-gitea-actions-with-tailscale/</guid>
<description></description>
</item>
<item>
<title>Using AKS and SOCKS to connect to a Private Azure DB</title>
<link>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</guid>
<description></description>
</item>
<item>
<title>Watching YouTube in Private</title>
<link>/blog/2022/12/10/watching-youtube-in-private/</link>
<pubDate>Sat, 10 Dec 2022 21:46:55 -0500</pubDate>
<guid>/blog/2022/12/10/watching-youtube-in-private/</guid>
<description></description>
</item>
<item>
<title>Virtualizing My Router With pfSense</title>
<link>/blog/2022/04/02/virtualizing-my-router-with-pfsense/</link>
<pubDate>Sat, 02 Apr 2022 18:50:09 -0400</pubDate>
<guid>/blog/2022/04/02/virtualizing-my-router-with-pfsense/</guid>
<description></description>
</item>
<item>
<title>Backing Up Gmail With Synology</title>
<link>/blog/2022/03/13/backing-up-gmail-with-synology/</link>
<pubDate>Sun, 13 Mar 2022 18:49:10 -0400</pubDate>
<guid>/blog/2022/03/13/backing-up-gmail-with-synology/</guid>
<description></description>
</item>
<item>
<title>Running K3s in LXC on Proxmox</title>
<link>/blog/2021/11/14/running-k3s-in-lxc-on-proxmox/</link>
<pubDate>Sun, 14 Nov 2021 10:07:03 -0500</pubDate>
<guid>/blog/2021/11/14/running-k3s-in-lxc-on-proxmox/</guid>
<description></description>
</item>
<item>
<title>Replacing docker with podman on macOS (and Linux)</title>
<link>/blog/2021/10/11/replacing-docker-with-podman-on-macos-and-linux/</link>
<pubDate>Mon, 11 Oct 2021 10:43:35 -0400</pubDate>
<guid>/blog/2021/10/11/replacing-docker-with-podman-on-macos-and-linux/</guid>
<description></description>
</item>
<item>
<title>Automatically Rotating AWS Access Keys</title>
<link>/blog/2021/09/17/automatically-rotating-aws-access-keys/</link>
<pubDate>Fri, 17 Sep 2021 12:48:33 -0400</pubDate>
<guid>/blog/2021/09/17/automatically-rotating-aws-access-keys/</guid>
<description></description>
</item>
<item>
<title>Why I Threw Out My Dotfiles</title>
<link>/blog/2021/09/08/why-i-threw-out-my-dotfiles/</link>
<pubDate>Wed, 08 Sep 2021 00:42:33 -0400</pubDate>
<guid>/blog/2021/09/08/why-i-threw-out-my-dotfiles/</guid>
<description></description>
</item>
<item>
<title>What To Do With A Homelab</title>
<link>/blog/2021/09/06/what-to-do-with-a-homelab/</link>
<pubDate>Mon, 06 Sep 2021 01:12:54 -0400</pubDate>
<guid>/blog/2021/09/06/what-to-do-with-a-homelab/</guid>
<description>&lt;p&gt;A homelab can be an inexpensive way to host a multitude of internal/external services and learn &lt;em&gt;a lot&lt;/em&gt; in the process.&lt;/p&gt;</description>
</item>
<item>
<title>AppGate SDP on Arch Linux</title>
<link>/blog/2020/03/16/appgate-sdp-on-arch-linux/</link>
<pubDate>Mon, 16 Mar 2020 22:00:15 -0400</pubDate>
<guid>/blog/2020/03/16/appgate-sdp-on-arch-linux/</guid>
<description>&lt;p&gt;AppGate SDP provides a Zero Trust network. This post describes how to get AppGate SDP &lt;code&gt;4.3.2&lt;/code&gt; working on Arch Linux.&lt;/p&gt;</description>
</item>
<item>
<title></title>
<link>/page/search/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/page/search/</guid>
<description>test</description>
</item>
</channel>
</rss>

160
public/page/2/index.html Normal file
View File

@@ -0,0 +1,160 @@
<!DOCTYPE html>
<html>
<head>
<meta name="generator" content="Hugo 0.120.3">
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge"><title>davegallant | Home </title><link rel="icon" type="image/png" href=https://davegallant.ca/favicon.ico /><meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="" />
<meta property="og:image" content=""/>
<link rel="alternate" type="application/rss+xml" href="/index.xml" title="davegallant" />
<meta property="og:title" content="davegallant" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="davegallant"/>
<meta name="twitter:description" content=""/>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@1,500&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Fira+Sans&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet">
<link rel="stylesheet" type="text/css" media="screen" href="/css/main.0e5aa3b634b92d61bafebfd908290cc7a034e4d50e6a0c59ce50044560179c4e.css" />
<link id="darkModeStyle" rel="stylesheet" type="text/css" href="/css/dark.b11f422ffce8151207bad84653d44cb512043f9efe93a0a049f836b9cc32b34a.css" disabled />
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$'], ['\\(','\\)']],
displayMath: [['$$','$$'], ['\[','\]']],
processEscapes: true,
processEnvironments: true,
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
TeX: { equationNumbers: { autoNumber: "AMS" },
extensions: ["AMSmath.js", "AMSsymbols.js"] }
}
});
</script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/contrib/auto-render.min.js" onload="renderMathInElement(document.body);"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderMathInElement(document.body, {
delimiters: [
{left: "$$", right: "$$", display: true},
{left: "$", right: "$", display: false}
]
});
});
</script>
<link rel="stylesheet" type="text/css" href="/css/custom.2e59ff60a2d9c7e42e3c1af2aff0ba627da46f910a234867e98d178eb05c87dc.css">
</head>
<body>
<div class="content">
<header>
<div class="main">
<a href="/">davegallant</a>
</div>
<nav>
<a href="/">Home</a>
<a href="/post">All posts</a>
<a href="/index.xml">RSS</a>
<a href="/tags">Tags</a>
<a href="/about">About</a>
| <span id="dark-mode-toggle" onclick="toggleTheme()"></span>
<script src="/js/themetoggle.js"></script>
</nav>
</header>
<main class="list">
<div class="site-description"><p>A personal blog</p></div>
<section class="list-item">
<h1 class="title"><a href="/blog/2020/03/16/appgate-sdp-on-arch-linux/">AppGate SDP on Arch Linux</a></h1>
<time>Mar 16, 2020</time>
<br><div class="description">
</div>
</section>
<ul class="pagination">
<span class="page-item page-prev">
<a href="/" class="page-link" aria-label="Previous"><span aria-hidden="true">← Prev</span></a>
</span>
<span class="page-item page-next">
</span>
</ul>
</main>
<footer>
<div style="display:flex"><a class="soc" href="https://github.com/davegallant" rel="me" title="GitHub"><i data-feather="github"></i></a>
<a class="border"></a><a class="soc" href="https://twitter.com/davega11ant/" rel="me" title="Twitter"><i data-feather="twitter"></i></a>
<a class="border"></a><a class="soc" href="https://mastodon.social/@davegallant" rel="me" title="Mastodon"><i data-feather="speaker"></i></a>
<a class="border"></a><a class="soc" href="https://www.linkedin.com/in/dave-gallant/" rel="me" title="LinkedIn"><i data-feather="linkedin"></i></a>
<a class="border"></a></div>
<div class="footer-info">
2023 Dave Gallant
</div>
</footer>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-V8WJDERTX9"></script>
<script>
var doNotTrack = false;
if (!doNotTrack) {
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-V8WJDERTX9', { 'anonymize_ip': false });
}
</script>
<script>
feather.replace()
</script>
</div>
</body>
</html>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/page/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Pages"/>
<meta name="twitter:description" content=""/>

View File

@@ -6,15 +6,14 @@
<description>Recent content in Pages on davegallant</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright><atom:link href="/page/index.xml" rel="self" type="application/rss+xml" />
<copyright>Dave Gallant</copyright>
<atom:link href="/page/index.xml" rel="self" type="application/rss+xml" />
<item>
<title></title>
<link>/page/search/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>/page/search/</guid>
<description>test</description>
</item>
</channel>
</rss>

View File

@@ -10,6 +10,7 @@
<meta property="og:url" content="/page/search/" /><meta property="article:section" content="page" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content=""/>
<meta name="twitter:description" content="test"/>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/post/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Posts"/>
<meta name="twitter:description" content=""/>
@@ -97,6 +98,8 @@
<ul class="posts"><li class="post">
<a href="/blog/2023/12/10/setting-up-gitea-actions-with-tailscale/">Setting Up Gitea Actions With Tailscale</a> <span class="meta">Dec 10, 2023</span>
</li><li class="post">
<a href="/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/">Using AKS and SOCKS to connect to a Private Azure DB</a> <span class="meta">May 22, 2023</span>
</li><li class="post">
<a href="/blog/2022/12/10/watching-youtube-in-private/">Watching YouTube in Private</a> <span class="meta">Dec 10, 2022</span>

View File

@@ -7,96 +7,84 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate><atom:link href="/post/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Sun, 10 Dec 2023 17:22:11 -0500</lastBuildDate>
<atom:link href="/post/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Setting Up Gitea Actions With Tailscale</title>
<link>/blog/2023/12/10/setting-up-gitea-actions-with-tailscale/</link>
<pubDate>Sun, 10 Dec 2023 17:22:11 -0500</pubDate>
<guid>/blog/2023/12/10/setting-up-gitea-actions-with-tailscale/</guid>
<description></description>
</item>
<item>
<title>Using AKS and SOCKS to connect to a Private Azure DB</title>
<link>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</guid>
<description></description>
</item>
<item>
<title>Watching YouTube in Private</title>
<link>/blog/2022/12/10/watching-youtube-in-private/</link>
<pubDate>Sat, 10 Dec 2022 21:46:55 -0500</pubDate>
<guid>/blog/2022/12/10/watching-youtube-in-private/</guid>
<description></description>
</item>
<item>
<title>Virtualizing My Router With pfSense</title>
<link>/blog/2022/04/02/virtualizing-my-router-with-pfsense/</link>
<pubDate>Sat, 02 Apr 2022 18:50:09 -0400</pubDate>
<guid>/blog/2022/04/02/virtualizing-my-router-with-pfsense/</guid>
<description></description>
</item>
<item>
<title>Backing Up Gmail With Synology</title>
<link>/blog/2022/03/13/backing-up-gmail-with-synology/</link>
<pubDate>Sun, 13 Mar 2022 18:49:10 -0400</pubDate>
<guid>/blog/2022/03/13/backing-up-gmail-with-synology/</guid>
<description></description>
</item>
<item>
<title>Running K3s in LXC on Proxmox</title>
<link>/blog/2021/11/14/running-k3s-in-lxc-on-proxmox/</link>
<pubDate>Sun, 14 Nov 2021 10:07:03 -0500</pubDate>
<guid>/blog/2021/11/14/running-k3s-in-lxc-on-proxmox/</guid>
<description></description>
</item>
<item>
<title>Replacing docker with podman on macOS (and Linux)</title>
<link>/blog/2021/10/11/replacing-docker-with-podman-on-macos-and-linux/</link>
<pubDate>Mon, 11 Oct 2021 10:43:35 -0400</pubDate>
<guid>/blog/2021/10/11/replacing-docker-with-podman-on-macos-and-linux/</guid>
<description></description>
</item>
<item>
<title>Automatically Rotating AWS Access Keys</title>
<link>/blog/2021/09/17/automatically-rotating-aws-access-keys/</link>
<pubDate>Fri, 17 Sep 2021 12:48:33 -0400</pubDate>
<guid>/blog/2021/09/17/automatically-rotating-aws-access-keys/</guid>
<description></description>
</item>
<item>
<title>Why I Threw Out My Dotfiles</title>
<link>/blog/2021/09/08/why-i-threw-out-my-dotfiles/</link>
<pubDate>Wed, 08 Sep 2021 00:42:33 -0400</pubDate>
<guid>/blog/2021/09/08/why-i-threw-out-my-dotfiles/</guid>
<description></description>
</item>
<item>
<title>What To Do With A Homelab</title>
<link>/blog/2021/09/06/what-to-do-with-a-homelab/</link>
<pubDate>Mon, 06 Sep 2021 01:12:54 -0400</pubDate>
<guid>/blog/2021/09/06/what-to-do-with-a-homelab/</guid>
<description>&lt;p&gt;A homelab can be an inexpensive way to host a multitude of internal/external services and learn &lt;em&gt;a lot&lt;/em&gt; in the process.&lt;/p&gt;</description>
</item>
<item>
<title>AppGate SDP on Arch Linux</title>
<link>/blog/2020/03/16/appgate-sdp-on-arch-linux/</link>
<pubDate>Mon, 16 Mar 2020 22:00:15 -0400</pubDate>
<guid>/blog/2020/03/16/appgate-sdp-on-arch-linux/</guid>
<description>&lt;p&gt;AppGate SDP provides a Zero Trust network. This post describes how to get AppGate SDP &lt;code&gt;4.3.2&lt;/code&gt; working on Arch Linux.&lt;/p&gt;</description>
</item>
</channel>
</rss>

View File

@@ -3,6 +3,30 @@
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>/about/</loc>
</url><url>
<loc>/</loc>
<lastmod>2023-12-10T17:22:11-05:00</lastmod>
</url><url>
<loc>/tags/gitea/</loc>
<lastmod>2023-12-10T17:22:11-05:00</lastmod>
</url><url>
<loc>/tags/gitea-actions/</loc>
<lastmod>2023-12-10T17:22:11-05:00</lastmod>
</url><url>
<loc>/tags/github-actions/</loc>
<lastmod>2023-12-10T17:22:11-05:00</lastmod>
</url><url>
<loc>/post/</loc>
<lastmod>2023-12-10T17:22:11-05:00</lastmod>
</url><url>
<loc>/blog/2023/12/10/setting-up-gitea-actions-with-tailscale/</loc>
<lastmod>2023-12-10T17:22:11-05:00</lastmod>
</url><url>
<loc>/tags/</loc>
<lastmod>2023-12-10T17:22:11-05:00</lastmod>
</url><url>
<loc>/tags/tailscale/</loc>
<lastmod>2023-12-10T17:22:11-05:00</lastmod>
</url><url>
<loc>/tags/aks/</loc>
<lastmod>2023-05-22T16:31:29-04:00</lastmod>
@@ -21,9 +45,6 @@
</url><url>
<loc>/tags/database/</loc>
<lastmod>2023-05-22T16:31:29-04:00</lastmod>
</url><url>
<loc>/</loc>
<lastmod>2023-05-22T16:31:29-04:00</lastmod>
</url><url>
<loc>/tags/eks/</loc>
<lastmod>2023-05-22T16:31:29-04:00</lastmod>
@@ -33,18 +54,12 @@
</url><url>
<loc>/tags/kubectl-plugin-socks5-proxy/</loc>
<lastmod>2023-05-22T16:31:29-04:00</lastmod>
</url><url>
<loc>/post/</loc>
<lastmod>2023-05-22T16:31:29-04:00</lastmod>
</url><url>
<loc>/tags/proxy/</loc>
<lastmod>2023-05-22T16:31:29-04:00</lastmod>
</url><url>
<loc>/tags/socks/</loc>
<lastmod>2023-05-22T16:31:29-04:00</lastmod>
</url><url>
<loc>/tags/</loc>
<lastmod>2023-05-22T16:31:29-04:00</lastmod>
</url><url>
<loc>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</loc>
<lastmod>2023-05-22T16:31:29-04:00</lastmod>
@@ -57,9 +72,6 @@
</url><url>
<loc>/tags/privacy/</loc>
<lastmod>2022-12-10T21:46:55-05:00</lastmod>
</url><url>
<loc>/tags/tailscale/</loc>
<lastmod>2022-12-10T21:46:55-05:00</lastmod>
</url><url>
<loc>/blog/2022/12/10/watching-youtube-in-private/</loc>
<lastmod>2022-12-10T21:46:55-05:00</lastmod>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/adguard/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="adguard"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 06 Sep 2021 01:12:54 -0400</lastBuildDate><atom:link href="/tags/adguard/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Mon, 06 Sep 2021 01:12:54 -0400</lastBuildDate>
<atom:link href="/tags/adguard/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>What To Do With A Homelab</title>
<link>/blog/2021/09/06/what-to-do-with-a-homelab/</link>
<pubDate>Mon, 06 Sep 2021 01:12:54 -0400</pubDate>
<guid>/blog/2021/09/06/what-to-do-with-a-homelab/</guid>
<description>&lt;p&gt;A homelab can be an inexpensive way to host a multitude of internal/external services and learn &lt;em&gt;a lot&lt;/em&gt; in the process.&lt;/p&gt;</description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/aks/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="aks"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate><atom:link href="/tags/aks/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate>
<atom:link href="/tags/aks/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Using AKS and SOCKS to connect to a Private Azure DB</title>
<link>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/aws-vault/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="aws-vault"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Fri, 17 Sep 2021 12:48:33 -0400</lastBuildDate><atom:link href="/tags/aws-vault/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Fri, 17 Sep 2021 12:48:33 -0400</lastBuildDate>
<atom:link href="/tags/aws-vault/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Automatically Rotating AWS Access Keys</title>
<link>/blog/2021/09/17/automatically-rotating-aws-access-keys/</link>
<pubDate>Fri, 17 Sep 2021 12:48:33 -0400</pubDate>
<guid>/blog/2021/09/17/automatically-rotating-aws-access-keys/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/aws/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="aws"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,24 +7,21 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate><atom:link href="/tags/aws/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate>
<atom:link href="/tags/aws/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Using AKS and SOCKS to connect to a Private Azure DB</title>
<link>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</guid>
<description></description>
</item>
<item>
<title>Automatically Rotating AWS Access Keys</title>
<link>/blog/2021/09/17/automatically-rotating-aws-access-keys/</link>
<pubDate>Fri, 17 Sep 2021 12:48:33 -0400</pubDate>
<guid>/blog/2021/09/17/automatically-rotating-aws-access-keys/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/azure/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="azure"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate><atom:link href="/tags/azure/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate>
<atom:link href="/tags/azure/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Using AKS and SOCKS to connect to a Private Azure DB</title>
<link>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/backup/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="backup"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Sun, 13 Mar 2022 18:49:10 -0400</lastBuildDate><atom:link href="/tags/backup/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Sun, 13 Mar 2022 18:49:10 -0400</lastBuildDate>
<atom:link href="/tags/backup/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Backing Up Gmail With Synology</title>
<link>/blog/2022/03/13/backing-up-gmail-with-synology/</link>
<pubDate>Sun, 13 Mar 2022 18:49:10 -0400</pubDate>
<guid>/blog/2022/03/13/backing-up-gmail-with-synology/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/bastion/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="bastion"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate><atom:link href="/tags/bastion/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate>
<atom:link href="/tags/bastion/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Using AKS and SOCKS to connect to a Private Azure DB</title>
<link>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/cloud-sql-proxy/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="cloud-sql-proxy"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate><atom:link href="/tags/cloud-sql-proxy/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate>
<atom:link href="/tags/cloud-sql-proxy/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Using AKS and SOCKS to connect to a Private Azure DB</title>
<link>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/containers/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="containers"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 11 Oct 2021 10:43:35 -0400</lastBuildDate><atom:link href="/tags/containers/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Mon, 11 Oct 2021 10:43:35 -0400</lastBuildDate>
<atom:link href="/tags/containers/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Replacing docker with podman on macOS (and Linux)</title>
<link>/blog/2021/10/11/replacing-docker-with-podman-on-macos-and-linux/</link>
<pubDate>Mon, 11 Oct 2021 10:43:35 -0400</pubDate>
<guid>/blog/2021/10/11/replacing-docker-with-podman-on-macos-and-linux/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/database/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="database"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate><atom:link href="/tags/database/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate>
<atom:link href="/tags/database/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Using AKS and SOCKS to connect to a Private Azure DB</title>
<link>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/degoogle/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="degoogle"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,24 +7,21 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Sat, 10 Dec 2022 21:46:55 -0500</lastBuildDate><atom:link href="/tags/degoogle/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Sat, 10 Dec 2022 21:46:55 -0500</lastBuildDate>
<atom:link href="/tags/degoogle/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Watching YouTube in Private</title>
<link>/blog/2022/12/10/watching-youtube-in-private/</link>
<pubDate>Sat, 10 Dec 2022 21:46:55 -0500</pubDate>
<guid>/blog/2022/12/10/watching-youtube-in-private/</guid>
<description></description>
</item>
<item>
<title>Backing Up Gmail With Synology</title>
<link>/blog/2022/03/13/backing-up-gmail-with-synology/</link>
<pubDate>Sun, 13 Mar 2022 18:49:10 -0400</pubDate>
<guid>/blog/2022/03/13/backing-up-gmail-with-synology/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/docker/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="docker"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 11 Oct 2021 10:43:35 -0400</lastBuildDate><atom:link href="/tags/docker/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Mon, 11 Oct 2021 10:43:35 -0400</lastBuildDate>
<atom:link href="/tags/docker/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Replacing docker with podman on macOS (and Linux)</title>
<link>/blog/2021/10/11/replacing-docker-with-podman-on-macos-and-linux/</link>
<pubDate>Mon, 11 Oct 2021 10:43:35 -0400</pubDate>
<guid>/blog/2021/10/11/replacing-docker-with-podman-on-macos-and-linux/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/dotfiles/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="dotfiles"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Wed, 08 Sep 2021 00:42:33 -0400</lastBuildDate><atom:link href="/tags/dotfiles/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Wed, 08 Sep 2021 00:42:33 -0400</lastBuildDate>
<atom:link href="/tags/dotfiles/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Why I Threw Out My Dotfiles</title>
<link>/blog/2021/09/08/why-i-threw-out-my-dotfiles/</link>
<pubDate>Wed, 08 Sep 2021 00:42:33 -0400</pubDate>
<guid>/blog/2021/09/08/why-i-threw-out-my-dotfiles/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/eks/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="eks"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate><atom:link href="/tags/eks/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate>
<atom:link href="/tags/eks/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Using AKS and SOCKS to connect to a Private Azure DB</title>
<link>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -0,0 +1,151 @@
<!DOCTYPE html>
<html><head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge"><title>gitea actions - davegallant</title><link rel="icon" type="image/png" href=https://davegallant.ca/favicon.ico /><meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="" />
<meta property="og:image" content=""/>
<link rel="alternate" type="application/rss+xml" href="/tags/gitea-actions/index.xml" title="davegallant" />
<meta property="og:title" content="gitea actions" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/gitea-actions/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="gitea actions"/>
<meta name="twitter:description" content=""/>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@1,500&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Fira+Sans&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet">
<link rel="stylesheet" type="text/css" media="screen" href="/css/main.0e5aa3b634b92d61bafebfd908290cc7a034e4d50e6a0c59ce50044560179c4e.css" />
<link id="darkModeStyle" rel="stylesheet" type="text/css" href="/css/dark.b11f422ffce8151207bad84653d44cb512043f9efe93a0a049f836b9cc32b34a.css" disabled />
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$'], ['\\(','\\)']],
displayMath: [['$$','$$'], ['\[','\]']],
processEscapes: true,
processEnvironments: true,
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
TeX: { equationNumbers: { autoNumber: "AMS" },
extensions: ["AMSmath.js", "AMSsymbols.js"] }
}
});
</script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/contrib/auto-render.min.js" onload="renderMathInElement(document.body);"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderMathInElement(document.body, {
delimiters: [
{left: "$$", right: "$$", display: true},
{left: "$", right: "$", display: false}
]
});
});
</script>
<link rel="stylesheet" type="text/css" href="/css/custom.2e59ff60a2d9c7e42e3c1af2aff0ba627da46f910a234867e98d178eb05c87dc.css">
</head>
<body>
<div class="content"><header>
<div class="main">
<a href="/">davegallant</a>
</div>
<nav>
<a href="/">Home</a>
<a href="/post">All posts</a>
<a href="/index.xml">RSS</a>
<a href="/tags">Tags</a>
<a href="/about">About</a>
| <span id="dark-mode-toggle" onclick="toggleTheme()"></span>
<script src="/js/themetoggle.js"></script>
</nav>
</header>
<h1>Entries tagged - "gitea actions"</h1>
<ul class="posts"><li class="post">
<a href="/blog/2023/12/10/setting-up-gitea-actions-with-tailscale/">Setting Up Gitea Actions With Tailscale</a> <span class="meta">Dec 10, 2023</span>
</li></ul>
<section id='comments' class='comments'>
<div class='container sep-before'>
<div class='comments'><script>
var getTheme = window.localStorage && window.localStorage.getItem("theme-storage");
getTheme = getTheme == null ? 'light' : getTheme;
let theme = getTheme === 'dark' ? 'github-dark' : 'github-light';
let s = document.createElement('script');
s.src = 'https://utteranc.es/client.js';
s.setAttribute('repo', 'davegallant\/davegallant.github.io');
s.setAttribute('issue-term', 'pathname');
s.setAttribute('theme', theme);
s.setAttribute('crossorigin', 'anonymous');
s.setAttribute('async', '');
document.querySelector('div.comments').innerHTML = '';
document.querySelector('div.comments').appendChild(s);
</script>
</div>
</div>
</section><footer>
<div style="display:flex"><a class="soc" href="https://github.com/davegallant" rel="me" title="GitHub"><i data-feather="github"></i></a>
<a class="border"></a><a class="soc" href="https://twitter.com/davega11ant/" rel="me" title="Twitter"><i data-feather="twitter"></i></a>
<a class="border"></a><a class="soc" href="https://mastodon.social/@davegallant" rel="me" title="Mastodon"><i data-feather="speaker"></i></a>
<a class="border"></a><a class="soc" href="https://www.linkedin.com/in/dave-gallant/" rel="me" title="LinkedIn"><i data-feather="linkedin"></i></a>
<a class="border"></a></div>
<div class="footer-info">
2023 Dave Gallant
</div>
</footer>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-V8WJDERTX9"></script>
<script>
var doNotTrack = false;
if (!doNotTrack) {
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-V8WJDERTX9', { 'anonymize_ip': false });
}
</script>
<script>
feather.replace()
</script></div>
</body>
</html>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>gitea actions on davegallant</title>
<link>/tags/gitea-actions/</link>
<description>Recent content in gitea actions on davegallant</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Sun, 10 Dec 2023 17:22:11 -0500</lastBuildDate>
<atom:link href="/tags/gitea-actions/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Setting Up Gitea Actions With Tailscale</title>
<link>/blog/2023/12/10/setting-up-gitea-actions-with-tailscale/</link>
<pubDate>Sun, 10 Dec 2023 17:22:11 -0500</pubDate>
<guid>/blog/2023/12/10/setting-up-gitea-actions-with-tailscale/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -0,0 +1,151 @@
<!DOCTYPE html>
<html><head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge"><title>gitea - davegallant</title><link rel="icon" type="image/png" href=https://davegallant.ca/favicon.ico /><meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="" />
<meta property="og:image" content=""/>
<link rel="alternate" type="application/rss+xml" href="/tags/gitea/index.xml" title="davegallant" />
<meta property="og:title" content="gitea" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/gitea/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="gitea"/>
<meta name="twitter:description" content=""/>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@1,500&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Fira+Sans&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet">
<link rel="stylesheet" type="text/css" media="screen" href="/css/main.0e5aa3b634b92d61bafebfd908290cc7a034e4d50e6a0c59ce50044560179c4e.css" />
<link id="darkModeStyle" rel="stylesheet" type="text/css" href="/css/dark.b11f422ffce8151207bad84653d44cb512043f9efe93a0a049f836b9cc32b34a.css" disabled />
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$'], ['\\(','\\)']],
displayMath: [['$$','$$'], ['\[','\]']],
processEscapes: true,
processEnvironments: true,
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
TeX: { equationNumbers: { autoNumber: "AMS" },
extensions: ["AMSmath.js", "AMSsymbols.js"] }
}
});
</script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/contrib/auto-render.min.js" onload="renderMathInElement(document.body);"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderMathInElement(document.body, {
delimiters: [
{left: "$$", right: "$$", display: true},
{left: "$", right: "$", display: false}
]
});
});
</script>
<link rel="stylesheet" type="text/css" href="/css/custom.2e59ff60a2d9c7e42e3c1af2aff0ba627da46f910a234867e98d178eb05c87dc.css">
</head>
<body>
<div class="content"><header>
<div class="main">
<a href="/">davegallant</a>
</div>
<nav>
<a href="/">Home</a>
<a href="/post">All posts</a>
<a href="/index.xml">RSS</a>
<a href="/tags">Tags</a>
<a href="/about">About</a>
| <span id="dark-mode-toggle" onclick="toggleTheme()"></span>
<script src="/js/themetoggle.js"></script>
</nav>
</header>
<h1>Entries tagged - "gitea"</h1>
<ul class="posts"><li class="post">
<a href="/blog/2023/12/10/setting-up-gitea-actions-with-tailscale/">Setting Up Gitea Actions With Tailscale</a> <span class="meta">Dec 10, 2023</span>
</li></ul>
<section id='comments' class='comments'>
<div class='container sep-before'>
<div class='comments'><script>
var getTheme = window.localStorage && window.localStorage.getItem("theme-storage");
getTheme = getTheme == null ? 'light' : getTheme;
let theme = getTheme === 'dark' ? 'github-dark' : 'github-light';
let s = document.createElement('script');
s.src = 'https://utteranc.es/client.js';
s.setAttribute('repo', 'davegallant\/davegallant.github.io');
s.setAttribute('issue-term', 'pathname');
s.setAttribute('theme', theme);
s.setAttribute('crossorigin', 'anonymous');
s.setAttribute('async', '');
document.querySelector('div.comments').innerHTML = '';
document.querySelector('div.comments').appendChild(s);
</script>
</div>
</div>
</section><footer>
<div style="display:flex"><a class="soc" href="https://github.com/davegallant" rel="me" title="GitHub"><i data-feather="github"></i></a>
<a class="border"></a><a class="soc" href="https://twitter.com/davega11ant/" rel="me" title="Twitter"><i data-feather="twitter"></i></a>
<a class="border"></a><a class="soc" href="https://mastodon.social/@davegallant" rel="me" title="Mastodon"><i data-feather="speaker"></i></a>
<a class="border"></a><a class="soc" href="https://www.linkedin.com/in/dave-gallant/" rel="me" title="LinkedIn"><i data-feather="linkedin"></i></a>
<a class="border"></a></div>
<div class="footer-info">
2023 Dave Gallant
</div>
</footer>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-V8WJDERTX9"></script>
<script>
var doNotTrack = false;
if (!doNotTrack) {
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-V8WJDERTX9', { 'anonymize_ip': false });
}
</script>
<script>
feather.replace()
</script></div>
</body>
</html>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>gitea on davegallant</title>
<link>/tags/gitea/</link>
<description>Recent content in gitea on davegallant</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Sun, 10 Dec 2023 17:22:11 -0500</lastBuildDate>
<atom:link href="/tags/gitea/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Setting Up Gitea Actions With Tailscale</title>
<link>/blog/2023/12/10/setting-up-gitea-actions-with-tailscale/</link>
<pubDate>Sun, 10 Dec 2023 17:22:11 -0500</pubDate>
<guid>/blog/2023/12/10/setting-up-gitea-actions-with-tailscale/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -0,0 +1,151 @@
<!DOCTYPE html>
<html><head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge"><title>github actions - davegallant</title><link rel="icon" type="image/png" href=https://davegallant.ca/favicon.ico /><meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="" />
<meta property="og:image" content=""/>
<link rel="alternate" type="application/rss+xml" href="/tags/github-actions/index.xml" title="davegallant" />
<meta property="og:title" content="github actions" />
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/github-actions/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="github actions"/>
<meta name="twitter:description" content=""/>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@1,500&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Fira+Sans&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet">
<link rel="stylesheet" type="text/css" media="screen" href="/css/main.0e5aa3b634b92d61bafebfd908290cc7a034e4d50e6a0c59ce50044560179c4e.css" />
<link id="darkModeStyle" rel="stylesheet" type="text/css" href="/css/dark.b11f422ffce8151207bad84653d44cb512043f9efe93a0a049f836b9cc32b34a.css" disabled />
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$'], ['\\(','\\)']],
displayMath: [['$$','$$'], ['\[','\]']],
processEscapes: true,
processEnvironments: true,
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
TeX: { equationNumbers: { autoNumber: "AMS" },
extensions: ["AMSmath.js", "AMSsymbols.js"] }
}
});
</script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.js"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/contrib/auto-render.min.js" onload="renderMathInElement(document.body);"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderMathInElement(document.body, {
delimiters: [
{left: "$$", right: "$$", display: true},
{left: "$", right: "$", display: false}
]
});
});
</script>
<link rel="stylesheet" type="text/css" href="/css/custom.2e59ff60a2d9c7e42e3c1af2aff0ba627da46f910a234867e98d178eb05c87dc.css">
</head>
<body>
<div class="content"><header>
<div class="main">
<a href="/">davegallant</a>
</div>
<nav>
<a href="/">Home</a>
<a href="/post">All posts</a>
<a href="/index.xml">RSS</a>
<a href="/tags">Tags</a>
<a href="/about">About</a>
| <span id="dark-mode-toggle" onclick="toggleTheme()"></span>
<script src="/js/themetoggle.js"></script>
</nav>
</header>
<h1>Entries tagged - "github actions"</h1>
<ul class="posts"><li class="post">
<a href="/blog/2023/12/10/setting-up-gitea-actions-with-tailscale/">Setting Up Gitea Actions With Tailscale</a> <span class="meta">Dec 10, 2023</span>
</li></ul>
<section id='comments' class='comments'>
<div class='container sep-before'>
<div class='comments'><script>
var getTheme = window.localStorage && window.localStorage.getItem("theme-storage");
getTheme = getTheme == null ? 'light' : getTheme;
let theme = getTheme === 'dark' ? 'github-dark' : 'github-light';
let s = document.createElement('script');
s.src = 'https://utteranc.es/client.js';
s.setAttribute('repo', 'davegallant\/davegallant.github.io');
s.setAttribute('issue-term', 'pathname');
s.setAttribute('theme', theme);
s.setAttribute('crossorigin', 'anonymous');
s.setAttribute('async', '');
document.querySelector('div.comments').innerHTML = '';
document.querySelector('div.comments').appendChild(s);
</script>
</div>
</div>
</section><footer>
<div style="display:flex"><a class="soc" href="https://github.com/davegallant" rel="me" title="GitHub"><i data-feather="github"></i></a>
<a class="border"></a><a class="soc" href="https://twitter.com/davega11ant/" rel="me" title="Twitter"><i data-feather="twitter"></i></a>
<a class="border"></a><a class="soc" href="https://mastodon.social/@davegallant" rel="me" title="Mastodon"><i data-feather="speaker"></i></a>
<a class="border"></a><a class="soc" href="https://www.linkedin.com/in/dave-gallant/" rel="me" title="LinkedIn"><i data-feather="linkedin"></i></a>
<a class="border"></a></div>
<div class="footer-info">
2023 Dave Gallant
</div>
</footer>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-V8WJDERTX9"></script>
<script>
var doNotTrack = false;
if (!doNotTrack) {
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-V8WJDERTX9', { 'anonymize_ip': false });
}
</script>
<script>
feather.replace()
</script></div>
</body>
</html>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>github actions on davegallant</title>
<link>/tags/github-actions/</link>
<description>Recent content in github actions on davegallant</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Sun, 10 Dec 2023 17:22:11 -0500</lastBuildDate>
<atom:link href="/tags/github-actions/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Setting Up Gitea Actions With Tailscale</title>
<link>/blog/2023/12/10/setting-up-gitea-actions-with-tailscale/</link>
<pubDate>Sun, 10 Dec 2023 17:22:11 -0500</pubDate>
<guid>/blog/2023/12/10/setting-up-gitea-actions-with-tailscale/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/gmail/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="gmail"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Sun, 13 Mar 2022 18:49:10 -0400</lastBuildDate><atom:link href="/tags/gmail/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Sun, 13 Mar 2022 18:49:10 -0400</lastBuildDate>
<atom:link href="/tags/gmail/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Backing Up Gmail With Synology</title>
<link>/blog/2022/03/13/backing-up-gmail-with-synology/</link>
<pubDate>Sun, 13 Mar 2022 18:49:10 -0400</pubDate>
<guid>/blog/2022/03/13/backing-up-gmail-with-synology/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/grafana/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="grafana"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 06 Sep 2021 01:12:54 -0400</lastBuildDate><atom:link href="/tags/grafana/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Mon, 06 Sep 2021 01:12:54 -0400</lastBuildDate>
<atom:link href="/tags/grafana/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>What To Do With A Homelab</title>
<link>/blog/2021/09/06/what-to-do-with-a-homelab/</link>
<pubDate>Mon, 06 Sep 2021 01:12:54 -0400</pubDate>
<guid>/blog/2021/09/06/what-to-do-with-a-homelab/</guid>
<description>&lt;p&gt;A homelab can be an inexpensive way to host a multitude of internal/external services and learn &lt;em&gt;a lot&lt;/em&gt; in the process.&lt;/p&gt;</description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/home-manager/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="home-manager"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Wed, 08 Sep 2021 00:42:33 -0400</lastBuildDate><atom:link href="/tags/home-manager/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Wed, 08 Sep 2021 00:42:33 -0400</lastBuildDate>
<atom:link href="/tags/home-manager/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Why I Threw Out My Dotfiles</title>
<link>/blog/2021/09/08/why-i-threw-out-my-dotfiles/</link>
<pubDate>Wed, 08 Sep 2021 00:42:33 -0400</pubDate>
<guid>/blog/2021/09/08/why-i-threw-out-my-dotfiles/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/homelab/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="homelab"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 06 Sep 2021 01:12:54 -0400</lastBuildDate><atom:link href="/tags/homelab/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Mon, 06 Sep 2021 01:12:54 -0400</lastBuildDate>
<atom:link href="/tags/homelab/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>What To Do With A Homelab</title>
<link>/blog/2021/09/06/what-to-do-with-a-homelab/</link>
<pubDate>Mon, 06 Sep 2021 01:12:54 -0400</pubDate>
<guid>/blog/2021/09/06/what-to-do-with-a-homelab/</guid>
<description>&lt;p&gt;A homelab can be an inexpensive way to host a multitude of internal/external services and learn &lt;em&gt;a lot&lt;/em&gt; in the process.&lt;/p&gt;</description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Tags"/>
<meta name="twitter:description" content=""/>
@@ -106,6 +107,10 @@
<li><a style="font-size: 1rem;" href="/tags/tailscale/">tailscale</a></li>
<li><a style="font-size: 1rem;" href="/tags/aws/">aws</a></li>
@@ -122,10 +127,6 @@
<li><a style="font-size: 1rem;" href="/tags/tailscale/">tailscale</a></li>
<li><a style="font-size: 1rem;" href="/tags/adguard/">adguard</a></li>
@@ -174,6 +175,18 @@
<li><a style="font-size: 1rem;" href="/tags/gitea/">gitea</a></li>
<li><a style="font-size: 1rem;" href="/tags/gitea-actions/">gitea-actions</a></li>
<li><a style="font-size: 1rem;" href="/tags/github-actions/">github-actions</a></li>
<li><a style="font-size: 1rem;" href="/tags/gmail/">gmail</a></li>

View File

@@ -7,438 +7,364 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate><atom:link href="/tags/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Sun, 10 Dec 2023 17:22:11 -0500</lastBuildDate>
<atom:link href="/tags/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>gitea</title>
<link>/tags/gitea/</link>
<pubDate>Sun, 10 Dec 2023 17:22:11 -0500</pubDate>
<guid>/tags/gitea/</guid>
<description></description>
</item>
<item>
<title>gitea actions</title>
<link>/tags/gitea-actions/</link>
<pubDate>Sun, 10 Dec 2023 17:22:11 -0500</pubDate>
<guid>/tags/gitea-actions/</guid>
<description></description>
</item>
<item>
<title>github actions</title>
<link>/tags/github-actions/</link>
<pubDate>Sun, 10 Dec 2023 17:22:11 -0500</pubDate>
<guid>/tags/github-actions/</guid>
<description></description>
</item>
<item>
<title>tailscale</title>
<link>/tags/tailscale/</link>
<pubDate>Sun, 10 Dec 2023 17:22:11 -0500</pubDate>
<guid>/tags/tailscale/</guid>
<description></description>
</item>
<item>
<title>aks</title>
<link>/tags/aks/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/tags/aks/</guid>
<description></description>
</item>
<item>
<title>aws</title>
<link>/tags/aws/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/tags/aws/</guid>
<description></description>
</item>
<item>
<title>azure</title>
<link>/tags/azure/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/tags/azure/</guid>
<description></description>
</item>
<item>
<title>bastion</title>
<link>/tags/bastion/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/tags/bastion/</guid>
<description></description>
</item>
<item>
<title>cloud-sql-proxy</title>
<link>/tags/cloud-sql-proxy/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/tags/cloud-sql-proxy/</guid>
<description></description>
</item>
<item>
<title>database</title>
<link>/tags/database/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/tags/database/</guid>
<description></description>
</item>
<item>
<title>eks</title>
<link>/tags/eks/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/tags/eks/</guid>
<description></description>
</item>
<item>
<title>k8s</title>
<link>/tags/k8s/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/tags/k8s/</guid>
<description></description>
</item>
<item>
<title>kubectl-plugin-socks5-proxy</title>
<link>/tags/kubectl-plugin-socks5-proxy/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/tags/kubectl-plugin-socks5-proxy/</guid>
<description></description>
</item>
<item>
<title>proxy</title>
<link>/tags/proxy/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/tags/proxy/</guid>
<description></description>
</item>
<item>
<title>socks</title>
<link>/tags/socks/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/tags/socks/</guid>
<description></description>
</item>
<item>
<title>degoogle</title>
<link>/tags/degoogle/</link>
<pubDate>Sat, 10 Dec 2022 21:46:55 -0500</pubDate>
<guid>/tags/degoogle/</guid>
<description></description>
</item>
<item>
<title>invidious</title>
<link>/tags/invidious/</link>
<pubDate>Sat, 10 Dec 2022 21:46:55 -0500</pubDate>
<guid>/tags/invidious/</guid>
<description></description>
</item>
<item>
<title>privacy</title>
<link>/tags/privacy/</link>
<pubDate>Sat, 10 Dec 2022 21:46:55 -0500</pubDate>
<guid>/tags/privacy/</guid>
<description></description>
</item>
<item>
<title>tailscale</title>
<link>/tags/tailscale/</link>
<pubDate>Sat, 10 Dec 2022 21:46:55 -0500</pubDate>
<guid>/tags/tailscale/</guid>
<description></description>
</item>
<item>
<title>yewtu.be</title>
<link>/tags/yewtu.be/</link>
<pubDate>Sat, 10 Dec 2022 21:46:55 -0500</pubDate>
<guid>/tags/yewtu.be/</guid>
<description></description>
</item>
<item>
<title>youtube</title>
<link>/tags/youtube/</link>
<pubDate>Sat, 10 Dec 2022 21:46:55 -0500</pubDate>
<guid>/tags/youtube/</guid>
<description></description>
</item>
<item>
<title>openwrt</title>
<link>/tags/openwrt/</link>
<pubDate>Sat, 02 Apr 2022 18:50:09 -0400</pubDate>
<guid>/tags/openwrt/</guid>
<description></description>
</item>
<item>
<title>pfsense</title>
<link>/tags/pfsense/</link>
<pubDate>Sat, 02 Apr 2022 18:50:09 -0400</pubDate>
<guid>/tags/pfsense/</guid>
<description></description>
</item>
<item>
<title>proxmox</title>
<link>/tags/proxmox/</link>
<pubDate>Sat, 02 Apr 2022 18:50:09 -0400</pubDate>
<guid>/tags/proxmox/</guid>
<description></description>
</item>
<item>
<title>router</title>
<link>/tags/router/</link>
<pubDate>Sat, 02 Apr 2022 18:50:09 -0400</pubDate>
<guid>/tags/router/</guid>
<description></description>
</item>
<item>
<title>router-on-a-stick</title>
<link>/tags/router-on-a-stick/</link>
<pubDate>Sat, 02 Apr 2022 18:50:09 -0400</pubDate>
<guid>/tags/router-on-a-stick/</guid>
<description></description>
</item>
<item>
<title>vlan</title>
<link>/tags/vlan/</link>
<pubDate>Sat, 02 Apr 2022 18:50:09 -0400</pubDate>
<guid>/tags/vlan/</guid>
<description></description>
</item>
<item>
<title>backup</title>
<link>/tags/backup/</link>
<pubDate>Sun, 13 Mar 2022 18:49:10 -0400</pubDate>
<guid>/tags/backup/</guid>
<description></description>
</item>
<item>
<title>gmail</title>
<link>/tags/gmail/</link>
<pubDate>Sun, 13 Mar 2022 18:49:10 -0400</pubDate>
<guid>/tags/gmail/</guid>
<description></description>
</item>
<item>
<title>ransomware</title>
<link>/tags/ransomware/</link>
<pubDate>Sun, 13 Mar 2022 18:49:10 -0400</pubDate>
<guid>/tags/ransomware/</guid>
<description></description>
</item>
<item>
<title>synology</title>
<link>/tags/synology/</link>
<pubDate>Sun, 13 Mar 2022 18:49:10 -0400</pubDate>
<guid>/tags/synology/</guid>
<description></description>
</item>
<item>
<title>k3s</title>
<link>/tags/k3s/</link>
<pubDate>Sun, 14 Nov 2021 10:07:03 -0500</pubDate>
<guid>/tags/k3s/</guid>
<description></description>
</item>
<item>
<title>lxc</title>
<link>/tags/lxc/</link>
<pubDate>Sun, 14 Nov 2021 10:07:03 -0500</pubDate>
<guid>/tags/lxc/</guid>
<description></description>
</item>
<item>
<title>containers</title>
<link>/tags/containers/</link>
<pubDate>Mon, 11 Oct 2021 10:43:35 -0400</pubDate>
<guid>/tags/containers/</guid>
<description></description>
</item>
<item>
<title>docker</title>
<link>/tags/docker/</link>
<pubDate>Mon, 11 Oct 2021 10:43:35 -0400</pubDate>
<guid>/tags/docker/</guid>
<description></description>
</item>
<item>
<title>podman</title>
<link>/tags/podman/</link>
<pubDate>Mon, 11 Oct 2021 10:43:35 -0400</pubDate>
<guid>/tags/podman/</guid>
<description></description>
</item>
<item>
<title>aws-vault</title>
<link>/tags/aws-vault/</link>
<pubDate>Fri, 17 Sep 2021 12:48:33 -0400</pubDate>
<guid>/tags/aws-vault/</guid>
<description></description>
</item>
<item>
<title>python</title>
<link>/tags/python/</link>
<pubDate>Fri, 17 Sep 2021 12:48:33 -0400</pubDate>
<guid>/tags/python/</guid>
<description></description>
</item>
<item>
<title>security</title>
<link>/tags/security/</link>
<pubDate>Fri, 17 Sep 2021 12:48:33 -0400</pubDate>
<guid>/tags/security/</guid>
<description></description>
</item>
<item>
<title>dotfiles</title>
<link>/tags/dotfiles/</link>
<pubDate>Wed, 08 Sep 2021 00:42:33 -0400</pubDate>
<guid>/tags/dotfiles/</guid>
<description></description>
</item>
<item>
<title>home-manager</title>
<link>/tags/home-manager/</link>
<pubDate>Wed, 08 Sep 2021 00:42:33 -0400</pubDate>
<guid>/tags/home-manager/</guid>
<description></description>
</item>
<item>
<title>nix</title>
<link>/tags/nix/</link>
<pubDate>Wed, 08 Sep 2021 00:42:33 -0400</pubDate>
<guid>/tags/nix/</guid>
<description></description>
</item>
<item>
<title>adguard</title>
<link>/tags/adguard/</link>
<pubDate>Mon, 06 Sep 2021 01:12:54 -0400</pubDate>
<guid>/tags/adguard/</guid>
<description></description>
</item>
<item>
<title>grafana</title>
<link>/tags/grafana/</link>
<pubDate>Mon, 06 Sep 2021 01:12:54 -0400</pubDate>
<guid>/tags/grafana/</guid>
<description></description>
</item>
<item>
<title>homelab</title>
<link>/tags/homelab/</link>
<pubDate>Mon, 06 Sep 2021 01:12:54 -0400</pubDate>
<guid>/tags/homelab/</guid>
<description></description>
</item>
<item>
<title>jellyfin</title>
<link>/tags/jellyfin/</link>
<pubDate>Mon, 06 Sep 2021 01:12:54 -0400</pubDate>
<guid>/tags/jellyfin/</guid>
<description></description>
</item>
<item>
<title>netdata</title>
<link>/tags/netdata/</link>
<pubDate>Mon, 06 Sep 2021 01:12:54 -0400</pubDate>
<guid>/tags/netdata/</guid>
<description></description>
</item>
<item>
<title>pihole</title>
<link>/tags/pihole/</link>
<pubDate>Mon, 06 Sep 2021 01:12:54 -0400</pubDate>
<guid>/tags/pihole/</guid>
<description></description>
</item>
<item>
<title>plex</title>
<link>/tags/plex/</link>
<pubDate>Mon, 06 Sep 2021 01:12:54 -0400</pubDate>
<guid>/tags/plex/</guid>
<description></description>
</item>
<item>
<title>virtualization</title>
<link>/tags/virtualization/</link>
<pubDate>Mon, 06 Sep 2021 01:12:54 -0400</pubDate>
<guid>/tags/virtualization/</guid>
<description></description>
</item>
<item>
<title>linux</title>
<link>/tags/linux/</link>
<pubDate>Mon, 16 Mar 2020 22:00:15 -0400</pubDate>
<guid>/tags/linux/</guid>
<description></description>
</item>
<item>
<title>vpn</title>
<link>/tags/vpn/</link>
<pubDate>Mon, 16 Mar 2020 22:00:15 -0400</pubDate>
<guid>/tags/vpn/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/invidious/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="invidious"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Sat, 10 Dec 2022 21:46:55 -0500</lastBuildDate><atom:link href="/tags/invidious/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Sat, 10 Dec 2022 21:46:55 -0500</lastBuildDate>
<atom:link href="/tags/invidious/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Watching YouTube in Private</title>
<link>/blog/2022/12/10/watching-youtube-in-private/</link>
<pubDate>Sat, 10 Dec 2022 21:46:55 -0500</pubDate>
<guid>/blog/2022/12/10/watching-youtube-in-private/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/jellyfin/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="jellyfin"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 06 Sep 2021 01:12:54 -0400</lastBuildDate><atom:link href="/tags/jellyfin/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Mon, 06 Sep 2021 01:12:54 -0400</lastBuildDate>
<atom:link href="/tags/jellyfin/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>What To Do With A Homelab</title>
<link>/blog/2021/09/06/what-to-do-with-a-homelab/</link>
<pubDate>Mon, 06 Sep 2021 01:12:54 -0400</pubDate>
<guid>/blog/2021/09/06/what-to-do-with-a-homelab/</guid>
<description>&lt;p&gt;A homelab can be an inexpensive way to host a multitude of internal/external services and learn &lt;em&gt;a lot&lt;/em&gt; in the process.&lt;/p&gt;</description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/k3s/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="k3s"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Sun, 14 Nov 2021 10:07:03 -0500</lastBuildDate><atom:link href="/tags/k3s/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Sun, 14 Nov 2021 10:07:03 -0500</lastBuildDate>
<atom:link href="/tags/k3s/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Running K3s in LXC on Proxmox</title>
<link>/blog/2021/11/14/running-k3s-in-lxc-on-proxmox/</link>
<pubDate>Sun, 14 Nov 2021 10:07:03 -0500</pubDate>
<guid>/blog/2021/11/14/running-k3s-in-lxc-on-proxmox/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/k8s/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="k8s"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate><atom:link href="/tags/k8s/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate>
<atom:link href="/tags/k8s/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Using AKS and SOCKS to connect to a Private Azure DB</title>
<link>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/kubectl-plugin-socks5-proxy/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="kubectl-plugin-socks5-proxy"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate><atom:link href="/tags/kubectl-plugin-socks5-proxy/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Mon, 22 May 2023 16:31:29 -0400</lastBuildDate>
<atom:link href="/tags/kubectl-plugin-socks5-proxy/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Using AKS and SOCKS to connect to a Private Azure DB</title>
<link>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</link>
<pubDate>Mon, 22 May 2023 16:31:29 -0400</pubDate>
<guid>/blog/2023/05/22/using-aks-and-socks-to-connect-to-a-private-azure-db/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/linux/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="linux"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 16 Mar 2020 22:00:15 -0400</lastBuildDate><atom:link href="/tags/linux/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Mon, 16 Mar 2020 22:00:15 -0400</lastBuildDate>
<atom:link href="/tags/linux/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>AppGate SDP on Arch Linux</title>
<link>/blog/2020/03/16/appgate-sdp-on-arch-linux/</link>
<pubDate>Mon, 16 Mar 2020 22:00:15 -0400</pubDate>
<guid>/blog/2020/03/16/appgate-sdp-on-arch-linux/</guid>
<description>&lt;p&gt;AppGate SDP provides a Zero Trust network. This post describes how to get AppGate SDP &lt;code&gt;4.3.2&lt;/code&gt; working on Arch Linux.&lt;/p&gt;</description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/lxc/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="lxc"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Sun, 14 Nov 2021 10:07:03 -0500</lastBuildDate><atom:link href="/tags/lxc/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Sun, 14 Nov 2021 10:07:03 -0500</lastBuildDate>
<atom:link href="/tags/lxc/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Running K3s in LXC on Proxmox</title>
<link>/blog/2021/11/14/running-k3s-in-lxc-on-proxmox/</link>
<pubDate>Sun, 14 Nov 2021 10:07:03 -0500</pubDate>
<guid>/blog/2021/11/14/running-k3s-in-lxc-on-proxmox/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/netdata/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="netdata"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 06 Sep 2021 01:12:54 -0400</lastBuildDate><atom:link href="/tags/netdata/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Mon, 06 Sep 2021 01:12:54 -0400</lastBuildDate>
<atom:link href="/tags/netdata/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>What To Do With A Homelab</title>
<link>/blog/2021/09/06/what-to-do-with-a-homelab/</link>
<pubDate>Mon, 06 Sep 2021 01:12:54 -0400</pubDate>
<guid>/blog/2021/09/06/what-to-do-with-a-homelab/</guid>
<description>&lt;p&gt;A homelab can be an inexpensive way to host a multitude of internal/external services and learn &lt;em&gt;a lot&lt;/em&gt; in the process.&lt;/p&gt;</description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/nix/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="nix"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Wed, 08 Sep 2021 00:42:33 -0400</lastBuildDate><atom:link href="/tags/nix/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Wed, 08 Sep 2021 00:42:33 -0400</lastBuildDate>
<atom:link href="/tags/nix/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Why I Threw Out My Dotfiles</title>
<link>/blog/2021/09/08/why-i-threw-out-my-dotfiles/</link>
<pubDate>Wed, 08 Sep 2021 00:42:33 -0400</pubDate>
<guid>/blog/2021/09/08/why-i-threw-out-my-dotfiles/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/openwrt/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="openwrt"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Sat, 02 Apr 2022 18:50:09 -0400</lastBuildDate><atom:link href="/tags/openwrt/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Sat, 02 Apr 2022 18:50:09 -0400</lastBuildDate>
<atom:link href="/tags/openwrt/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Virtualizing My Router With pfSense</title>
<link>/blog/2022/04/02/virtualizing-my-router-with-pfsense/</link>
<pubDate>Sat, 02 Apr 2022 18:50:09 -0400</pubDate>
<guid>/blog/2022/04/02/virtualizing-my-router-with-pfsense/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/pfsense/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="pfsense"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Sat, 02 Apr 2022 18:50:09 -0400</lastBuildDate><atom:link href="/tags/pfsense/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Sat, 02 Apr 2022 18:50:09 -0400</lastBuildDate>
<atom:link href="/tags/pfsense/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Virtualizing My Router With pfSense</title>
<link>/blog/2022/04/02/virtualizing-my-router-with-pfsense/</link>
<pubDate>Sat, 02 Apr 2022 18:50:09 -0400</pubDate>
<guid>/blog/2022/04/02/virtualizing-my-router-with-pfsense/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/pihole/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="pihole"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 06 Sep 2021 01:12:54 -0400</lastBuildDate><atom:link href="/tags/pihole/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Mon, 06 Sep 2021 01:12:54 -0400</lastBuildDate>
<atom:link href="/tags/pihole/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>What To Do With A Homelab</title>
<link>/blog/2021/09/06/what-to-do-with-a-homelab/</link>
<pubDate>Mon, 06 Sep 2021 01:12:54 -0400</pubDate>
<guid>/blog/2021/09/06/what-to-do-with-a-homelab/</guid>
<description>&lt;p&gt;A homelab can be an inexpensive way to host a multitude of internal/external services and learn &lt;em&gt;a lot&lt;/em&gt; in the process.&lt;/p&gt;</description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/plex/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="plex"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 06 Sep 2021 01:12:54 -0400</lastBuildDate><atom:link href="/tags/plex/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Mon, 06 Sep 2021 01:12:54 -0400</lastBuildDate>
<atom:link href="/tags/plex/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>What To Do With A Homelab</title>
<link>/blog/2021/09/06/what-to-do-with-a-homelab/</link>
<pubDate>Mon, 06 Sep 2021 01:12:54 -0400</pubDate>
<guid>/blog/2021/09/06/what-to-do-with-a-homelab/</guid>
<description>&lt;p&gt;A homelab can be an inexpensive way to host a multitude of internal/external services and learn &lt;em&gt;a lot&lt;/em&gt; in the process.&lt;/p&gt;</description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/podman/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="podman"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Mon, 11 Oct 2021 10:43:35 -0400</lastBuildDate><atom:link href="/tags/podman/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Mon, 11 Oct 2021 10:43:35 -0400</lastBuildDate>
<atom:link href="/tags/podman/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Replacing docker with podman on macOS (and Linux)</title>
<link>/blog/2021/10/11/replacing-docker-with-podman-on-macos-and-linux/</link>
<pubDate>Mon, 11 Oct 2021 10:43:35 -0400</pubDate>
<guid>/blog/2021/10/11/replacing-docker-with-podman-on-macos-and-linux/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/privacy/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="privacy"/>
<meta name="twitter:description" content=""/>

View File

@@ -7,15 +7,14 @@
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<copyright>Dave Gallant</copyright>
<lastBuildDate>Sat, 10 Dec 2022 21:46:55 -0500</lastBuildDate><atom:link href="/tags/privacy/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Sat, 10 Dec 2022 21:46:55 -0500</lastBuildDate>
<atom:link href="/tags/privacy/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Watching YouTube in Private</title>
<link>/blog/2022/12/10/watching-youtube-in-private/</link>
<pubDate>Sat, 10 Dec 2022 21:46:55 -0500</pubDate>
<guid>/blog/2022/12/10/watching-youtube-in-private/</guid>
<description></description>
</item>
</channel>
</rss>

View File

@@ -9,6 +9,7 @@
<meta property="og:description" content="" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/proxmox/" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="proxmox"/>
<meta name="twitter:description" content=""/>

Some files were not shown because too many files have changed in this diff Show More