Bigger overhaul. Updated the Part 2 Home Assistant Birdnet post. Added some menus and tags.

This commit is contained in:
Norm Rasmussen
2023-10-06 16:38:00 -04:00
parent b012e336a7
commit fdeb4c9142
58 changed files with 2836 additions and 60 deletions

View File

@ -84,6 +84,11 @@ if (!doNotTrack) {
</div>
</div>
<ul id="menu">
<li>
<a href="./posts.html" title="Posts">
<span>Posts</span>
</a>
</li>
</ul>
</nav>
</header>

Binary file not shown.

After

Width:  |  Height:  |  Size: 434 KiB

View File

@ -85,6 +85,11 @@ if (!doNotTrack) {
</div>
</div>
<ul id="menu">
<li>
<a href="./posts.html" title="Posts">
<span>Posts</span>
</a>
</li>
</ul>
</nav>
</header>
@ -94,6 +99,9 @@ if (!doNotTrack) {
</header>
<ul class="terms-tags">
<li>
<a href="./categories/tutorial.html">Tutorial <sup><strong><sup>1</sup></strong></sup> </a>
</li>
</ul>
</main>

View File

@ -5,6 +5,16 @@
<link>/categories.html</link>
<description>Recent content in Categories on Norm-working Packets 💾</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language><atom:link href="/categories/index.xml" rel="self" type="application/rss+xml" />
<language>en-us</language>
<lastBuildDate>Wed, 04 Oct 2023 10:35:23 -0400</lastBuildDate><atom:link href="/categories/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Tutorial</title>
<link>/categories/tutorial.html</link>
<pubDate>Wed, 04 Oct 2023 10:35:23 -0400</pubDate>
<guid>/categories/tutorial.html</guid>
<description></description>
</item>
</channel>
</rss>

View File

@ -0,0 +1,189 @@
<!DOCTYPE html>
<html lang="en" dir="auto">
<head><meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="robots" content="index, follow">
<title>Tutorial | Norm-working Packets 💾</title>
<meta name="keywords" content="">
<meta name="description" content="A semi-technical blog &amp; series of experiences working in tech and my homelab">
<meta name="author" content="Norm Rasmussen">
<link rel="canonical" href="../categories/tutorial.html">
<link crossorigin="anonymous" href="../assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U&#43;6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
<link rel="icon" href="../favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="../rsmsncircles.ico">
<link rel="apple-touch-icon" href="../apple-touch-icon.png">
<link rel="mask-icon" href="../safari-pinned-tab.svg">
<meta name="theme-color" content="#2e2e33">
<meta name="msapplication-TileColor" content="#2e2e33">
<link rel="alternate" type="application/rss+xml" href="../categories/tutorial/index.xml">
<noscript>
<style>
#theme-toggle,
.top-link {
display: none;
}
</style>
</noscript>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-X8VR5M0K20"></script>
<script>
var doNotTrack = false;
if (!doNotTrack) {
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-X8VR5M0K20', { 'anonymize_ip': false });
}
</script>
<meta property="og:title" content="Tutorial" />
<meta property="og:description" content="A semi-technical blog &amp; series of experiences working in tech and my homelab" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/categories/tutorial.html" /><meta property="og:site_name" content="Norm-working Packets" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Tutorial"/>
<meta name="twitter:description" content="A semi-technical blog &amp; series of experiences working in tech and my homelab"/>
</head>
<body class="list dark" id="top">
<script>
if (localStorage.getItem("pref-theme") === "light") {
document.body.classList.remove('dark')
}
</script>
<header class="header">
<nav class="nav">
<div class="logo">
<a href="../" accesskey="h" title="Norm-working Packets 💾 (Alt + H)">Norm-working Packets 💾</a>
<div class="logo-switches">
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
</svg>
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</button>
</div>
</div>
<ul id="menu">
<li>
<a href="../posts.html" title="Posts">
<span>Posts</span>
</a>
</li>
</ul>
</nav>
</header>
<main class="main">
<header class="page-header"><div class="breadcrumbs"><a href="../">Home</a></div>
<h1>
Tutorial
</h1>
</header>
<article class="post-entry tag-entry">
<figure class="entry-cover"><img loading="lazy" src="../birdnet-homeassistant-part2.png" alt="Part 2 of my foray into HomeAssistant dashboard featuring BirdNET-Pi Sensors">
</figure>
<header class="entry-header">
<h2>BirdNET-PI &amp; HomeAssistant: Part 2
</h2>
</header>
<div class="entry-content">
<p>Checking for Entities If youre following up on this from my first post, youve already added your AppDaemon script and confirmed that the AppDaemon logs dont show any errors. Now is the true test if its working: do you have the new sensors in HomeAssistant?!
The best way to do this is by just type e from any screen in the HomeAssistant UI! That will bring up a list of entities....</p>
</div>
<footer class="entry-footer"><span title='2023-10-04 10:35:23 -0400 EDT'>October 4, 2023</span>&nbsp;·&nbsp;10 min&nbsp;·&nbsp;1986 words&nbsp;·&nbsp;Me</footer>
<a class="entry-link" aria-label="post link to BirdNET-PI &amp; HomeAssistant: Part 2" href="../posts/birdnet_homeassistant_part2.html"></a>
</article>
</main>
<footer class="footer">
<span>&copy; 2023 <a href="../">Norm-working Packets 💾</a></span>
<span>
Powered by
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
</span>
</footer>
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
<path d="M12 6H0l6-6z" />
</svg>
</a>
<script>
let menu = document.getElementById('menu')
if (menu) {
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
menu.onscroll = function () {
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
}
}
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener("click", function (e) {
e.preventDefault();
var id = this.getAttribute("href").substr(1);
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
behavior: "smooth"
});
} else {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
}
if (id === "top") {
history.replaceState(null, null, " ");
} else {
history.pushState(null, null, `#${id}`);
}
});
});
</script>
<script>
var mybutton = document.getElementById("top-link");
window.onscroll = function () {
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
mybutton.style.visibility = "visible";
mybutton.style.opacity = "1";
} else {
mybutton.style.visibility = "hidden";
mybutton.style.opacity = "0";
}
};
</script>
<script>
document.getElementById("theme-toggle").addEventListener("click", () => {
if (document.body.className.includes("dark")) {
document.body.classList.remove('dark');
localStorage.setItem("pref-theme", 'light');
} else {
document.body.classList.add('dark');
localStorage.setItem("pref-theme", 'dark');
}
})
</script>
</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" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>Tutorial on Norm-working Packets 💾</title>
<link>/categories/tutorial.html</link>
<description>Recent content in Tutorial on Norm-working Packets 💾</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Wed, 04 Oct 2023 10:35:23 -0400</lastBuildDate><atom:link href="/categories/tutorial/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>BirdNET-PI &amp; HomeAssistant: Part 2</title>
<link>/posts/birdnet_homeassistant_part2.html</link>
<pubDate>Wed, 04 Oct 2023 10:35:23 -0400</pubDate>
<guid>/posts/birdnet_homeassistant_part2.html</guid>
<description>A Follow up from the previous post, this tutorial takes all the sensors we created and loads them into a beautiful dashboard!</description>
</item>
</channel>
</rss>

View File

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en-us">
<head>
<title>/categories/tutorial.html</title>
<link rel="canonical" href="../../../categories/tutorial.html">
<meta name="robots" content="noindex">
<meta charset="utf-8">
<meta http-equiv="refresh" content="0; url=../../../categories/tutorial.html">
</head>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

View File

