406 lines
13 KiB
HTML
406 lines
13 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en-ca" dir="ltr">
|
|
<head>
|
|
<meta name="generator" content="Hugo 0.145.0"><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="content-language" content="en-ca" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
|
|
|
|
|
|
|
|
<title>incngrnt · Home </title>
|
|
<meta name="title" content="incngrnt" />
|
|
|
|
|
|
|
|
|
|
<meta name="description" content="A Hugo Theme" />
|
|
|
|
|
|
<link rel="canonical" href="http://localhost:1313/" />
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="/css/theme.css">
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="/css/main.css">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<script src="/js/theme.js"></script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<script src="/js/codecopy.js"></script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
|
|
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
|
|
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
|
|
<link rel="manifest" href="/site.webmanifest" />
|
|
|
|
|
|
<link rel="alternate" type="application/rss+xml" href="/index.xml" title="incngrnt" />
|
|
<link rel="alternate" type="application/json" href="/index.json" title="incngrnt" />
|
|
<meta property="og:url" content="http://localhost:1313/">
|
|
<meta property="og:site_name" content="incngrnt">
|
|
<meta property="og:title" content="incngrnt">
|
|
<meta property="og:description" content="Incngrnt is an experiment in host applications and services, usually run by huge corporations, on a small community scale. Using cloud technologies to enhance redundancy and maintainability while keeping as much as possible hosted locally.
|
|
This project provides modern applications and services for friends and family, offering the convenience of cloud-based tools without sacrificing data privacy.
|
|
The current instance, cheekily names Fog, is a Kubernetes cluster of 3 Talos Linux nodes. It uses Ceph as the storage layer and Metallb and Traefik for networking. The whole cluster has a has backup batteries in the event of a power failure. All configuration and setup docs live in a self-hosted git repo running directly on Fog.">
|
|
<meta property="og:locale" content="en_ca">
|
|
<meta property="og:type" content="website">
|
|
|
|
|
|
|
|
<meta name="twitter:card" content="summary">
|
|
<meta name="twitter:title" content="incngrnt">
|
|
<meta name="twitter:description" content="Incngrnt is an experiment in host applications and services, usually run by huge corporations, on a small community scale. Using cloud technologies to enhance redundancy and maintainability while keeping as much as possible hosted locally.
|
|
This project provides modern applications and services for friends and family, offering the convenience of cloud-based tools without sacrificing data privacy.
|
|
The current instance, cheekily names Fog, is a Kubernetes cluster of 3 Talos Linux nodes. It uses Ceph as the storage layer and Metallb and Traefik for networking. The whole cluster has a has backup batteries in the event of a power failure. All configuration and setup docs live in a self-hosted git repo running directly on Fog.">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="preload" href="http://localhost:1313/fonts/Ubuntu-Regular.woff2" as="font" type="font/woff2" crossorigin>
|
|
|
|
|
|
|
|
<style>
|
|
@importrt url(https://fonts.googleapis.com/css?family=Exo+2:200i);
|
|
.title {
|
|
font-size: 24px;
|
|
font-family: 'Exo 2', sans-serif;
|
|
font-weight: lighter;
|
|
}
|
|
.title .flicker {
|
|
animation: flicker 3s linear infinite;
|
|
}
|
|
|
|
@keyframes flicker {
|
|
0%, 19.999%, 22%, 62.999%, 64%, 64.999%, 70%, 100% {
|
|
opacity: .1;
|
|
|
|
}
|
|
20%, 21.999%, 63%, 63.999%, 65%, 69.999% {
|
|
opacity: 0.99;
|
|
}
|
|
}
|
|
</style>
|
|
|
|
|
|
|
|
<link rel="alternate" type="application/rss+xml" href="http://localhost:1313/index.xml" title="incngrnt">
|
|
|
|
|
|
</head>
|
|
|
|
<body>
|
|
<script>
|
|
const siteTheme = "auto";
|
|
let savedTheme = localStorage.getItem('theme') || siteTheme;
|
|
if (savedTheme == 'auto') {
|
|
if ( window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ) {
|
|
savedTheme = 'dark';
|
|
}
|
|
}
|
|
if (savedTheme === "dark") {
|
|
document.body.classList.add('dark');
|
|
localStorage.setItem('theme', 'dark');
|
|
}
|
|
</script>
|
|
<div class="content">
|
|
<header>
|
|
|
|
<a class="title" href="/">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<img loading="lazy"
|
|
|
|
src="/incngrnt.webp"
|
|
|
|
alt="Site Logo" />
|
|
|
|
|
|
|
|
|
|
|
|
</a>
|
|
|
|
<div class="header-cntr">
|
|
<a class="title" href="/">
|
|
<span><span>inc</span><span class='flicker'>o</span><span>ngr</span><span class='flicker'>ue</span><span>nt</span></span>
|
|
</a>
|
|
<div class="menu">
|
|
<nav id="main-menu" class="mm-normal">
|
|
<ul>
|
|
<li> <button id="mob-x-icon" class="menu-btn" arial-label="x-icon">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M310.6 361.4c12.5 12.5 12.5 32.75 0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3L54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75 0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-105.4 105.4L310.6 361.4z"/></svg>
|
|
|
|
|
|
</button> </li>
|
|
|
|
<li><a href="/behind-incngrnt/" aria-label="behind-icngrnt">
|
|
Behind icngrnt</li></a>
|
|
|
|
<li><a href="https://git.incngrnt.ca/grant/incngrnt" aria-label="Gitea">
|
|
|
|
<span>
|
|
|
|
|
|
<svg height="32" viewBox="0 0 32 32" width="32" xmlns="http://www.w3.org/2000/svg"><path d="m5.583 7.229c-2.464-.005-5.755 1.557-5.573 5.479.281 6.125 6.557 6.693 9.068 6.745.271 1.146 3.224 5.109 5.411 5.318h9.573c5.74-.38 10.036-17.365 6.854-17.427-5.271.25-8.396.375-11.073.396v5.297l-.839-.365-.005-4.932c-3.073 0-5.781-.141-10.917-.396-.646-.005-1.542-.115-2.5-.115zm.344 2.167h.297c.349 3.141.917 4.974 2.068 7.781-2.938-.349-5.432-1.198-5.891-4.38-.24-1.646.563-3.365 3.526-3.401zm11.412 3.083c.198.005.406.042.594.13l1 .432-.714 1.302c-.109 0-.219.016-.323.052-.464.151-.708.604-.542 1.021.036.083.089.161.151.229l-1.234 2.25c-.099 0-.203.016-.297.052-.464.146-.708.604-.542 1.016.172.417.682.63 1.151.479.464-.146.703-.604.536-1.021-.047-.109-.115-.208-.208-.292l1.203-2.188c.13.01.26 0 .391-.042.104-.031.198-.083.281-.151.464.198.844.354 1.12.49.406.203.552.339.599.49.042.146-.005.427-.24.922-.172.37-.458.896-.797 1.51-.115 0-.229.016-.333.052-.469.151-.708.604-.542 1.021.167.411.682.625 1.146.479.469-.151.708-.604.542-1.021-.042-.099-.104-.193-.182-.271.333-.609.62-1.135.807-1.526.25-.536.38-.938.266-1.323s-.469-.635-.932-.865c-.307-.151-.693-.313-1.146-.505.005-.109-.01-.214-.052-.318s-.109-.198-.193-.281l.703-1.281 3.901 1.682c.703.307.995 1.057.651 1.682l-2.682 4.906c-.339.625-1.182.885-1.885.578l-5.516-2.38c-.703-.307-.995-1.057-.656-1.682l2.682-4.906c.234-.432.708-.688 1.208-.708h.083z"/></svg>
|
|
|
|
|
|
</span>
|
|
</li></a>
|
|
|
|
</ul>
|
|
</nav>
|
|
<div class="side-menu">
|
|
|
|
<div id="search-container" data-url="http://localhost:1313/">
|
|
<div class="search">
|
|
<div class="panel">
|
|
<form>
|
|
|
|
|
|
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg>
|
|
|
|
|
|
|
|
<input type="search" id="search-query" placeholder="Search" tabindex=0 autocomplete="off"/>
|
|
<button id="search-close" title="Cancel (ESC)">
|
|
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M310.6 361.4c12.5 12.5 12.5 32.75 0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3L54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75 0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-105.4 105.4L310.6 361.4z"/></svg>
|
|
|
|
|
|
|
|
</button>
|
|
</form>
|
|
</div>
|
|
<ul id="search-results">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<button id="theme-switcher" class="menu-btn" aria-label="Theme switcher">
|
|
<div id="moon">
|
|
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M32 256c0-123.8 100.3-224 223.8-224c11.36 0 29.7 1.668 40.9 3.746c9.616 1.777 11.75 14.63 3.279 19.44C245 86.5 211.2 144.6 211.2 207.8c0 109.7 99.71 193 208.3 172.3c9.561-1.805 16.28 9.324 10.11 16.95C387.9 448.6 324.8 480 255.8 480C132.1 480 32 379.6 32 256z"/></svg>
|
|
|
|
|
|
|
|
</div>
|
|
<div id="sun">
|
|
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 159.1c-53.02 0-95.1 42.98-95.1 95.1S202.1 351.1 256 351.1s95.1-42.98 95.1-95.1S309 159.1 256 159.1zM509.3 347L446.1 255.1l63.15-91.01c6.332-9.125 1.104-21.74-9.826-23.72l-109-19.7l-19.7-109c-1.975-10.93-14.59-16.16-23.72-9.824L256 65.89L164.1 2.736c-9.125-6.332-21.74-1.107-23.72 9.824L121.6 121.6L12.56 141.3C1.633 143.2-3.596 155.9 2.736 164.1L65.89 256l-63.15 91.01c-6.332 9.125-1.105 21.74 9.824 23.72l109 19.7l19.7 109c1.975 10.93 14.59 16.16 23.72 9.824L256 446.1l91.01 63.15c9.127 6.334 21.75 1.107 23.72-9.822l19.7-109l109-19.7C510.4 368.8 515.6 356.1 509.3 347zM256 383.1c-70.69 0-127.1-57.31-127.1-127.1c0-70.69 57.31-127.1 127.1-127.1s127.1 57.3 127.1 127.1C383.1 326.7 326.7 383.1 256 383.1z"/></svg>
|
|
|
|
|
|
|
|
</div>
|
|
</button>
|
|
|
|
</div>
|
|
<button id="mob-hb-icon" class="menu-btn" aria-label="Hamburger icon">
|
|
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M0 96C0 78.33 14.33 64 32 64H416C433.7 64 448 78.33 448 96C448 113.7 433.7 128 416 128H32C14.33 128 0 113.7 0 96zM0 256C0 238.3 14.33 224 32 224H416C433.7 224 448 238.3 448 256C448 273.7 433.7 288 416 288H32C14.33 288 0 273.7 0 256zM416 448H32C14.33 448 0 433.7 0 416C0 398.3 14.33 384 32 384H416C433.7 384 448 398.3 448 416C448 433.7 433.7 448 416 448z"/></svg>
|
|
|
|
|
|
|
|
</button>
|
|
</div>
|
|
<script>
|
|
(function() {
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
const openBtn = document.getElementById('mob-hb-icon');
|
|
const closeBtn = document.getElementById('mob-x-icon');
|
|
const mainMenu = document.getElementById('main-menu');
|
|
const body = document.body;
|
|
|
|
openBtn.addEventListener('click', function() {
|
|
mainMenu.classList.replace('mm-normal', 'mm-mobile-open');
|
|
closeBtn.style.display = 'block';
|
|
body.style.overflow = 'hidden';
|
|
});
|
|
closeBtn.addEventListener('click', function() {
|
|
mainMenu.classList.replace('mm-mobile-open', 'mm-normal');
|
|
closeBtn.style.display = 'none';
|
|
body.style.overflow = '';
|
|
});
|
|
})
|
|
})();
|
|
</script>
|
|
|
|
<script>
|
|
(function() {
|
|
var mainmenu = document.getElementById('main-menu');
|
|
if (!mainmenu) return;
|
|
|
|
var path = window.location.pathname;
|
|
var links = mainmenu.querySelectorAll('a');
|
|
|
|
links.forEach(function(link) {
|
|
if (link.getAttribute('href') === path) {
|
|
link.classList.add('active');
|
|
}
|
|
});
|
|
})();
|
|
</script>
|
|
|
|
</div>
|
|
</header>
|
|
|
|
<main>
|
|
|
|
|
|
|
|
|
|
<span class="headline">Just a little different</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>Incngrnt is an experiment in host applications and services, usually run by huge
|
|
corporations, on a small community scale. Using cloud technologies to enhance
|
|
redundancy and maintainability while keeping as much as possible hosted locally.</p>
|
|
<p>This project provides modern applications and services for friends and family,
|
|
offering the convenience of cloud-based tools without sacrificing data privacy.</p>
|
|
<p>The current instance, cheekily names Fog, is a <a href="https://kubernetes.io/" target="_blank">Kubernetes</a>
|
|
|
|
cluster of 3 <a href="https://www.talos.dev/" target="_blank">Talos Linux</a>
|
|
nodes. It uses <a href="https://ceph.io/en/" target="_blank">Ceph</a>
|
|
|
|
as the storage layer and <a href="https://metallb.io/" target="_blank">Metallb</a>
|
|
and
|
|
<a href="https://traefik.io/traefik/" target="_blank">Traefik</a>
|
|
for networking. The whole cluster has a has backup
|
|
<a href="https://www.ecoflow.com/ca" target="_blank">batteries</a>
|
|
in the event of a power failure. All configuration
|
|
and setup docs live in a self-hosted <a href="https://git.incngrnt.ca/grant/fog" target="_blank">git repo</a>
|
|
|
|
running directly on Fog.</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</main>
|
|
<footer>
|
|
<div class="copyright">
|
|
© 2025 Grant Hunter
|
|
</div>
|
|
|
|
<div class="attribution">
|
|
Built with <a href="https://gohugo.io" target="_blank">Hugo</a> & <a href="https://github.com/mnjm/kayal" target="_blank">Kayal</a>
|
|
</div>
|
|
|
|
</footer>
|
|
|
|
</div>
|
|
</body>
|
|
</html>
|