@ -99,6 +99,11 @@ if (!doNotTrack) {
</div>
</div>
<ul id="menu">
<li>
<a href="./posts.html" title="Posts">
<span>Posts</span>
</a>
</li>
</ul>
</nav>
</header>
@ -136,6 +141,36 @@ if (!doNotTrack) {
</footer>
</article>
<article class="post-entry">
<figure class="entry-cover"><img loading="lazy" src="./birdnet-homeassistant-part2.png" alt="Part 2 of my foray into HomeAssistant dashboard featuring BirdNET-Pi Sensors">
</figure>
<header class="entry-header">
<h2>BirdNET-PI &amp; HomeAssistant: Part 2
</h2>
</header>
<div class="entry-content">
<p>Checking for Entities If youre following up on this from my first post, youve already added your AppDaemon script and confirmed that the AppDaemon logs dont show any errors. Now is the true test if its working: do you have the new sensors in HomeAssistant?!
The best way to do this is by just type e from any screen in the HomeAssistant UI! That will bring up a list of entities....</p>
</div>
<footer class="entry-footer"><span title='2023-10-04 10:35:23 -0400 EDT'>October 4, 2023</span>&nbsp;·&nbsp;10 min&nbsp;·&nbsp;1986 words&nbsp;·&nbsp;Me</footer>
<a class="entry-link" aria-label="post link to BirdNET-PI &amp; HomeAssistant: Part 2" href="./posts/birdnet_homeassistant_part2.html"></a>
</article>
<article class="post-entry">
<figure class="entry-cover"><img loading="lazy" src="./birdnet-homeassistant.png" alt="BirdNET-Pi and HomeAssistant: Happier together!">
</figure>
<header class="entry-header">
<h2>Creating a BirdNetPi Dashboard in HomeAssistant - Part 1
</h2>
</header>
<div class="entry-content">
<p>This is Part One of a Two Part Series. You can find Part Two, here.
What you will need BirdNET-Pi HomeAssistant AppDaemon MQTT Broker (I use Mosquitto) Background In early 2023, at the height of the Raspberry Pi shortage I felt like a king with an extra Rpi laying around, not being used. Im a big fan of any sort of passive intake of information and had been looking around for various citizen science-style projects that can capture information from the world around me....</p>
</div>
<footer class="entry-footer"><span title='2023-09-30 11:21:55 -0400 EDT'>September 30, 2023</span>&nbsp;·&nbsp;10 min&nbsp;·&nbsp;1953 words&nbsp;·&nbsp;Me</footer>
<a class="entry-link" aria-label="post link to Creating a BirdNetPi Dashboard in HomeAssistant - Part 1" href="./posts/birdnet_homeassistant.html"></a>
</article>
<article class="post-entry">
<figure class="entry-cover"><img loading="lazy" src="./multiple-git-cover-img.png" alt="git commands">
</figure>
@ -152,6 +187,8 @@ I really enjoy self-hosting services that I use everyday. One of those includes
</article>
<article class="post-entry">
<figure class="entry-cover"><img loading="lazy" src="./hugo-nginx-trouble.png" alt="Hugo Logo, Nginx Logo, Tired Face emoji">
</figure>
<header class="entry-header">
<h2>Trouble Hosting Hugo with Nginx
</h2>

View File

@ -6,7 +6,25 @@
<description>Recent content on Norm-working Packets 💾</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Fri, 22 Sep 2023 15:07:10 -0400</lastBuildDate><atom:link href="/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Wed, 04 Oct 2023 10:35:23 -0400</lastBuildDate><atom:link href="/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>BirdNET-PI &amp; HomeAssistant: Part 2</title>
<link>/posts/birdnet_homeassistant_part2.html</link>
<pubDate>Wed, 04 Oct 2023 10:35:23 -0400</pubDate>
<guid>/posts/birdnet_homeassistant_part2.html</guid>
<description>A Follow up from the previous post, this tutorial takes all the sensors we created and loads them into a beautiful dashboard!</description>
</item>
<item>
<title>Creating a BirdNetPi Dashboard in HomeAssistant - Part 1</title>
<link>/posts/birdnet_homeassistant.html</link>
<pubDate>Sat, 30 Sep 2023 11:21:55 -0400</pubDate>
<guid>/posts/birdnet_homeassistant.html</guid>
<description>Learn how to take BirdNET-Pi Detections to create and display entities in HomeAssistant.</description>
</item>
<item>
<title>Pushing a Single Local Git Repo to Multiple Remote Repos</title>
<link>/posts/multiple_git_remotes.html</link>

View File

@ -100,16 +100,51 @@ if (!doNotTrack) {
</div>
</div>
<ul id="menu">
<li>
<a href="./posts.html" title="Posts">
<span>Posts</span>
</a>
</li>
</ul>
</nav>
</header>
<main class="main">
<header class="page-header">
<header class="page-header"><div class="breadcrumbs"><a href="./">Home</a></div>
<h1>
Posts
</h1>
</header>
<article class="post-entry">
<figure class="entry-cover"><img loading="lazy" src="./birdnet-homeassistant-part2.png" alt="Part 2 of my foray into HomeAssistant dashboard featuring BirdNET-Pi Sensors">
</figure>
<header class="entry-header">
<h2>BirdNET-PI &amp; HomeAssistant: Part 2
</h2>
</header>
<div class="entry-content">
<p>Checking for Entities If youre following up on this from my first post, youve already added your AppDaemon script and confirmed that the AppDaemon logs dont show any errors. Now is the true test if its working: do you have the new sensors in HomeAssistant?!
The best way to do this is by just type e from any screen in the HomeAssistant UI! That will bring up a list of entities....</p>
</div>
<footer class="entry-footer"><span title='2023-10-04 10:35:23 -0400 EDT'>October 4, 2023</span>&nbsp;·&nbsp;10 min&nbsp;·&nbsp;1986 words&nbsp;·&nbsp;Me</footer>
<a class="entry-link" aria-label="post link to BirdNET-PI &amp; HomeAssistant: Part 2" href="./posts/birdnet_homeassistant_part2.html"></a>
</article>
<article class="post-entry">
<figure class="entry-cover"><img loading="lazy" src="./birdnet-homeassistant.png" alt="BirdNET-Pi and HomeAssistant: Happier together!">
</figure>
<header class="entry-header">
<h2>Creating a BirdNetPi Dashboard in HomeAssistant - Part 1
</h2>
</header>
<div class="entry-content">
<p>This is Part One of a Two Part Series. You can find Part Two, here.
What you will need BirdNET-Pi HomeAssistant AppDaemon MQTT Broker (I use Mosquitto) Background In early 2023, at the height of the Raspberry Pi shortage I felt like a king with an extra Rpi laying around, not being used. Im a big fan of any sort of passive intake of information and had been looking around for various citizen science-style projects that can capture information from the world around me....</p>
</div>
<footer class="entry-footer"><span title='2023-09-30 11:21:55 -0400 EDT'>September 30, 2023</span>&nbsp;·&nbsp;10 min&nbsp;·&nbsp;1953 words&nbsp;·&nbsp;Me</footer>
<a class="entry-link" aria-label="post link to Creating a BirdNetPi Dashboard in HomeAssistant - Part 1" href="./posts/birdnet_homeassistant.html"></a>
</article>
<article class="post-entry">
<figure class="entry-cover"><img loading="lazy" src="./multiple-git-cover-img.png" alt="git commands">
</figure>
@ -126,6 +161,8 @@ I really enjoy self-hosting services that I use everyday. One of those includes
</article>
<article class="post-entry">
<figure class="entry-cover"><img loading="lazy" src="./hugo-nginx-trouble.png" alt="Hugo Logo, Nginx Logo, Tired Face emoji">
</figure>
<header class="entry-header">
<h2>Trouble Hosting Hugo with Nginx
</h2>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 250 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -6,7 +6,25 @@
<description>Recent content in Posts on Norm-working Packets 💾</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Fri, 22 Sep 2023 15:07:10 -0400</lastBuildDate><atom:link href="/posts/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Wed, 04 Oct 2023 10:35:23 -0400</lastBuildDate><atom:link href="/posts/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>BirdNET-PI &amp; HomeAssistant: Part 2</title>
<link>/posts/birdnet_homeassistant_part2.html</link>
<pubDate>Wed, 04 Oct 2023 10:35:23 -0400</pubDate>
<guid>/posts/birdnet_homeassistant_part2.html</guid>
<description>A Follow up from the previous post, this tutorial takes all the sensors we created and loads them into a beautiful dashboard!</description>
</item>
<item>
<title>Creating a BirdNetPi Dashboard in HomeAssistant - Part 1</title>
<link>/posts/birdnet_homeassistant.html</link>
<pubDate>Sat, 30 Sep 2023 11:21:55 -0400</pubDate>
<guid>/posts/birdnet_homeassistant.html</guid>
<description>Learn how to take BirdNET-Pi Detections to create and display entities in HomeAssistant.</description>
</item>
<item>
<title>Pushing a Single Local Git Repo to Multiple Remote Repos</title>
<link>/posts/multiple_git_remotes.html</link>

View File

@ -138,6 +138,11 @@ if (!doNotTrack) {
</div>
</div>
<ul id="menu">
<li>
<a href="../posts.html" title="Posts">
<span>Posts</span>
</a>
</li>
</ul>
</nav>
</header>
@ -216,6 +221,11 @@ there twice, once for <code>(push)</code> and once for <code>(fetch)</code>.</p>
<li><a href="../tags/commandline.html">commandline</a></li>
</ul>
<nav class="paginav">
<a class="prev" href="../posts/birdnet_homeassistant.html">
<span class="title">« Prev</span>
<br>
<span>Creating a BirdNetPi Dashboard in HomeAssistant - Part 1</span>
</a>
<a class="next" href="../posts/hosting_hugo_troubles.html">
<span class="title">Next »</span>
<br>
@ -223,6 +233,60 @@ there twice, once for <code>(push)</code> and once for <code>(fetch)</code>.</p>
</a>
</nav>
<div class="share-buttons">
<a target="_blank" rel="noopener noreferrer" aria-label="share Pushing a Single Local Git Repo to Multiple Remote Repos on twitter"
href="https://twitter.com/intent/tweet/?text=Pushing%20a%20Single%20Local%20Git%20Repo%20to%20Multiple%20Remote%20Repos&amp;url=%2fposts%2fmultiple_git_remotes.html&amp;hashtags=git%2cbackups%2ccommandline">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-253.927,424.544c135.939,0 210.268,-112.643 210.268,-210.268c0,-3.218 0,-6.437 -0.153,-9.502c14.406,-10.421 26.973,-23.448 36.935,-38.314c-13.18,5.824 -27.433,9.809 -42.452,11.648c15.326,-9.196 26.973,-23.602 32.49,-40.92c-14.252,8.429 -30.038,14.56 -46.896,17.931c-13.487,-14.406 -32.644,-23.295 -53.946,-23.295c-40.767,0 -73.87,33.104 -73.87,73.87c0,5.824 0.613,11.494 1.992,16.858c-61.456,-3.065 -115.862,-32.49 -152.337,-77.241c-6.284,10.881 -9.962,23.601 -9.962,37.088c0,25.594 13.027,48.276 32.95,61.456c-12.107,-0.307 -23.448,-3.678 -33.41,-9.196l0,0.92c0,35.862 25.441,65.594 59.311,72.49c-6.13,1.686 -12.72,2.606 -19.464,2.606c-4.751,0 -9.348,-0.46 -13.946,-1.38c9.349,29.426 36.628,50.728 68.965,51.341c-25.287,19.771 -57.164,31.571 -91.8,31.571c-5.977,0 -11.801,-0.306 -17.625,-1.073c32.337,21.15 71.264,33.41 112.95,33.41Z" />
</svg>
</a>
<a target="_blank" rel="noopener noreferrer" aria-label="share Pushing a Single Local Git Repo to Multiple Remote Repos on linkedin"
href="https://www.linkedin.com/shareArticle?mini=true&amp;url=%2fposts%2fmultiple_git_remotes.html&amp;title=Pushing%20a%20Single%20Local%20Git%20Repo%20to%20Multiple%20Remote%20Repos&amp;summary=Pushing%20a%20Single%20Local%20Git%20Repo%20to%20Multiple%20Remote%20Repos&amp;source=%2fposts%2fmultiple_git_remotes.html">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-288.985,423.278l0,-225.717l-75.04,0l0,225.717l75.04,0Zm270.539,0l0,-129.439c0,-69.333 -37.018,-101.586 -86.381,-101.586c-39.804,0 -57.634,21.891 -67.617,37.266l0,-31.958l-75.021,0c0.995,21.181 0,225.717 0,225.717l75.02,0l0,-126.056c0,-6.748 0.486,-13.492 2.474,-18.315c5.414,-13.475 17.767,-27.434 38.494,-27.434c27.135,0 38.007,20.707 38.007,51.037l0,120.768l75.024,0Zm-307.552,-334.556c-25.674,0 -42.448,16.879 -42.448,39.002c0,21.658 16.264,39.002 41.455,39.002l0.484,0c26.165,0 42.452,-17.344 42.452,-39.002c-0.485,-22.092 -16.241,-38.954 -41.943,-39.002Z" />
</svg>
</a>
<a target="_blank" rel="noopener noreferrer" aria-label="share Pushing a Single Local Git Repo to Multiple Remote Repos on reddit"
href="https://reddit.com/submit?url=%2fposts%2fmultiple_git_remotes.html&title=Pushing%20a%20Single%20Local%20Git%20Repo%20to%20Multiple%20Remote%20Repos">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-3.446,265.638c0,-22.964 -18.616,-41.58 -41.58,-41.58c-11.211,0 -21.361,4.457 -28.841,11.666c-28.424,-20.508 -67.586,-33.757 -111.204,-35.278l18.941,-89.121l61.884,13.157c0.756,15.734 13.642,28.29 29.56,28.29c16.407,0 29.706,-13.299 29.706,-29.701c0,-16.403 -13.299,-29.702 -29.706,-29.702c-11.666,0 -21.657,6.792 -26.515,16.578l-69.105,-14.69c-1.922,-0.418 -3.939,-0.042 -5.585,1.036c-1.658,1.073 -2.811,2.761 -3.224,4.686l-21.152,99.438c-44.258,1.228 -84.046,14.494 -112.837,35.232c-7.468,-7.164 -17.589,-11.591 -28.757,-11.591c-22.965,0 -41.585,18.616 -41.585,41.58c0,16.896 10.095,31.41 24.568,37.918c-0.639,4.135 -0.99,8.328 -0.99,12.576c0,63.977 74.469,115.836 166.33,115.836c91.861,0 166.334,-51.859 166.334,-115.836c0,-4.218 -0.347,-8.387 -0.977,-12.493c14.564,-6.47 24.735,-21.034 24.735,-38.001Zm-119.474,108.193c-20.27,20.241 -59.115,21.816 -70.534,21.816c-11.428,0 -50.277,-1.575 -70.522,-21.82c-3.007,-3.008 -3.007,-7.882 0,-10.889c3.003,-2.999 7.882,-3.003 10.885,0c12.777,12.781 40.11,17.317 59.637,17.317c19.522,0 46.86,-4.536 59.657,-17.321c3.016,-2.999 7.886,-2.995 10.885,0.008c3.008,3.011 3.003,7.882 -0.008,10.889Zm-5.23,-48.781c-16.373,0 -29.701,-13.324 -29.701,-29.698c0,-16.381 13.328,-29.714 29.701,-29.714c16.378,0 29.706,13.333 29.706,29.714c0,16.374 -13.328,29.698 -29.706,29.698Zm-160.386,-29.702c0,-16.381 13.328,-29.71 29.714,-29.71c16.369,0 29.689,13.329 29.689,29.71c0,16.373 -13.32,29.693 -29.689,29.693c-16.386,0 -29.714,-13.32 -29.714,-29.693Z" />
</svg>
</a>
<a target="_blank" rel="noopener noreferrer" aria-label="share Pushing a Single Local Git Repo to Multiple Remote Repos on facebook"
href="https://facebook.com/sharer/sharer.php?u=%2fposts%2fmultiple_git_remotes.html">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-106.468,0l0,-192.915l66.6,0l12.672,-82.621l-79.272,0l0,-53.617c0,-22.603 11.073,-44.636 46.58,-44.636l36.042,0l0,-70.34c0,0 -32.71,-5.582 -63.982,-5.582c-65.288,0 -107.96,39.569 -107.96,111.204l0,62.971l-72.573,0l0,82.621l72.573,0l0,192.915l-191.104,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Z" />
</svg>
</a>
<a target="_blank" rel="noopener noreferrer" aria-label="share Pushing a Single Local Git Repo to Multiple Remote Repos on whatsapp"
href="https://api.whatsapp.com/send?text=Pushing%20a%20Single%20Local%20Git%20Repo%20to%20Multiple%20Remote%20Repos%20-%20%2fposts%2fmultiple_git_remotes.html">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-58.673,127.703c-33.842,-33.881 -78.847,-52.548 -126.798,-52.568c-98.799,0 -179.21,80.405 -179.249,179.234c-0.013,31.593 8.241,62.428 23.927,89.612l-25.429,92.884l95.021,-24.925c26.181,14.28 55.659,21.807 85.658,21.816l0.074,0c98.789,0 179.206,-80.413 179.247,-179.243c0.018,-47.895 -18.61,-92.93 -52.451,-126.81Zm-126.797,275.782l-0.06,0c-26.734,-0.01 -52.954,-7.193 -75.828,-20.767l-5.441,-3.229l-56.386,14.792l15.05,-54.977l-3.542,-5.637c-14.913,-23.72 -22.791,-51.136 -22.779,-79.287c0.033,-82.142 66.867,-148.971 149.046,-148.971c39.793,0.014 77.199,15.531 105.329,43.692c28.128,28.16 43.609,65.592 43.594,105.4c-0.034,82.149 -66.866,148.983 -148.983,148.984Zm81.721,-111.581c-4.479,-2.242 -26.499,-13.075 -30.604,-14.571c-4.105,-1.495 -7.091,-2.241 -10.077,2.241c-2.986,4.483 -11.569,14.572 -14.182,17.562c-2.612,2.988 -5.225,3.364 -9.703,1.12c-4.479,-2.241 -18.91,-6.97 -36.017,-22.23c-13.314,-11.876 -22.304,-26.542 -24.916,-31.026c-2.612,-4.484 -0.279,-6.908 1.963,-9.14c2.016,-2.007 4.48,-5.232 6.719,-7.847c2.24,-2.615 2.986,-4.484 4.479,-7.472c1.493,-2.99 0.747,-5.604 -0.374,-7.846c-1.119,-2.241 -10.077,-24.288 -13.809,-33.256c-3.635,-8.733 -7.327,-7.55 -10.077,-7.688c-2.609,-0.13 -5.598,-0.158 -8.583,-0.158c-2.986,0 -7.839,1.121 -11.944,5.604c-4.105,4.484 -15.675,15.32 -15.675,37.364c0,22.046 16.048,43.342 18.287,46.332c2.24,2.99 31.582,48.227 76.511,67.627c10.685,4.615 19.028,7.371 25.533,9.434c10.728,3.41 20.492,2.929 28.209,1.775c8.605,-1.285 26.499,-10.833 30.231,-21.295c3.732,-10.464 3.732,-19.431 2.612,-21.298c-1.119,-1.869 -4.105,-2.99 -8.583,-5.232Z" />
</svg>
</a>
<a target="_blank" rel="noopener noreferrer" aria-label="share Pushing a Single Local Git Repo to Multiple Remote Repos on telegram"
href="https://telegram.me/share/url?text=Pushing%20a%20Single%20Local%20Git%20Repo%20to%20Multiple%20Remote%20Repos&amp;url=%2fposts%2fmultiple_git_remotes.html">
<svg version="1.1" xml:space="preserve" viewBox="2 2 28 28" height="30px" width="30px" fill="currentColor">
<path
d="M26.49,29.86H5.5a3.37,3.37,0,0,1-2.47-1,3.35,3.35,0,0,1-1-2.47V5.48A3.36,3.36,0,0,1,3,3,3.37,3.37,0,0,1,5.5,2h21A3.38,3.38,0,0,1,29,3a3.36,3.36,0,0,1,1,2.46V26.37a3.35,3.35,0,0,1-1,2.47A3.38,3.38,0,0,1,26.49,29.86Zm-5.38-6.71a.79.79,0,0,0,.85-.66L24.73,9.24a.55.55,0,0,0-.18-.46.62.62,0,0,0-.41-.17q-.08,0-16.53,6.11a.59.59,0,0,0-.41.59.57.57,0,0,0,.43.52l4,1.24,1.61,4.83a.62.62,0,0,0,.63.43.56.56,0,0,0,.4-.17L16.54,20l4.09,3A.9.9,0,0,0,21.11,23.15ZM13.8,20.71l-1.21-4q8.72-5.55,8.78-5.55c.15,0,.23,0,.23.16a.18.18,0,0,1,0,.06s-2.51,2.3-7.52,6.8Z" />
</svg>
</a>
<a target="_blank" rel="noopener noreferrer" aria-label="share Pushing a Single Local Git Repo to Multiple Remote Repos on ycombinator"
href="https://news.ycombinator.com/submitlink?t=Pushing%20a%20Single%20Local%20Git%20Repo%20to%20Multiple%20Remote%20Repos&u=%2fposts%2fmultiple_git_remotes.html">
<svg version="1.1" xml:space="preserve" width="30px" height="30px" viewBox="0 0 512 512" fill="currentColor"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape">
<path
d="M449.446 0C483.971 0 512 28.03 512 62.554L512 449.446C512 483.97 483.97 512 449.446 512L62.554 512C28.03 512 0 483.97 0 449.446L0 62.554C0 28.03 28.029 0 62.554 0L449.446 0ZM183.8767 87.9921H121.8427L230.6673 292.4508V424.0079H281.3328V292.4508L390.1575 87.9921H328.1233L256 238.2489z" />
</svg>
</a>
</div>
</footer>
</article>
</main>

View File

@ -138,6 +138,11 @@ if (!doNotTrack) {
</div>
</div>
<ul id="menu">
<li>
<a href="../posts.html" title="Posts">
<span>Posts</span>
</a>
</li>
</ul>
</nav>
</header>
@ -464,6 +469,60 @@ paste them from the <a href="https://github.com/NginxProxyManager/nginx-proxy-ma
</a>
</nav>
<div class="share-buttons">
<a target="_blank" rel="noopener noreferrer" aria-label="share Tutorial: Move from NginxProxyManager to Nginx on twitter"
href="https://twitter.com/intent/tweet/?text=Tutorial%3a%20Move%20from%20NginxProxyManager%20to%20Nginx&amp;url=%2fposts%2fnpm_to_nginx_tutorial.html&amp;hashtags=git%2cbackups%2ccommandline">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-253.927,424.544c135.939,0 210.268,-112.643 210.268,-210.268c0,-3.218 0,-6.437 -0.153,-9.502c14.406,-10.421 26.973,-23.448 36.935,-38.314c-13.18,5.824 -27.433,9.809 -42.452,11.648c15.326,-9.196 26.973,-23.602 32.49,-40.92c-14.252,8.429 -30.038,14.56 -46.896,17.931c-13.487,-14.406 -32.644,-23.295 -53.946,-23.295c-40.767,0 -73.87,33.104 -73.87,73.87c0,5.824 0.613,11.494 1.992,16.858c-61.456,-3.065 -115.862,-32.49 -152.337,-77.241c-6.284,10.881 -9.962,23.601 -9.962,37.088c0,25.594 13.027,48.276 32.95,61.456c-12.107,-0.307 -23.448,-3.678 -33.41,-9.196l0,0.92c0,35.862 25.441,65.594 59.311,72.49c-6.13,1.686 -12.72,2.606 -19.464,2.606c-4.751,0 -9.348,-0.46 -13.946,-1.38c9.349,29.426 36.628,50.728 68.965,51.341c-25.287,19.771 -57.164,31.571 -91.8,31.571c-5.977,0 -11.801,-0.306 -17.625,-1.073c32.337,21.15 71.264,33.41 112.95,33.41Z" />
</svg>
</a>
<a target="_blank" rel="noopener noreferrer" aria-label="share Tutorial: Move from NginxProxyManager to Nginx on linkedin"
href="https://www.linkedin.com/shareArticle?mini=true&amp;url=%2fposts%2fnpm_to_nginx_tutorial.html&amp;title=Tutorial%3a%20Move%20from%20NginxProxyManager%20to%20Nginx&amp;summary=Tutorial%3a%20Move%20from%20NginxProxyManager%20to%20Nginx&amp;source=%2fposts%2fnpm_to_nginx_tutorial.html">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-288.985,423.278l0,-225.717l-75.04,0l0,225.717l75.04,0Zm270.539,0l0,-129.439c0,-69.333 -37.018,-101.586 -86.381,-101.586c-39.804,0 -57.634,21.891 -67.617,37.266l0,-31.958l-75.021,0c0.995,21.181 0,225.717 0,225.717l75.02,0l0,-126.056c0,-6.748 0.486,-13.492 2.474,-18.315c5.414,-13.475 17.767,-27.434 38.494,-27.434c27.135,0 38.007,20.707 38.007,51.037l0,120.768l75.024,0Zm-307.552,-334.556c-25.674,0 -42.448,16.879 -42.448,39.002c0,21.658 16.264,39.002 41.455,39.002l0.484,0c26.165,0 42.452,-17.344 42.452,-39.002c-0.485,-22.092 -16.241,-38.954 -41.943,-39.002Z" />
</svg>
</a>
<a target="_blank" rel="noopener noreferrer" aria-label="share Tutorial: Move from NginxProxyManager to Nginx on reddit"
href="https://reddit.com/submit?url=%2fposts%2fnpm_to_nginx_tutorial.html&title=Tutorial%3a%20Move%20from%20NginxProxyManager%20to%20Nginx">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-3.446,265.638c0,-22.964 -18.616,-41.58 -41.58,-41.58c-11.211,0 -21.361,4.457 -28.841,11.666c-28.424,-20.508 -67.586,-33.757 -111.204,-35.278l18.941,-89.121l61.884,13.157c0.756,15.734 13.642,28.29 29.56,28.29c16.407,0 29.706,-13.299 29.706,-29.701c0,-16.403 -13.299,-29.702 -29.706,-29.702c-11.666,0 -21.657,6.792 -26.515,16.578l-69.105,-14.69c-1.922,-0.418 -3.939,-0.042 -5.585,1.036c-1.658,1.073 -2.811,2.761 -3.224,4.686l-21.152,99.438c-44.258,1.228 -84.046,14.494 -112.837,35.232c-7.468,-7.164 -17.589,-11.591 -28.757,-11.591c-22.965,0 -41.585,18.616 -41.585,41.58c0,16.896 10.095,31.41 24.568,37.918c-0.639,4.135 -0.99,8.328 -0.99,12.576c0,63.977 74.469,115.836 166.33,115.836c91.861,0 166.334,-51.859 166.334,-115.836c0,-4.218 -0.347,-8.387 -0.977,-12.493c14.564,-6.47 24.735,-21.034 24.735,-38.001Zm-119.474,108.193c-20.27,20.241 -59.115,21.816 -70.534,21.816c-11.428,0 -50.277,-1.575 -70.522,-21.82c-3.007,-3.008 -3.007,-7.882 0,-10.889c3.003,-2.999 7.882,-3.003 10.885,0c12.777,12.781 40.11,17.317 59.637,17.317c19.522,0 46.86,-4.536 59.657,-17.321c3.016,-2.999 7.886,-2.995 10.885,0.008c3.008,3.011 3.003,7.882 -0.008,10.889Zm-5.23,-48.781c-16.373,0 -29.701,-13.324 -29.701,-29.698c0,-16.381 13.328,-29.714 29.701,-29.714c16.378,0 29.706,13.333 29.706,29.714c0,16.374 -13.328,29.698 -29.706,29.698Zm-160.386,-29.702c0,-16.381 13.328,-29.71 29.714,-29.71c16.369,0 29.689,13.329 29.689,29.71c0,16.373 -13.32,29.693 -29.689,29.693c-16.386,0 -29.714,-13.32 -29.714,-29.693Z" />
</svg>
</a>
<a target="_blank" rel="noopener noreferrer" aria-label="share Tutorial: Move from NginxProxyManager to Nginx on facebook"
href="https://facebook.com/sharer/sharer.php?u=%2fposts%2fnpm_to_nginx_tutorial.html">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-106.468,0l0,-192.915l66.6,0l12.672,-82.621l-79.272,0l0,-53.617c0,-22.603 11.073,-44.636 46.58,-44.636l36.042,0l0,-70.34c0,0 -32.71,-5.582 -63.982,-5.582c-65.288,0 -107.96,39.569 -107.96,111.204l0,62.971l-72.573,0l0,82.621l72.573,0l0,192.915l-191.104,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Z" />
</svg>
</a>
<a target="_blank" rel="noopener noreferrer" aria-label="share Tutorial: Move from NginxProxyManager to Nginx on whatsapp"
href="https://api.whatsapp.com/send?text=Tutorial%3a%20Move%20from%20NginxProxyManager%20to%20Nginx%20-%20%2fposts%2fnpm_to_nginx_tutorial.html">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-58.673,127.703c-33.842,-33.881 -78.847,-52.548 -126.798,-52.568c-98.799,0 -179.21,80.405 -179.249,179.234c-0.013,31.593 8.241,62.428 23.927,89.612l-25.429,92.884l95.021,-24.925c26.181,14.28 55.659,21.807 85.658,21.816l0.074,0c98.789,0 179.206,-80.413 179.247,-179.243c0.018,-47.895 -18.61,-92.93 -52.451,-126.81Zm-126.797,275.782l-0.06,0c-26.734,-0.01 -52.954,-7.193 -75.828,-20.767l-5.441,-3.229l-56.386,14.792l15.05,-54.977l-3.542,-5.637c-14.913,-23.72 -22.791,-51.136 -22.779,-79.287c0.033,-82.142 66.867,-148.971 149.046,-148.971c39.793,0.014 77.199,15.531 105.329,43.692c28.128,28.16 43.609,65.592 43.594,105.4c-0.034,82.149 -66.866,148.983 -148.983,148.984Zm81.721,-111.581c-4.479,-2.242 -26.499,-13.075 -30.604,-14.571c-4.105,-1.495 -7.091,-2.241 -10.077,2.241c-2.986,4.483 -11.569,14.572 -14.182,17.562c-2.612,2.988 -5.225,3.364 -9.703,1.12c-4.479,-2.241 -18.91,-6.97 -36.017,-22.23c-13.314,-11.876 -22.304,-26.542 -24.916,-31.026c-2.612,-4.484 -0.279,-6.908 1.963,-9.14c2.016,-2.007 4.48,-5.232 6.719,-7.847c2.24,-2.615 2.986,-4.484 4.479,-7.472c1.493,-2.99 0.747,-5.604 -0.374,-7.846c-1.119,-2.241 -10.077,-24.288 -13.809,-33.256c-3.635,-8.733 -7.327,-7.55 -10.077,-7.688c-2.609,-0.13 -5.598,-0.158 -8.583,-0.158c-2.986,0 -7.839,1.121 -11.944,5.604c-4.105,4.484 -15.675,15.32 -15.675,37.364c0,22.046 16.048,43.342 18.287,46.332c2.24,2.99 31.582,48.227 76.511,67.627c10.685,4.615 19.028,7.371 25.533,9.434c10.728,3.41 20.492,2.929 28.209,1.775c8.605,-1.285 26.499,-10.833 30.231,-21.295c3.732,-10.464 3.732,-19.431 2.612,-21.298c-1.119,-1.869 -4.105,-2.99 -8.583,-5.232Z" />
</svg>
</a>
<a target="_blank" rel="noopener noreferrer" aria-label="share Tutorial: Move from NginxProxyManager to Nginx on telegram"
href="https://telegram.me/share/url?text=Tutorial%3a%20Move%20from%20NginxProxyManager%20to%20Nginx&amp;url=%2fposts%2fnpm_to_nginx_tutorial.html">
<svg version="1.1" xml:space="preserve" viewBox="2 2 28 28" height="30px" width="30px" fill="currentColor">
<path
d="M26.49,29.86H5.5a3.37,3.37,0,0,1-2.47-1,3.35,3.35,0,0,1-1-2.47V5.48A3.36,3.36,0,0,1,3,3,3.37,3.37,0,0,1,5.5,2h21A3.38,3.38,0,0,1,29,3a3.36,3.36,0,0,1,1,2.46V26.37a3.35,3.35,0,0,1-1,2.47A3.38,3.38,0,0,1,26.49,29.86Zm-5.38-6.71a.79.79,0,0,0,.85-.66L24.73,9.24a.55.55,0,0,0-.18-.46.62.62,0,0,0-.41-.17q-.08,0-16.53,6.11a.59.59,0,0,0-.41.59.57.57,0,0,0,.43.52l4,1.24,1.61,4.83a.62.62,0,0,0,.63.43.56.56,0,0,0,.4-.17L16.54,20l4.09,3A.9.9,0,0,0,21.11,23.15ZM13.8,20.71l-1.21-4q8.72-5.55,8.78-5.55c.15,0,.23,0,.23.16a.18.18,0,0,1,0,.06s-2.51,2.3-7.52,6.8Z" />
</svg>
</a>
<a target="_blank" rel="noopener noreferrer" aria-label="share Tutorial: Move from NginxProxyManager to Nginx on ycombinator"
href="https://news.ycombinator.com/submitlink?t=Tutorial%3a%20Move%20from%20NginxProxyManager%20to%20Nginx&u=%2fposts%2fnpm_to_nginx_tutorial.html">
<svg version="1.1" xml:space="preserve" width="30px" height="30px" viewBox="0 0 512 512" fill="currentColor"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape">
<path
d="M449.446 0C483.971 0 512 28.03 512 62.554L512 449.446C512 483.97 483.97 512 449.446 512L62.554 512C28.03 512 0 483.97 0 449.446L0 62.554C0 28.03 28.029 0 62.554 0L449.446 0ZM183.8767 87.9921H121.8427L230.6673 292.4508V424.0079H281.3328V292.4508L390.1575 87.9921H328.1233L256 238.2489z" />
</svg>
</a>
</div>
</footer>
</article>
</main>

View File

@ -138,6 +138,11 @@ if (!doNotTrack) {
</div>
</div>
<ul id="menu">
<li>
<a href="../posts.html" title="Posts">
<span>Posts</span>
</a>
</li>
</ul>
</nav>
</header>
@ -190,6 +195,60 @@ such a regular basis, I need to ensure the project pulls from Meshtastic command
</a>
</nav>
<div class="share-buttons">
<a target="_blank" rel="noopener noreferrer" aria-label="share My First Merged PR! on twitter"
href="https://twitter.com/intent/tweet/?text=My%20First%20Merged%20PR%21&amp;url=%2fposts%2fwhiptail-first-merged-pr.html&amp;hashtags=git%2copensource%2cdiy">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-253.927,424.544c135.939,0 210.268,-112.643 210.268,-210.268c0,-3.218 0,-6.437 -0.153,-9.502c14.406,-10.421 26.973,-23.448 36.935,-38.314c-13.18,5.824 -27.433,9.809 -42.452,11.648c15.326,-9.196 26.973,-23.602 32.49,-40.92c-14.252,8.429 -30.038,14.56 -46.896,17.931c-13.487,-14.406 -32.644,-23.295 -53.946,-23.295c-40.767,0 -73.87,33.104 -73.87,73.87c0,5.824 0.613,11.494 1.992,16.858c-61.456,-3.065 -115.862,-32.49 -152.337,-77.241c-6.284,10.881 -9.962,23.601 -9.962,37.088c0,25.594 13.027,48.276 32.95,61.456c-12.107,-0.307 -23.448,-3.678 -33.41,-9.196l0,0.92c0,35.862 25.441,65.594 59.311,72.49c-6.13,1.686 -12.72,2.606 -19.464,2.606c-4.751,0 -9.348,-0.46 -13.946,-1.38c9.349,29.426 36.628,50.728 68.965,51.341c-25.287,19.771 -57.164,31.571 -91.8,31.571c-5.977,0 -11.801,-0.306 -17.625,-1.073c32.337,21.15 71.264,33.41 112.95,33.41Z" />
</svg>
</a>
<a target="_blank" rel="noopener noreferrer" aria-label="share My First Merged PR! on linkedin"
href="https://www.linkedin.com/shareArticle?mini=true&amp;url=%2fposts%2fwhiptail-first-merged-pr.html&amp;title=My%20First%20Merged%20PR%21&amp;summary=My%20First%20Merged%20PR%21&amp;source=%2fposts%2fwhiptail-first-merged-pr.html">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-288.985,423.278l0,-225.717l-75.04,0l0,225.717l75.04,0Zm270.539,0l0,-129.439c0,-69.333 -37.018,-101.586 -86.381,-101.586c-39.804,0 -57.634,21.891 -67.617,37.266l0,-31.958l-75.021,0c0.995,21.181 0,225.717 0,225.717l75.02,0l0,-126.056c0,-6.748 0.486,-13.492 2.474,-18.315c5.414,-13.475 17.767,-27.434 38.494,-27.434c27.135,0 38.007,20.707 38.007,51.037l0,120.768l75.024,0Zm-307.552,-334.556c-25.674,0 -42.448,16.879 -42.448,39.002c0,21.658 16.264,39.002 41.455,39.002l0.484,0c26.165,0 42.452,-17.344 42.452,-39.002c-0.485,-22.092 -16.241,-38.954 -41.943,-39.002Z" />
</svg>
</a>
<a target="_blank" rel="noopener noreferrer" aria-label="share My First Merged PR! on reddit"
href="https://reddit.com/submit?url=%2fposts%2fwhiptail-first-merged-pr.html&title=My%20First%20Merged%20PR%21">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-3.446,265.638c0,-22.964 -18.616,-41.58 -41.58,-41.58c-11.211,0 -21.361,4.457 -28.841,11.666c-28.424,-20.508 -67.586,-33.757 -111.204,-35.278l18.941,-89.121l61.884,13.157c0.756,15.734 13.642,28.29 29.56,28.29c16.407,0 29.706,-13.299 29.706,-29.701c0,-16.403 -13.299,-29.702 -29.706,-29.702c-11.666,0 -21.657,6.792 -26.515,16.578l-69.105,-14.69c-1.922,-0.418 -3.939,-0.042 -5.585,1.036c-1.658,1.073 -2.811,2.761 -3.224,4.686l-21.152,99.438c-44.258,1.228 -84.046,14.494 -112.837,35.232c-7.468,-7.164 -17.589,-11.591 -28.757,-11.591c-22.965,0 -41.585,18.616 -41.585,41.58c0,16.896 10.095,31.41 24.568,37.918c-0.639,4.135 -0.99,8.328 -0.99,12.576c0,63.977 74.469,115.836 166.33,115.836c91.861,0 166.334,-51.859 166.334,-115.836c0,-4.218 -0.347,-8.387 -0.977,-12.493c14.564,-6.47 24.735,-21.034 24.735,-38.001Zm-119.474,108.193c-20.27,20.241 -59.115,21.816 -70.534,21.816c-11.428,0 -50.277,-1.575 -70.522,-21.82c-3.007,-3.008 -3.007,-7.882 0,-10.889c3.003,-2.999 7.882,-3.003 10.885,0c12.777,12.781 40.11,17.317 59.637,17.317c19.522,0 46.86,-4.536 59.657,-17.321c3.016,-2.999 7.886,-2.995 10.885,0.008c3.008,3.011 3.003,7.882 -0.008,10.889Zm-5.23,-48.781c-16.373,0 -29.701,-13.324 -29.701,-29.698c0,-16.381 13.328,-29.714 29.701,-29.714c16.378,0 29.706,13.333 29.706,29.714c0,16.374 -13.328,29.698 -29.706,29.698Zm-160.386,-29.702c0,-16.381 13.328,-29.71 29.714,-29.71c16.369,0 29.689,13.329 29.689,29.71c0,16.373 -13.32,29.693 -29.689,29.693c-16.386,0 -29.714,-13.32 -29.714,-29.693Z" />
</svg>
</a>
<a target="_blank" rel="noopener noreferrer" aria-label="share My First Merged PR! on facebook"
href="https://facebook.com/sharer/sharer.php?u=%2fposts%2fwhiptail-first-merged-pr.html">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-106.468,0l0,-192.915l66.6,0l12.672,-82.621l-79.272,0l0,-53.617c0,-22.603 11.073,-44.636 46.58,-44.636l36.042,0l0,-70.34c0,0 -32.71,-5.582 -63.982,-5.582c-65.288,0 -107.96,39.569 -107.96,111.204l0,62.971l-72.573,0l0,82.621l72.573,0l0,192.915l-191.104,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Z" />
</svg>
</a>
<a target="_blank" rel="noopener noreferrer" aria-label="share My First Merged PR! on whatsapp"
href="https://api.whatsapp.com/send?text=My%20First%20Merged%20PR%21%20-%20%2fposts%2fwhiptail-first-merged-pr.html">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-58.673,127.703c-33.842,-33.881 -78.847,-52.548 -126.798,-52.568c-98.799,0 -179.21,80.405 -179.249,179.234c-0.013,31.593 8.241,62.428 23.927,89.612l-25.429,92.884l95.021,-24.925c26.181,14.28 55.659,21.807 85.658,21.816l0.074,0c98.789,0 179.206,-80.413 179.247,-179.243c0.018,-47.895 -18.61,-92.93 -52.451,-126.81Zm-126.797,275.782l-0.06,0c-26.734,-0.01 -52.954,-7.193 -75.828,-20.767l-5.441,-3.229l-56.386,14.792l15.05,-54.977l-3.542,-5.637c-14.913,-23.72 -22.791,-51.136 -22.779,-79.287c0.033,-82.142 66.867,-148.971 149.046,-148.971c39.793,0.014 77.199,15.531 105.329,43.692c28.128,28.16 43.609,65.592 43.594,105.4c-0.034,82.149 -66.866,148.983 -148.983,148.984Zm81.721,-111.581c-4.479,-2.242 -26.499,-13.075 -30.604,-14.571c-4.105,-1.495 -7.091,-2.241 -10.077,2.241c-2.986,4.483 -11.569,14.572 -14.182,17.562c-2.612,2.988 -5.225,3.364 -9.703,1.12c-4.479,-2.241 -18.91,-6.97 -36.017,-22.23c-13.314,-11.876 -22.304,-26.542 -24.916,-31.026c-2.612,-4.484 -0.279,-6.908 1.963,-9.14c2.016,-2.007 4.48,-5.232 6.719,-7.847c2.24,-2.615 2.986,-4.484 4.479,-7.472c1.493,-2.99 0.747,-5.604 -0.374,-7.846c-1.119,-2.241 -10.077,-24.288 -13.809,-33.256c-3.635,-8.733 -7.327,-7.55 -10.077,-7.688c-2.609,-0.13 -5.598,-0.158 -8.583,-0.158c-2.986,0 -7.839,1.121 -11.944,5.604c-4.105,4.484 -15.675,15.32 -15.675,37.364c0,22.046 16.048,43.342 18.287,46.332c2.24,2.99 31.582,48.227 76.511,67.627c10.685,4.615 19.028,7.371 25.533,9.434c10.728,3.41 20.492,2.929 28.209,1.775c8.605,-1.285 26.499,-10.833 30.231,-21.295c3.732,-10.464 3.732,-19.431 2.612,-21.298c-1.119,-1.869 -4.105,-2.99 -8.583,-5.232Z" />
</svg>
</a>
<a target="_blank" rel="noopener noreferrer" aria-label="share My First Merged PR! on telegram"
href="https://telegram.me/share/url?text=My%20First%20Merged%20PR%21&amp;url=%2fposts%2fwhiptail-first-merged-pr.html">
<svg version="1.1" xml:space="preserve" viewBox="2 2 28 28" height="30px" width="30px" fill="currentColor">
<path
d="M26.49,29.86H5.5a3.37,3.37,0,0,1-2.47-1,3.35,3.35,0,0,1-1-2.47V5.48A3.36,3.36,0,0,1,3,3,3.37,3.37,0,0,1,5.5,2h21A3.38,3.38,0,0,1,29,3a3.36,3.36,0,0,1,1,2.46V26.37a3.35,3.35,0,0,1-1,2.47A3.38,3.38,0,0,1,26.49,29.86Zm-5.38-6.71a.79.79,0,0,0,.85-.66L24.73,9.24a.55.55,0,0,0-.18-.46.62.62,0,0,0-.41-.17q-.08,0-16.53,6.11a.59.59,0,0,0-.41.59.57.57,0,0,0,.43.52l4,1.24,1.61,4.83a.62.62,0,0,0,.63.43.56.56,0,0,0,.4-.17L16.54,20l4.09,3A.9.9,0,0,0,21.11,23.15ZM13.8,20.71l-1.21-4q8.72-5.55,8.78-5.55c.15,0,.23,0,.23.16a.18.18,0,0,1,0,.06s-2.51,2.3-7.52,6.8Z" />
</svg>
</a>
<a target="_blank" rel="noopener noreferrer" aria-label="share My First Merged PR! on ycombinator"
href="https://news.ycombinator.com/submitlink?t=My%20First%20Merged%20PR%21&u=%2fposts%2fwhiptail-first-merged-pr.html">
<svg version="1.1" xml:space="preserve" width="30px" height="30px" viewBox="0 0 512 512" fill="currentColor"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape">
<path
d="M449.446 0C483.971 0 512 28.03 512 62.554L512 449.446C512 483.97 483.97 512 449.446 512L62.554 512C28.03 512 0 483.97 0 449.446L0 62.554C0 28.03 28.029 0 62.554 0L449.446 0ZM183.8767 87.9921H121.8427L230.6673 292.4508V424.0079H281.3328V292.4508L390.1575 87.9921H328.1233L256 238.2489z" />
</svg>
</a>
</div>
</footer>
</article>
</main>

3
public/robots.txt Normal file
View File

@ -0,0 +1,3 @@
User-agent: *
Disallow:
Sitemap: /sitemap.xml

175
public/series.html Normal file
View File

@ -0,0 +1,175 @@
<!DOCTYPE html>
<html lang="en" dir="auto">
<head><meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="robots" content="index, follow">
<title>Series | Norm-working Packets 💾</title>
<meta name="keywords" content="">
<meta name="description" content="A semi-technical blog &amp; series of experiences working in tech and my homelab">
<meta name="author" content="Norm Rasmussen">
<link rel="canonical" href="./series.html">
<link crossorigin="anonymous" href="./assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U&#43;6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
<link rel="icon" href="./favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="./favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="./rsmsncircles.ico">
<link rel="apple-touch-icon" href="./apple-touch-icon.png">
<link rel="mask-icon" href="./safari-pinned-tab.svg">
<meta name="theme-color" content="#2e2e33">
<meta name="msapplication-TileColor" content="#2e2e33">
<link rel="alternate" type="application/rss+xml" href="./series/index.xml">
<noscript>
<style>
#theme-toggle,
.top-link {
display: none;
}
</style>
</noscript>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-X8VR5M0K20"></script>
<script>
var doNotTrack = false;
if (!doNotTrack) {
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-X8VR5M0K20', { 'anonymize_ip': false });
}
</script>
<meta property="og:title" content="Series" />
<meta property="og:description" content="A semi-technical blog &amp; series of experiences working in tech and my homelab" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/series.html" /><meta property="og:site_name" content="Norm-working Packets" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Series"/>
<meta name="twitter:description" content="A semi-technical blog &amp; series of experiences working in tech and my homelab"/>
</head>
<body class="list dark" id="top">
<script>
if (localStorage.getItem("pref-theme") === "light") {
document.body.classList.remove('dark')
}
</script>
<header class="header">
<nav class="nav">
<div class="logo">
<a href="./" accesskey="h" title="Norm-working Packets 💾 (Alt + H)">Norm-working Packets 💾</a>
<div class="logo-switches">
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
</svg>
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</button>
</div>
</div>
<ul id="menu">
<li>
<a href="./posts.html" title="Posts">
<span>Posts</span>
</a>
</li>
</ul>
</nav>
</header>
<main class="main">
<header class="page-header">
<h1>Series</h1>
</header>
<ul class="terms-tags">
</ul>
</main>
<footer class="footer">
<span>&copy; 2023 <a href="./">Norm-working Packets 💾</a></span>
<span>
Powered by
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
</span>
</footer>
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
<path d="M12 6H0l6-6z" />
</svg>
</a>
<script>
let menu = document.getElementById('menu')
if (menu) {
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
menu.onscroll = function () {
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
}
}
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener("click", function (e) {
e.preventDefault();
var id = this.getAttribute("href").substr(1);
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
behavior: "smooth"
});
} else {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
}
if (id === "top") {
history.replaceState(null, null, " ");
} else {
history.pushState(null, null, `#${id}`);
}
});
});
</script>
<script>
var mybutton = document.getElementById("top-link");
window.onscroll = function () {
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
mybutton.style.visibility = "visible";
mybutton.style.opacity = "1";
} else {
mybutton.style.visibility = "hidden";
mybutton.style.opacity = "0";
}
};
</script>
<script>
document.getElementById("theme-toggle").addEventListener("click", () => {
if (document.body.className.includes("dark")) {
document.body.classList.remove('dark');
localStorage.setItem("pref-theme", 'light');
} else {
document.body.classList.add('dark');
localStorage.setItem("pref-theme", 'dark');
}
})
</script>
</body>
</html>

10
public/series/index.xml Normal file
View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>Series on Norm-working Packets 💾</title>
<link>/series.html</link>
<description>Recent content in Series on Norm-working Packets 💾</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language><atom:link href="/series/index.xml" rel="self" type="application/rss+xml" />
</channel>
</rss>

View File

@ -2,6 +2,39 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>/posts/birdnet_homeassistant_part2.html</loc>
<lastmod>2023-10-04T10:35:23-04:00</lastmod>
</url><url>
<loc>/categories.html</loc>
<lastmod>2023-10-04T10:35:23-04:00</lastmod>
</url><url>
<loc>/tags/diy.html</loc>
<lastmod>2023-10-04T10:35:23-04:00</lastmod>
</url><url>
<loc>/tags/homeassistant.html</loc>
<lastmod>2023-10-04T10:35:23-04:00</lastmod>
</url><url>
<loc>/</loc>
<lastmod>2023-10-04T10:35:23-04:00</lastmod>
</url><url>
<loc>/posts.html</loc>
<lastmod>2023-10-04T10:35:23-04:00</lastmod>
</url><url>
<loc>/tags/selfhosted.html</loc>
<lastmod>2023-10-04T10:35:23-04:00</lastmod>
</url><url>
<loc>/tags.html</loc>
<lastmod>2023-10-04T10:35:23-04:00</lastmod>
</url><url>
<loc>/categories/tutorial.html</loc>
<lastmod>2023-10-04T10:35:23-04:00</lastmod>
</url><url>
<loc>/posts/birdnet_homeassistant.html</loc>
<lastmod>2023-09-30T11:21:55-04:00</lastmod>
</url><url>
<loc>/tags/python.html</loc>
<lastmod>2023-09-30T11:21:55-04:00</lastmod>
</url><url>
<loc>/tags/backups.html</loc>
<lastmod>2023-09-22T15:07:10-04:00</lastmod>
</url><url>
@ -10,27 +43,15 @@
</url><url>
<loc>/tags/git.html</loc>
<lastmod>2023-09-22T15:07:10-04:00</lastmod>
</url><url>
<loc>/</loc>
<lastmod>2023-09-22T15:07:10-04:00</lastmod>
</url><url>
<loc>/posts.html</loc>
<lastmod>2023-09-22T15:07:10-04:00</lastmod>
</url><url>
<loc>/posts/multiple_git_remotes.html</loc>
<lastmod>2023-09-22T15:07:10-04:00</lastmod>
</url><url>
<loc>/tags.html</loc>
<lastmod>2023-09-22T15:07:10-04:00</lastmod>
</url><url>
<loc>/posts/hosting_hugo_troubles.html</loc>
<lastmod>2023-09-20T11:33:22-04:00</lastmod>
</url><url>
<loc>/posts/npm_to_nginx_tutorial.html</loc>
<lastmod>2023-08-05T15:23:51-05:00</lastmod>
</url><url>
<loc>/tags/diy.html</loc>
<lastmod>2022-09-01T13:25:02-04:00</lastmod>
</url><url>
<loc>/posts/whiptail-first-merged-pr.html</loc>
<lastmod>2022-09-01T13:25:02-04:00</lastmod>
@ -38,6 +59,6 @@
<loc>/tags/opensource.html</loc>
<lastmod>2022-09-01T13:25:02-04:00</lastmod>
</url><url>
<loc>/categories.html</loc>
<loc>/series.html</loc>
</url>
</urlset>

View File

@ -85,6 +85,11 @@ if (!doNotTrack) {
</div>
</div>
<ul id="menu">
<li>
<a href="./posts.html" title="Posts">
<span>Posts</span>
</a>
</li>
</ul>
</nav>
</header>
@ -101,14 +106,23 @@ if (!doNotTrack) {
<a href="./tags/commandline.html">commandline <sup><strong><sup>3</sup></strong></sup> </a>
</li>
<li>
<a href="./tags/diy.html">diy <sup><strong><sup>1</sup></strong></sup> </a>
<a href="./tags/diy.html">diy <sup><strong><sup>3</sup></strong></sup> </a>
</li>
<li>
<a href="./tags/git.html">git <sup><strong><sup>4</sup></strong></sup> </a>
</li>
<li>
<a href="./tags/homeassistant.html">homeassistant <sup><strong><sup>2</sup></strong></sup> </a>
</li>
<li>
<a href="./tags/opensource.html">opensource <sup><strong><sup>1</sup></strong></sup> </a>
</li>
<li>
<a href="./tags/python.html">python <sup><strong><sup>1</sup></strong></sup> </a>
</li>
<li>
<a href="./tags/selfhosted.html">selfhosted <sup><strong><sup>1</sup></strong></sup> </a>
</li>
</ul>
</main>

View File

@ -85,11 +85,16 @@ if (!doNotTrack) {
</div>
</div>
<ul id="menu">
<li>
<a href="../posts.html" title="Posts">
<span>Posts</span>
</a>
</li>
</ul>
</nav>
</header>
<main class="main">
<header class="page-header">
<header class="page-header"><div class="breadcrumbs"><a href="../">Home</a></div>
<h1>
backups
</h1>
@ -111,6 +116,8 @@ I really enjoy self-hosting services that I use everyday. One of those includes
</article>
<article class="post-entry tag-entry">
<figure class="entry-cover"><img loading="lazy" src="../hugo-nginx-trouble.png" alt="Hugo Logo, Nginx Logo, Tired Face emoji">
</figure>
<header class="entry-header">
<h2>Trouble Hosting Hugo with Nginx
</h2>

View File

@ -85,11 +85,16 @@ if (!doNotTrack) {
</div>
</div>
<ul id="menu">
<li>
<a href="../posts.html" title="Posts">
<span>Posts</span>
</a>
</li>
</ul>
</nav>
</header>
<main class="main">
<header class="page-header">
<header class="page-header"><div class="breadcrumbs"><a href="../">Home</a></div>
<h1>
commandline
</h1>
@ -111,6 +116,8 @@ I really enjoy self-hosting services that I use everyday. One of those includes
</article>
<article class="post-entry tag-entry">
<figure class="entry-cover"><img loading="lazy" src="../hugo-nginx-trouble.png" alt="Hugo Logo, Nginx Logo, Tired Face emoji">
</figure>
<header class="entry-header">
<h2>Trouble Hosting Hugo with Nginx
</h2>

View File

@ -85,16 +85,51 @@ if (!doNotTrack) {
</div>
</div>
<ul id="menu">
<li>
<a href="../posts.html" title="Posts">
<span>Posts</span>
</a>
</li>
</ul>
</nav>
</header>
<main class="main">
<header class="page-header">
<header class="page-header"><div class="breadcrumbs"><a href="../">Home</a></div>
<h1>
diy
</h1>
</header>
<article class="post-entry tag-entry">
<figure class="entry-cover"><img loading="lazy" src="../birdnet-homeassistant-part2.png" alt="Part 2 of my foray into HomeAssistant dashboard featuring BirdNET-Pi Sensors">
</figure>
<header class="entry-header">
<h2>BirdNET-PI &amp; HomeAssistant: Part 2
</h2>
</header>
<div class="entry-content">
<p>Checking for Entities If youre following up on this from my first post, youve already added your AppDaemon script and confirmed that the AppDaemon logs dont show any errors. Now is the true test if its working: do you have the new sensors in HomeAssistant?!
The best way to do this is by just type e from any screen in the HomeAssistant UI! That will bring up a list of entities....</p>
</div>
<footer class="entry-footer"><span title='2023-10-04 10:35:23 -0400 EDT'>October 4, 2023</span>&nbsp;·&nbsp;10 min&nbsp;·&nbsp;1986 words&nbsp;·&nbsp;Me</footer>
<a class="entry-link" aria-label="post link to BirdNET-PI &amp; HomeAssistant: Part 2" href="../posts/birdnet_homeassistant_part2.html"></a>
</article>
<article class="post-entry tag-entry">
<figure class="entry-cover"><img loading="lazy" src="../birdnet-homeassistant.png" alt="BirdNET-Pi and HomeAssistant: Happier together!">
</figure>
<header class="entry-header">
<h2>Creating a BirdNetPi Dashboard in HomeAssistant - Part 1
</h2>
</header>
<div class="entry-content">
<p>This is Part One of a Two Part Series. You can find Part Two, here.
What you will need BirdNET-Pi HomeAssistant AppDaemon MQTT Broker (I use Mosquitto) Background In early 2023, at the height of the Raspberry Pi shortage I felt like a king with an extra Rpi laying around, not being used. Im a big fan of any sort of passive intake of information and had been looking around for various citizen science-style projects that can capture information from the world around me....</p>
</div>
<footer class="entry-footer"><span title='2023-09-30 11:21:55 -0400 EDT'>September 30, 2023</span>&nbsp;·&nbsp;10 min&nbsp;·&nbsp;1953 words&nbsp;·&nbsp;Me</footer>
<a class="entry-link" aria-label="post link to Creating a BirdNetPi Dashboard in HomeAssistant - Part 1" href="../posts/birdnet_homeassistant.html"></a>
</article>
<article class="post-entry tag-entry">
<figure class="entry-cover"><img loading="lazy" src="../merged-pr-accepted.png" alt="Git Pull Request with an arrow pointing to a check mark">
</figure>

View File

@ -6,7 +6,25 @@
<description>Recent content in diy on Norm-working Packets 💾</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Thu, 01 Sep 2022 13:25:02 -0400</lastBuildDate><atom:link href="/tags/diy/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Wed, 04 Oct 2023 10:35:23 -0400</lastBuildDate><atom:link href="/tags/diy/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>BirdNET-PI &amp; HomeAssistant: Part 2</title>
<link>/posts/birdnet_homeassistant_part2.html</link>
<pubDate>Wed, 04 Oct 2023 10:35:23 -0400</pubDate>
<guid>/posts/birdnet_homeassistant_part2.html</guid>
<description>A Follow up from the previous post, this tutorial takes all the sensors we created and loads them into a beautiful dashboard!</description>
</item>
<item>
<title>Creating a BirdNetPi Dashboard in HomeAssistant - Part 1</title>
<link>/posts/birdnet_homeassistant.html</link>
<pubDate>Sat, 30 Sep 2023 11:21:55 -0400</pubDate>
<guid>/posts/birdnet_homeassistant.html</guid>
<description>Learn how to take BirdNET-Pi Detections to create and display entities in HomeAssistant.</description>
</item>
<item>
<title>My First Merged PR!</title>
<link>/posts/whiptail-first-merged-pr.html</link>

View File

@ -85,11 +85,16 @@ if (!doNotTrack) {
</div>
</div>
<ul id="menu">
<li>
<a href="../posts.html" title="Posts">
<span>Posts</span>
</a>
</li>
</ul>
</nav>
</header>
<main class="main">
<header class="page-header">
<header class="page-header"><div class="breadcrumbs"><a href="../">Home</a></div>
<h1>
git
</h1>
@ -111,6 +116,8 @@ I really enjoy self-hosting services that I use everyday. One of those includes
</article>
<article class="post-entry tag-entry">
<figure class="entry-cover"><img loading="lazy" src="../hugo-nginx-trouble.png" alt="Hugo Logo, Nginx Logo, Tired Face emoji">
</figure>
<header class="entry-header">
<h2>Trouble Hosting Hugo with Nginx
</h2>

View File

@ -85,16 +85,36 @@ if (!doNotTrack) {
</div>
</div>
<ul id="menu">
<li>
<a href="../posts.html" title="Posts">
<span>Posts</span>
</a>
</li>
</ul>
</nav>
</header>
<main class="main">
<header class="page-header">
<header class="page-header"><div class="breadcrumbs"><a href="../">Home</a></div>
<h1>
homeassistant
</h1>
</header>
<article class="post-entry tag-entry">
<figure class="entry-cover"><img loading="lazy" src="../birdnet-homeassistant-part2.png" alt="Part 2 of my foray into HomeAssistant dashboard featuring BirdNET-Pi Sensors">
</figure>
<header class="entry-header">
<h2>BirdNET-PI &amp; HomeAssistant: Part 2
</h2>
</header>
<div class="entry-content">
<p>Checking for Entities If youre following up on this from my first post, youve already added your AppDaemon script and confirmed that the AppDaemon logs dont show any errors. Now is the true test if its working: do you have the new sensors in HomeAssistant?!
The best way to do this is by just type e from any screen in the HomeAssistant UI! That will bring up a list of entities....</p>
</div>
<footer class="entry-footer"><span title='2023-10-04 10:35:23 -0400 EDT'>October 4, 2023</span>&nbsp;·&nbsp;10 min&nbsp;·&nbsp;1986 words&nbsp;·&nbsp;Me</footer>
<a class="entry-link" aria-label="post link to BirdNET-PI &amp; HomeAssistant: Part 2" href="../posts/birdnet_homeassistant_part2.html"></a>
</article>
<article class="post-entry tag-entry">
<figure class="entry-cover"><img loading="lazy" src="../birdnet-homeassistant.png" alt="BirdNET-Pi and HomeAssistant: Happier together!">
</figure>
@ -106,7 +126,7 @@ if (!doNotTrack) {
<p>This is Part One of a Two Part Series. You can find Part Two, here.
What you will need BirdNET-Pi HomeAssistant AppDaemon MQTT Broker (I use Mosquitto) Background In early 2023, at the height of the Raspberry Pi shortage I felt like a king with an extra Rpi laying around, not being used. Im a big fan of any sort of passive intake of information and had been looking around for various citizen science-style projects that can capture information from the world around me....</p>
</div>
<footer class="entry-footer"><span title='2023-09-25 12:51:55 -0400 EDT'>September 25, 2023</span>&nbsp;·&nbsp;10 min&nbsp;·&nbsp;1953 words&nbsp;·&nbsp;Me</footer>
<footer class="entry-footer"><span title='2023-09-30 11:21:55 -0400 EDT'>September 30, 2023</span>&nbsp;·&nbsp;10 min&nbsp;·&nbsp;1953 words&nbsp;·&nbsp;Me</footer>
<a class="entry-link" aria-label="post link to Creating a BirdNetPi Dashboard in HomeAssistant - Part 1" href="../posts/birdnet_homeassistant.html"></a>
</article>
</main>

View File

@ -6,11 +6,20 @@
<description>Recent content in homeassistant on Norm-working Packets 💾</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Mon, 25 Sep 2023 12:51:55 -0400</lastBuildDate><atom:link href="/tags/homeassistant/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Wed, 04 Oct 2023 10:35:23 -0400</lastBuildDate><atom:link href="/tags/homeassistant/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>BirdNET-PI &amp; HomeAssistant: Part 2</title>
<link>/posts/birdnet_homeassistant_part2.html</link>
<pubDate>Wed, 04 Oct 2023 10:35:23 -0400</pubDate>
<guid>/posts/birdnet_homeassistant_part2.html</guid>
<description>A Follow up from the previous post, this tutorial takes all the sensors we created and loads them into a beautiful dashboard!</description>
</item>
<item>
<title>Creating a BirdNetPi Dashboard in HomeAssistant - Part 1</title>
<link>/posts/birdnet_homeassistant.html</link>
<pubDate>Mon, 25 Sep 2023 12:51:55 -0400</pubDate>
<pubDate>Sat, 30 Sep 2023 11:21:55 -0400</pubDate>
<guid>/posts/birdnet_homeassistant.html</guid>
<description>Learn how to take BirdNET-Pi Detections to create and display entities in HomeAssistant.</description>

View File

@ -6,7 +6,43 @@
<description>Recent content in Tags on Norm-working Packets 💾</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Fri, 22 Sep 2023 15:07:10 -0400</lastBuildDate><atom:link href="/tags/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Wed, 04 Oct 2023 10:35:23 -0400</lastBuildDate><atom:link href="/tags/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>diy</title>
<link>/tags/diy.html</link>
<pubDate>Wed, 04 Oct 2023 10:35:23 -0400</pubDate>
<guid>/tags/diy.html</guid>
<description></description>
</item>
<item>
<title>homeassistant</title>
<link>/tags/homeassistant.html</link>
<pubDate>Wed, 04 Oct 2023 10:35:23 -0400</pubDate>
<guid>/tags/homeassistant.html</guid>
<description></description>
</item>
<item>
<title>selfhosted</title>
<link>/tags/selfhosted.html</link>
<pubDate>Wed, 04 Oct 2023 10:35:23 -0400</pubDate>
<guid>/tags/selfhosted.html</guid>
<description></description>
</item>
<item>
<title>python</title>
<link>/tags/python.html</link>
<pubDate>Sat, 30 Sep 2023 11:21:55 -0400</pubDate>
<guid>/tags/python.html</guid>
<description></description>
</item>
<item>
<title>backups</title>
<link>/tags/backups.html</link>
@ -34,15 +70,6 @@
<description></description>
</item>
<item>
<title>diy</title>
<link>/tags/diy.html</link>
<pubDate>Thu, 01 Sep 2022 13:25:02 -0400</pubDate>
<guid>/tags/diy.html</guid>
<description></description>
</item>
<item>
<title>opensource</title>
<link>/tags/opensource.html</link>

View File

@ -85,11 +85,16 @@ if (!doNotTrack) {
</div>
</div>
<ul id="menu">
<li>
<a href="../posts.html" title="Posts">
<span>Posts</span>
</a>
</li>
</ul>
</nav>
</header>
<main class="main">
<header class="page-header">
<header class="page-header"><div class="breadcrumbs"><a href="../">Home</a></div>
<h1>
opensource
</h1>

View File

@ -85,11 +85,16 @@ if (!doNotTrack) {
</div>
</div>
<ul id="menu">
<li>
<a href="../posts.html" title="Posts">
<span>Posts</span>
</a>
</li>
</ul>
</nav>
</header>
<main class="main">
<header class="page-header">
<header class="page-header"><div class="breadcrumbs"><a href="../">Home</a></div>
<h1>
python
</h1>
@ -106,7 +111,7 @@ if (!doNotTrack) {
<p>This is Part One of a Two Part Series. You can find Part Two, here.
What you will need BirdNET-Pi HomeAssistant AppDaemon MQTT Broker (I use Mosquitto) Background In early 2023, at the height of the Raspberry Pi shortage I felt like a king with an extra Rpi laying around, not being used. Im a big fan of any sort of passive intake of information and had been looking around for various citizen science-style projects that can capture information from the world around me....</p>
</div>
<footer class="entry-footer"><span title='2023-09-25 12:51:55 -0400 EDT'>September 25, 2023</span>&nbsp;·&nbsp;10 min&nbsp;·&nbsp;1953 words&nbsp;·&nbsp;Me</footer>
<footer class="entry-footer"><span title='2023-09-30 11:21:55 -0400 EDT'>September 30, 2023</span>&nbsp;·&nbsp;10 min&nbsp;·&nbsp;1953 words&nbsp;·&nbsp;Me</footer>
<a class="entry-link" aria-label="post link to Creating a BirdNetPi Dashboard in HomeAssistant - Part 1" href="../posts/birdnet_homeassistant.html"></a>
</article>
</main>

View File

@ -6,11 +6,11 @@
<description>Recent content in python on Norm-working Packets 💾</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Mon, 25 Sep 2023 12:51:55 -0400</lastBuildDate><atom:link href="/tags/python/index.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Sat, 30 Sep 2023 11:21:55 -0400</lastBuildDate><atom:link href="/tags/python/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Creating a BirdNetPi Dashboard in HomeAssistant - Part 1</title>
<link>/posts/birdnet_homeassistant.html</link>
<pubDate>Mon, 25 Sep 2023 12:51:55 -0400</pubDate>
<pubDate>Sat, 30 Sep 2023 11:21:55 -0400</pubDate>
<guid>/posts/birdnet_homeassistant.html</guid>
<description>Learn how to take BirdNET-Pi Detections to create and display entities in HomeAssistant.</description>

189
public/tags/selfhosted.html Normal file
View File

@ -0,0 +1,189 @@
<!DOCTYPE html>
<html lang="en" dir="auto">
<head><meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="robots" content="index, follow">
<title>selfhosted | Norm-working Packets 💾</title>
<meta name="keywords" content="">
<meta name="description" content="A semi-technical blog &amp; series of experiences working in tech and my homelab">
<meta name="author" content="Norm Rasmussen">
<link rel="canonical" href="../tags/selfhosted.html">
<link crossorigin="anonymous" href="../assets/css/stylesheet.5cfc680b1eeaeef9efbced92d46c2a9e876b72ee14fba85846afc4cff9e6e6f8.css" integrity="sha256-XPxoCx7q7vnvvO2S1Gwqnodrcu4U&#43;6hYRq/Ez/nm5vg=" rel="preload stylesheet" as="style">
<link rel="icon" href="../favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="../rsmsncircles.ico">
<link rel="apple-touch-icon" href="../apple-touch-icon.png">
<link rel="mask-icon" href="../safari-pinned-tab.svg">
<meta name="theme-color" content="#2e2e33">
<meta name="msapplication-TileColor" content="#2e2e33">
<link rel="alternate" type="application/rss+xml" href="../tags/selfhosted/index.xml">
<noscript>
<style>
#theme-toggle,
.top-link {
display: none;
}
</style>
</noscript>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-X8VR5M0K20"></script>
<script>
var doNotTrack = false;
if (!doNotTrack) {
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-X8VR5M0K20', { 'anonymize_ip': false });
}
</script>
<meta property="og:title" content="selfhosted" />
<meta property="og:description" content="A semi-technical blog &amp; series of experiences working in tech and my homelab" />
<meta property="og:type" content="website" />
<meta property="og:url" content="/tags/selfhosted.html" /><meta property="og:site_name" content="Norm-working Packets" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="selfhosted"/>
<meta name="twitter:description" content="A semi-technical blog &amp; series of experiences working in tech and my homelab"/>
</head>
<body class="list dark" id="top">
<script>
if (localStorage.getItem("pref-theme") === "light") {
document.body.classList.remove('dark')
}
</script>
<header class="header">
<nav class="nav">
<div class="logo">
<a href="../" accesskey="h" title="Norm-working Packets 💾 (Alt + H)">Norm-working Packets 💾</a>
<div class="logo-switches">
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
</svg>
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</button>
</div>
</div>
<ul id="menu">
<li>
<a href="../posts.html" title="Posts">
<span>Posts</span>
</a>
</li>
</ul>
</nav>
</header>
<main class="main">
<header class="page-header"><div class="breadcrumbs"><a href="../">Home</a></div>
<h1>
selfhosted
</h1>
</header>
<article class="post-entry tag-entry">
<figure class="entry-cover"><img loading="lazy" src="../birdnet-homeassistant-part2.png" alt="Part 2 of my foray into HomeAssistant dashboard featuring BirdNET-Pi Sensors">
</figure>
<header class="entry-header">
<h2>BirdNET-PI &amp; HomeAssistant: Part 2
</h2>
</header>
<div class="entry-content">
<p>Checking for Entities If youre following up on this from my first post, youve already added your AppDaemon script and confirmed that the AppDaemon logs dont show any errors. Now is the true test if its working: do you have the new sensors in HomeAssistant?!
The best way to do this is by just type e from any screen in the HomeAssistant UI! That will bring up a list of entities....</p>
</div>
<footer class="entry-footer"><span title='2023-10-04 10:35:23 -0400 EDT'>October 4, 2023</span>&nbsp;·&nbsp;10 min&nbsp;·&nbsp;1986 words&nbsp;·&nbsp;Me</footer>
<a class="entry-link" aria-label="post link to BirdNET-PI &amp; HomeAssistant: Part 2" href="../posts/birdnet_homeassistant_part2.html"></a>
</article>
</main>
<footer class="footer">
<span>&copy; 2023 <a href="../">Norm-working Packets 💾</a></span>
<span>
Powered by
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
</span>
</footer>
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
<path d="M12 6H0l6-6z" />
</svg>
</a>
<script>
let menu = document.getElementById('menu')
if (menu) {
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
menu.onscroll = function () {
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
}
}
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener("click", function (e) {
e.preventDefault();
var id = this.getAttribute("href").substr(1);
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
behavior: "smooth"
});
} else {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
}
if (id === "top") {
history.replaceState(null, null, " ");
} else {
history.pushState(null, null, `#${id}`);
}
});
});
</script>
<script>
var mybutton = document.getElementById("top-link");
window.onscroll = function () {
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
mybutton.style.visibility = "visible";
mybutton.style.opacity = "1";
} else {
mybutton.style.visibility = "hidden";
mybutton.style.opacity = "0";
}
};
</script>
<script>
document.getElementById("theme-toggle").addEventListener("click", () => {
if (document.body.className.includes("dark")) {
document.body.classList.remove('dark');
localStorage.setItem("pref-theme", 'light');
} else {
document.body.classList.add('dark');
localStorage.setItem("pref-theme", 'dark');
}
})
</script>
</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" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>selfhosted on Norm-working Packets 💾</title>
<link>/tags/selfhosted.html</link>
<description>Recent content in selfhosted on Norm-working Packets 💾</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Wed, 04 Oct 2023 10:35:23 -0400</lastBuildDate><atom:link href="/tags/selfhosted/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>BirdNET-PI &amp; HomeAssistant: Part 2</title>
<link>/posts/birdnet_homeassistant_part2.html</link>
<pubDate>Wed, 04 Oct 2023 10:35:23 -0400</pubDate>
<guid>/posts/birdnet_homeassistant_part2.html</guid>
<description>A Follow up from the previous post, this tutorial takes all the sensors we created and loads them into a beautiful dashboard!</description>
</item>
</channel>
</rss>

View File

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en-us">
<head>
<title>/tags/selfhosted.html</title>
<link rel="canonical" href="../../../tags/selfhosted.html">
<meta name="robots" content="noindex">
<meta charset="utf-8">
<meta http-equiv="refresh" content="0; url=../../../tags/selfhosted.html">
</head>
</html>