add success
This commit is contained in:
@@ -548,6 +548,11 @@ pre[class*="language-diff-"] {
|
|||||||
<details><summary>2025</summary>
|
<details><summary>2025</summary>
|
||||||
<ol reversed="" class="archivelist">
|
<ol reversed="" class="archivelist">
|
||||||
|
|
||||||
|
<li class="archivelist-item">
|
||||||
|
<a href="/success-at-last/" class="archivelist-link">Success, at Last</a><br>
|
||||||
|
<time class="archivelist-date" datetime="2025-08-31">31 August 2025</time>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li class="archivelist-item">
|
<li class="archivelist-item">
|
||||||
<a href="/longevity/" class="archivelist-link">Longevity and Sustainability</a><br>
|
<a href="/longevity/" class="archivelist-link">Longevity and Sustainability</a><br>
|
||||||
<time class="archivelist-date" datetime="2025-08-18">18 August 2025</time>
|
<time class="archivelist-date" datetime="2025-08-18">18 August 2025</time>
|
||||||
|
|||||||
@@ -5,11 +5,21 @@
|
|||||||
<subtitle>The long-running and erratically updated blog of Kathleen Fitzpatrick.</subtitle>
|
<subtitle>The long-running and erratically updated blog of Kathleen Fitzpatrick.</subtitle>
|
||||||
<link href="https://kfitz.info/feed/feed.xml" rel="self" />
|
<link href="https://kfitz.info/feed/feed.xml" rel="self" />
|
||||||
<link href="https://kfitz.info/" />
|
<link href="https://kfitz.info/" />
|
||||||
<updated>2025-08-18T15:45:25Z</updated>
|
<updated>2025-08-31T18:34:18Z</updated>
|
||||||
<id>https://kfitz.info/</id>
|
<id>https://kfitz.info/</id>
|
||||||
<author>
|
<author>
|
||||||
<name>Kathleen Fitzpatrick</name>
|
<name>Kathleen Fitzpatrick</name>
|
||||||
</author>
|
</author>
|
||||||
|
<entry>
|
||||||
|
<title>Success, at Last</title>
|
||||||
|
<link href="https://kfitz.info/success-at-last/" />
|
||||||
|
<updated>2025-08-31T18:34:18Z</updated>
|
||||||
|
<id>https://kfitz.info/success-at-last/</id>
|
||||||
|
<content type="html"><p>After a <a href="https://kfitz.info/networking/">whole</a> <a href="https://kfitz.info/networking-continued/">lot</a> of tinkering, I think I have at last managed to get my home server up and running the way I want. Doing so required a change of ISP, which I wanted to do anyway as I'm getting a much better deal (including double the network speed) from my new provider. It also required a day and a half of further frustration, as the port forwarding setup that ought to have worked wasn't working at all, but after further futzing I've managed to get it all working pretty slickly.</p>
|
||||||
|
<p>In my current setup, I have Nginx Proxy Manager running in a container on my Proxmox, with a DNS entry set up pointing my IP address to it. Then I have a proxy host pointing to another container in which I'm running Gitea, and I'm successfully pushing and pulling code for this site to and from it.</p>
|
||||||
|
<p>Next up is setting the actual hosting of this site and a few others that I've been wanting to pull in house. It's nice to see the end of the network architecture phase of this project near and to have the creative work of writing and building opening up in front of me at last!</p>
|
||||||
|
</content>
|
||||||
|
</entry>
|
||||||
<entry>
|
<entry>
|
||||||
<title>Longevity and Sustainability</title>
|
<title>Longevity and Sustainability</title>
|
||||||
<link href="https://kfitz.info/longevity/" />
|
<link href="https://kfitz.info/longevity/" />
|
||||||
@@ -160,17 +170,6 @@
|
|||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
</section>
|
</section>
|
||||||
</content>
|
|
||||||
</entry>
|
|
||||||
<entry>
|
|
||||||
<title>Equality and Justice</title>
|
|
||||||
<link href="https://kfitz.info/equality-justice/" />
|
|
||||||
<updated>2025-02-17T21:45:22Z</updated>
|
|
||||||
<id>https://kfitz.info/equality-justice/</id>
|
|
||||||
<content type="html"><p>More from Bérubé and Ruth:</p>
|
|
||||||
<blockquote>
|
|
||||||
<p>A robust theory of academic freedom must be grounded in the common good. The common good is an intelligible concept only if what Charles Mills calls non-ideal (that is, not colorblind and abstract but historically and reality-based) forms of equality and justice are as highly valued as is freedom. If we do not presume the equal dignity and value of all humans, we will inevitably create regimes of abstract &quot;freedom&quot; that privilege some groups over others in the name of a specious universalism. (240)</p>
|
|
||||||
</blockquote>
|
|
||||||
</content>
|
</content>
|
||||||
</entry>
|
</entry>
|
||||||
</feed>
|
</feed>
|
||||||
@@ -545,13 +545,21 @@ pre[class*="language-diff-"] {
|
|||||||
<subtitle>The long-running and erratically updated blog of Kathleen Fitzpatrick.</subtitle>
|
<subtitle>The long-running and erratically updated blog of Kathleen Fitzpatrick.</subtitle>
|
||||||
<link href="https://kfitz.info/feed/masto.xml" rel="self"/>
|
<link href="https://kfitz.info/feed/masto.xml" rel="self"/>
|
||||||
<link href="https://kfitz.info/"/>
|
<link href="https://kfitz.info/"/>
|
||||||
<updated>2025-08-18T15:45:25Z</updated>
|
<updated>2025-08-31T18:34:18Z</updated>
|
||||||
<id>https://kfitz.info/</id>
|
<id>https://kfitz.info/</id>
|
||||||
<author>
|
<author>
|
||||||
<name>Kathleen Fitzpatrick</name>
|
<name>Kathleen Fitzpatrick</name>
|
||||||
<email>kfitz@kfitz.info</email>
|
<email>kfitz@kfitz.info</email>
|
||||||
</author>
|
</author>
|
||||||
|
|
||||||
|
<entry>
|
||||||
|
<title>Success, at Last</title>
|
||||||
|
<link href="https://kfitz.info/success-at-last/"/>
|
||||||
|
<updated>2025-08-31T18:34:18Z</updated>
|
||||||
|
<id>https://kfitz.info/success-at-last/</id>
|
||||||
|
<content type="html">After a whole lot of tinkering, I think I have at last managed to get my home server up and running the way I want. Doing so required a change of ISP, which I wanted to do anyway as...</content>
|
||||||
|
</entry>
|
||||||
|
|
||||||
<entry>
|
<entry>
|
||||||
<title>Longevity and Sustainability</title>
|
<title>Longevity and Sustainability</title>
|
||||||
<link href="https://kfitz.info/longevity/"/>
|
<link href="https://kfitz.info/longevity/"/>
|
||||||
|
|||||||
14
index.html
14
index.html
@@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<style>.postlist { counter-reset: start-from 1806 }
|
<style>.postlist { counter-reset: start-from 1807 }
|
||||||
/* This is an arbitrary CSS string added to the bundle */
|
/* This is an arbitrary CSS string added to the bundle */
|
||||||
/* Defaults */
|
/* Defaults */
|
||||||
@font-face {
|
@font-face {
|
||||||
@@ -562,6 +562,11 @@ Director, <a href="https://hcommons.org">Knowledge Commons</a>.</p>
|
|||||||
|
|
||||||
<ol reversed="" class="postlist">
|
<ol reversed="" class="postlist">
|
||||||
|
|
||||||
|
<li class="postlist-item">
|
||||||
|
<a href="/success-at-last/" class="postlist-link">Success, at Last</a>
|
||||||
|
<time class="postlist-date" datetime="2025-08-31">August 2025</time>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li class="postlist-item">
|
<li class="postlist-item">
|
||||||
<a href="/longevity/" class="postlist-link">Longevity and Sustainability</a>
|
<a href="/longevity/" class="postlist-link">Longevity and Sustainability</a>
|
||||||
<time class="postlist-date" datetime="2025-08-18">August 2025</time>
|
<time class="postlist-date" datetime="2025-08-18">August 2025</time>
|
||||||
@@ -582,17 +587,12 @@ Director, <a href="https://hcommons.org">Knowledge Commons</a>.</p>
|
|||||||
<time class="postlist-date" datetime="2025-05-31">May 2025</time>
|
<time class="postlist-date" datetime="2025-05-31">May 2025</time>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li class="postlist-item">
|
|
||||||
<a href="/networking/" class="postlist-link">Networking</a>
|
|
||||||
<time class="postlist-date" datetime="2025-05-11">May 2025</time>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<p>1800 more posts can be found in <a href="/blog/">the archive</a>.</p>
|
<p>1801 more posts can be found in <a href="/blog/">the archive</a>.</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -684,7 +684,7 @@ hr.new {
|
|||||||
</ol>
|
</ol>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<ul class="links-nextprev"><li class="links-nextprev-prev">← Previous<br> <a href="/networking-continued/">Networking Continued</a></li>
|
<ul class="links-nextprev"><li class="links-nextprev-prev">← Previous<br> <a href="/networking-continued/">Networking Continued</a></li><li class="links-nextprev-next">Next →<br><a href="/success-at-last/">Success, at Last</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<hyvor-talk-comments website-id="9100" page-id="/longevity/"></hyvor-talk-comments>
|
<hyvor-talk-comments website-id="9100" page-id="/longevity/"></hyvor-talk-comments>
|
||||||
|
|||||||
@@ -9076,6 +9076,11 @@
|
|||||||
<lastmod>2025-08-18</lastmod>
|
<lastmod>2025-08-18</lastmod>
|
||||||
</url>
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>https://kfitz.info/success-at-last/</loc>
|
||||||
|
<lastmod>2025-08-31</lastmod>
|
||||||
|
</url>
|
||||||
|
|
||||||
<url>
|
<url>
|
||||||
<loc>https://kfitz.info/feed/feed.xml</loc>
|
<loc>https://kfitz.info/feed/feed.xml</loc>
|
||||||
<lastmod>2025-08-31</lastmod>
|
<lastmod>2025-08-31</lastmod>
|
||||||
|
|||||||
706
success-at-last/index.html
Normal file
706
success-at-last/index.html
Normal file
@@ -0,0 +1,706 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Success, at Last</title>
|
||||||
|
<meta name="description" content="The long-running and erratically updated blog of Kathleen Fitzpatrick.">
|
||||||
|
<link rel="alternate" href="feed/feed.xml" type="application/atom+xml" title="kfitz">
|
||||||
|
<script async="" src="https://talk.hyvor.com/embed/embed.js" type="module"></script>
|
||||||
|
<link rel="webmention" href="https://webmention.io/kfitz.info/webmention">
|
||||||
|
<link rel="pingback" href="https://webmention.io/kfitz.info/xmlrpc">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<style>/**
|
||||||
|
* okaidia theme for JavaScript, CSS and HTML
|
||||||
|
* Loosely based on Monokai textmate theme by http://www.monokai.nl/
|
||||||
|
* @author ocodia
|
||||||
|
*/
|
||||||
|
|
||||||
|
code[class*="language-"],
|
||||||
|
pre[class*="language-"] {
|
||||||
|
color: #f8f8f2;
|
||||||
|
background: none;
|
||||||
|
text-shadow: 0 1px rgba(0, 0, 0, 0.3);
|
||||||
|
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
|
||||||
|
font-size: 1em;
|
||||||
|
text-align: left;
|
||||||
|
white-space: pre;
|
||||||
|
word-spacing: normal;
|
||||||
|
word-break: normal;
|
||||||
|
word-wrap: normal;
|
||||||
|
line-height: 1.5;
|
||||||
|
|
||||||
|
-moz-tab-size: 4;
|
||||||
|
-o-tab-size: 4;
|
||||||
|
tab-size: 4;
|
||||||
|
|
||||||
|
-webkit-hyphens: none;
|
||||||
|
-moz-hyphens: none;
|
||||||
|
-ms-hyphens: none;
|
||||||
|
hyphens: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Code blocks */
|
||||||
|
pre[class*="language-"] {
|
||||||
|
padding: 1em;
|
||||||
|
margin: .5em 0;
|
||||||
|
overflow: auto;
|
||||||
|
border-radius: 0.3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
:not(pre) > code[class*="language-"],
|
||||||
|
pre[class*="language-"] {
|
||||||
|
background: #272822;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Inline code */
|
||||||
|
:not(pre) > code[class*="language-"] {
|
||||||
|
padding: .1em;
|
||||||
|
border-radius: .3em;
|
||||||
|
white-space: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.comment,
|
||||||
|
.token.prolog,
|
||||||
|
.token.doctype,
|
||||||
|
.token.cdata {
|
||||||
|
color: #8292a2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.punctuation {
|
||||||
|
color: #f8f8f2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.namespace {
|
||||||
|
opacity: .7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.property,
|
||||||
|
.token.tag,
|
||||||
|
.token.constant,
|
||||||
|
.token.symbol,
|
||||||
|
.token.deleted {
|
||||||
|
color: #f92672;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.boolean,
|
||||||
|
.token.number {
|
||||||
|
color: #ae81ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.selector,
|
||||||
|
.token.attr-name,
|
||||||
|
.token.string,
|
||||||
|
.token.char,
|
||||||
|
.token.builtin,
|
||||||
|
.token.inserted {
|
||||||
|
color: #a6e22e;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.operator,
|
||||||
|
.token.entity,
|
||||||
|
.token.url,
|
||||||
|
.language-css .token.string,
|
||||||
|
.style .token.string,
|
||||||
|
.token.variable {
|
||||||
|
color: #f8f8f2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.atrule,
|
||||||
|
.token.attr-value,
|
||||||
|
.token.function,
|
||||||
|
.token.class-name {
|
||||||
|
color: #e6db74;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.keyword {
|
||||||
|
color: #66d9ef;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.regex,
|
||||||
|
.token.important {
|
||||||
|
color: #fd971f;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.important,
|
||||||
|
.token.bold {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.token.italic {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.entity {
|
||||||
|
cursor: help;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* New diff- syntax
|
||||||
|
*/
|
||||||
|
|
||||||
|
pre[class*="language-diff-"] {
|
||||||
|
--eleventy-code-padding: 1.25em;
|
||||||
|
padding-left: var(--eleventy-code-padding);
|
||||||
|
padding-right: var(--eleventy-code-padding);
|
||||||
|
}
|
||||||
|
.token.deleted {
|
||||||
|
background-color: hsl(0, 51%, 37%);
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
.token.inserted {
|
||||||
|
background-color: hsl(126, 31%, 39%);
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Make the + and - characters unselectable for copy/paste */
|
||||||
|
.token.prefix.unchanged,
|
||||||
|
.token.prefix.inserted,
|
||||||
|
.token.prefix.deleted {
|
||||||
|
-webkit-user-select: none;
|
||||||
|
user-select: none;
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding-top: 2px;
|
||||||
|
padding-bottom: 2px;
|
||||||
|
}
|
||||||
|
.token.prefix.inserted,
|
||||||
|
.token.prefix.deleted {
|
||||||
|
width: var(--eleventy-code-padding);
|
||||||
|
background-color: rgba(0,0,0,.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Optional: full-width background color */
|
||||||
|
.token.inserted:not(.prefix),
|
||||||
|
.token.deleted:not(.prefix) {
|
||||||
|
display: block;
|
||||||
|
margin-left: calc(-1 * var(--eleventy-code-padding));
|
||||||
|
margin-right: calc(-1 * var(--eleventy-code-padding));
|
||||||
|
text-decoration: none; /* override del, ins, mark defaults */
|
||||||
|
color: inherit; /* override del, ins, mark defaults */
|
||||||
|
}
|
||||||
|
/* This is an arbitrary CSS string added to the bundle */
|
||||||
|
/* Defaults */
|
||||||
|
@font-face {
|
||||||
|
font-family: "Atkinson Hyperlegible";
|
||||||
|
src: url('/css/files/atkinson-hyperlegible-latin-400-normal.woff2') format('woff2');
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: "Atkinson Hyperlegible";
|
||||||
|
font-weight: bold;
|
||||||
|
src: url('/css/files/atkinson-hyperlegible-latin-700-normal.woff2') format('woff2');
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: "Atkinson Hyperlegible";
|
||||||
|
font-style: italic
|
||||||
|
src: url('/css/files/atkinson-hyperlegible-latin-400-italic.woff2') format('woff2');
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--font-family: "Atkinson Hyperlegible", -apple-system, system-ui, sans-serif;
|
||||||
|
--font-family-monospace: Consolas, Menlo, Monaco, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Courier New, Courier, monospace;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Theme colors */
|
||||||
|
:root {
|
||||||
|
--color-gray-20: #e0e0e0;
|
||||||
|
--color-gray-50: #C0C0C0;
|
||||||
|
--color-gray-90: #333;
|
||||||
|
|
||||||
|
--background-color: #fff;
|
||||||
|
|
||||||
|
--text-color: var(--color-gray-90);
|
||||||
|
--text-color-link: #d61d4a;
|
||||||
|
--text-color-link-active: #853439;
|
||||||
|
--text-color-link-visited: #e8325e;
|
||||||
|
|
||||||
|
--syntax-tab-size: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root {
|
||||||
|
--color-gray-20: #e0e0e0;
|
||||||
|
--color-gray-50: #C0C0C0;
|
||||||
|
--color-gray-90: #dad8d8;
|
||||||
|
|
||||||
|
/* --text-color is assigned to --color-gray-_ above */
|
||||||
|
--text-color-link: #1493fb;
|
||||||
|
--text-color-link-active: #6969f7;
|
||||||
|
--text-color-link-visited: #a6a6f8;
|
||||||
|
|
||||||
|
--background-color: #15202b;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Global stylesheet */
|
||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
@view-transition {
|
||||||
|
navigation: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
html,
|
||||||
|
body {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0 auto;
|
||||||
|
font-family: var(--font-family);
|
||||||
|
color: var(--text-color);
|
||||||
|
background-color: var(--background-color);
|
||||||
|
}
|
||||||
|
html {
|
||||||
|
overflow-y: scroll;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
max-width: 40em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* https://www.a11yproject.com/posts/how-to-hide-content/ */
|
||||||
|
.visually-hidden {
|
||||||
|
clip: rect(0 0 0 0);
|
||||||
|
clip-path: inset(50%);
|
||||||
|
height: 1px;
|
||||||
|
overflow: hidden;
|
||||||
|
position: absolute;
|
||||||
|
white-space: nowrap;
|
||||||
|
width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
p:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
p {
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
a[href] {
|
||||||
|
color: var(--text-color-link);
|
||||||
|
}
|
||||||
|
a[href]:visited {
|
||||||
|
color: var(--text-color-link-visited);
|
||||||
|
}
|
||||||
|
a[href]:hover,
|
||||||
|
a[href]:active {
|
||||||
|
color: var(--text-color-link-active);
|
||||||
|
}
|
||||||
|
|
||||||
|
main,
|
||||||
|
footer {
|
||||||
|
padding: 1rem;
|
||||||
|
}
|
||||||
|
main :first-child {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
border-bottom: 1px dashed var(--color-gray-20);
|
||||||
|
}
|
||||||
|
header:after {
|
||||||
|
content: "";
|
||||||
|
display: table;
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
border-top: 1px dashed var(--color-gray-50);
|
||||||
|
}
|
||||||
|
|
||||||
|
.links-nextprev {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
gap: .5em 1em;
|
||||||
|
list-style: "";
|
||||||
|
border-top: 1px dashed var(--color-gray-20);
|
||||||
|
padding: 1em 0;
|
||||||
|
}
|
||||||
|
.links-nextprev > * {
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
||||||
|
.links-nextprev-next {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
table td,
|
||||||
|
table th {
|
||||||
|
padding-right: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre,
|
||||||
|
code {
|
||||||
|
font-family: var(--font-family-monospace);
|
||||||
|
}
|
||||||
|
pre:not([class*="language-"]) {
|
||||||
|
margin: .5em 0;
|
||||||
|
line-height: 1.375; /* 22px /16 */
|
||||||
|
-moz-tab-size: var(--syntax-tab-size);
|
||||||
|
-o-tab-size: var(--syntax-tab-size);
|
||||||
|
tab-size: var(--syntax-tab-size);
|
||||||
|
-webkit-hyphens: none;
|
||||||
|
-ms-hyphens: none;
|
||||||
|
hyphens: none;
|
||||||
|
direction: ltr;
|
||||||
|
text-align: left;
|
||||||
|
white-space: pre;
|
||||||
|
word-spacing: normal;
|
||||||
|
word-break: normal;
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
|
code {
|
||||||
|
word-break: break-all;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Header */
|
||||||
|
header {
|
||||||
|
display: flex;
|
||||||
|
gap: 1em .5em;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
align-items: center;
|
||||||
|
padding: 1em;
|
||||||
|
}
|
||||||
|
.home-link {
|
||||||
|
font-size: 1.5em; /* 16px /16 */
|
||||||
|
font-weight: 700;
|
||||||
|
margin-right: 2em;
|
||||||
|
}
|
||||||
|
.home-link:link:not(:hover) {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Nav */
|
||||||
|
.nav {
|
||||||
|
display: flex;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
.nav-item {
|
||||||
|
display: inline-block;
|
||||||
|
margin-right: 1em;
|
||||||
|
}
|
||||||
|
.nav-item a[href]:not(:hover) {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.nav a[href][aria-current="page"] {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Posts list */
|
||||||
|
.postlist {
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
padding-left: 1.5rem;
|
||||||
|
}
|
||||||
|
.postlist-item {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
align-items: baseline;
|
||||||
|
counter-increment: start-from -1;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
.postlist-item:before {
|
||||||
|
display: inline-block;
|
||||||
|
pointer-events: none;
|
||||||
|
content: "" counter(start-from, decimal-leading-zero) ". ";
|
||||||
|
line-height: 100%;
|
||||||
|
text-align: right;
|
||||||
|
margin-left: -1.5rem;
|
||||||
|
}
|
||||||
|
.postlist-date,
|
||||||
|
.postlist-item:before {
|
||||||
|
font-size: 0.8125em; /* 13px /16 */
|
||||||
|
color: var(--color-gray-90);
|
||||||
|
}
|
||||||
|
.postlist-date {
|
||||||
|
word-spacing: -0.5px;
|
||||||
|
}
|
||||||
|
.postlist-link {
|
||||||
|
font-size: 1.1875em; /* 19px /16 */
|
||||||
|
font-weight: 700;
|
||||||
|
flex-basis: calc(100% - 1.5rem);
|
||||||
|
padding-left: .25em;
|
||||||
|
padding-right: .5em;
|
||||||
|
text-underline-position: from-font;
|
||||||
|
text-underline-offset: 0;
|
||||||
|
text-decoration-thickness: 1px;
|
||||||
|
}
|
||||||
|
.postlist-item-active .postlist-link {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Archive list */
|
||||||
|
.archivelist {
|
||||||
|
padding: 0;
|
||||||
|
padding-left: 2.5rem;
|
||||||
|
}
|
||||||
|
.archivelist-item {
|
||||||
|
align-items: baseline;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
.archivelist-item::marker {
|
||||||
|
text-align: right;
|
||||||
|
margin-left: -1.5rem;
|
||||||
|
font-size: 0.8125em; /* 13px /16 */
|
||||||
|
color: var(--color-gray-90);
|
||||||
|
}
|
||||||
|
.archivelist-date {
|
||||||
|
font-size: 0.8125em; /* 13px /16 */
|
||||||
|
color: var(--color-gray-90);
|
||||||
|
word-spacing: -0.5px;
|
||||||
|
}
|
||||||
|
.archivelist-link {
|
||||||
|
font-size: 1.1875em; /* 19px /16 */
|
||||||
|
font-weight: 700;
|
||||||
|
flex-basis: calc(100% - 1.5rem);
|
||||||
|
padding-left: .25em;
|
||||||
|
padding-right: .5em;
|
||||||
|
text-underline-position: from-font;
|
||||||
|
text-underline-offset: 0;
|
||||||
|
text-decoration-thickness: 1px;
|
||||||
|
}
|
||||||
|
.archivelist-item-active .archivelist-link {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Tags */
|
||||||
|
.post-tag {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
text-transform: capitalize;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
.postlist-item > .post-tag {
|
||||||
|
align-self: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Tags list */
|
||||||
|
.post-metadata {
|
||||||
|
display: inline-flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: .5em;
|
||||||
|
list-style: none;
|
||||||
|
border-top: 1px dashed var(--color-gray-20);
|
||||||
|
border-bottom: 1px dashed var(--color-gray-20);
|
||||||
|
padding: 3px 0px 3px 0px;
|
||||||
|
margin: 0;
|
||||||
|
font-size: .8em;
|
||||||
|
}
|
||||||
|
.post-metadata time {
|
||||||
|
margin-right: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Direct Links / Markdown Headers */
|
||||||
|
.header-anchor {
|
||||||
|
text-decoration: none;
|
||||||
|
font-style: normal;
|
||||||
|
font-size: 1em;
|
||||||
|
margin-left: .1em;
|
||||||
|
}
|
||||||
|
a[href].header-anchor,
|
||||||
|
a[href].header-anchor:visited {
|
||||||
|
color: transparent;
|
||||||
|
}
|
||||||
|
a[href].header-anchor:focus,
|
||||||
|
a[href].header-anchor:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
a[href].header-anchor:focus,
|
||||||
|
:hover > a[href].header-anchor {
|
||||||
|
color: #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 + .header-anchor {
|
||||||
|
font-size: 1.5em;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-weight: bolder;
|
||||||
|
}
|
||||||
|
|
||||||
|
summary {
|
||||||
|
font-size: 1.5em;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-bottom: .5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
display: block;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
display: block;
|
||||||
|
margin-left: 2em;
|
||||||
|
margin-right: 3em;
|
||||||
|
padding-left: 10px;
|
||||||
|
border-left: 10px solid var(--text-color-link);
|
||||||
|
}
|
||||||
|
|
||||||
|
hr.new {
|
||||||
|
border: none;
|
||||||
|
border-top: 1px dashed var(--color-gray-50);
|
||||||
|
}
|
||||||
|
/* Webmention Section */
|
||||||
|
|
||||||
|
.webmentions {
|
||||||
|
display:block;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
.webmentions__facepile {
|
||||||
|
display:flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
.webmentions__face {
|
||||||
|
width: 2rem;
|
||||||
|
height: 2rem;
|
||||||
|
border-radius: 50%;
|
||||||
|
object-fit: cover;
|
||||||
|
flex: none;
|
||||||
|
}
|
||||||
|
.webmentions__list {
|
||||||
|
list-style-type: none;
|
||||||
|
padding:0;
|
||||||
|
}
|
||||||
|
.webmentions__item {
|
||||||
|
margin-bottom: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Single Webmention */
|
||||||
|
|
||||||
|
.webmention {
|
||||||
|
display:block;
|
||||||
|
}
|
||||||
|
.webmention__meta,
|
||||||
|
.webmention__author {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
.webmention__meta {
|
||||||
|
margin-bottom:.5rem;
|
||||||
|
}
|
||||||
|
.webmention__author {
|
||||||
|
margin-right:.25rem;
|
||||||
|
}
|
||||||
|
.webmention__author__photo {
|
||||||
|
height: 3rem;
|
||||||
|
width: 3rem;
|
||||||
|
border-radius: 50%;
|
||||||
|
object-fit: cover;
|
||||||
|
margin-right:.5rem;
|
||||||
|
}
|
||||||
|
.webmention__pubdate {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
/* Message Box */
|
||||||
|
.message-box {
|
||||||
|
--color-message-box: #ffc;
|
||||||
|
|
||||||
|
display: block;
|
||||||
|
background-color: var(--color-message-box);
|
||||||
|
color: var(--color-gray-90);
|
||||||
|
padding: 1em 0.625em; /* 16px 10px /16 */
|
||||||
|
}
|
||||||
|
.message-box ol {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
.message-box {
|
||||||
|
--color-message-box: #082840;
|
||||||
|
}
|
||||||
|
}</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<a href="#skip" class="visually-hidden">Skip to main content</a>
|
||||||
|
|
||||||
|
<header>
|
||||||
|
<a href="/" class="home-link">kfitz</a>
|
||||||
|
<nav>
|
||||||
|
<h2 class="visually-hidden" id="top-level-navigation-menu">Top level navigation menu</h2>
|
||||||
|
<ul class="nav">
|
||||||
|
<li class="nav-item"><a href="/">Home</a></li>
|
||||||
|
<li class="nav-item"><a href="/blog/">Archive</a></li>
|
||||||
|
<li class="nav-item"><a href="/about/">About</a></li>
|
||||||
|
<li class="nav-item"><a href="/projects/">Projects</a></li>
|
||||||
|
<li class="nav-item"><a href="/presentations/">Presentations</a></li>
|
||||||
|
<li class="nav-item"><a href="/teaching/">Teaching</a></li>
|
||||||
|
<li class="nav-item"><a href="/feed/feed.xml">Feed</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<link href="/pagefind/pagefind-ui.css" rel="stylesheet">
|
||||||
|
<script src="/pagefind/pagefind-ui.js"></script>
|
||||||
|
<div id="search"></div>
|
||||||
|
<script>
|
||||||
|
window.addEventListener('DOMContentLoaded', (event) => {
|
||||||
|
new PagefindUI({ element: "#search", showSubResults: true });
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<main id="skip">
|
||||||
|
<heading-anchors>
|
||||||
|
|
||||||
|
<h1 id="success-at-last">Success, at Last</h1>
|
||||||
|
|
||||||
|
<ul class="post-metadata">
|
||||||
|
<li><time datetime="2025-08-31">31 August 2025</time></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>After a <a href="/networking/">whole</a> <a href="/networking-continued/">lot</a> of tinkering, I think I have at last managed to get my home server up and running the way I want. Doing so required a change of ISP, which I wanted to do anyway as I'm getting a much better deal (including double the network speed) from my new provider. It also required a day and a half of further frustration, as the port forwarding setup that ought to have worked wasn't working at all, but after further futzing I've managed to get it all working pretty slickly.</p>
|
||||||
|
<p>In my current setup, I have Nginx Proxy Manager running in a container on my Proxmox, with a DNS entry set up pointing my IP address to it. Then I have a proxy host pointing to another container in which I'm running Gitea, and I'm successfully pushing and pulling code for this site to and from it.</p>
|
||||||
|
<p>Next up is setting the actual hosting of this site and a few others that I've been wanting to pull in house. It's nice to see the end of the network architecture phase of this project near and to have the creative work of writing and building opening up in front of me at last!</p>
|
||||||
|
|
||||||
|
<ul class="links-nextprev"><li class="links-nextprev-prev">← Previous<br> <a href="/longevity/">Longevity and Sustainability</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<hyvor-talk-comments website-id="9100" page-id="/success-at-last/"></hyvor-talk-comments>
|
||||||
|
|
||||||
|
<div class="webmentions" id="webmentions">
|
||||||
|
<h3 id="webmentions-2">Webmentions</h3>
|
||||||
|
|
||||||
|
|
||||||
|
<p>No replies yet.</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</heading-anchors>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p><em>Built with <a href="https://www.11ty.dev/">Eleventy v3.1.0</a>. All content <a href="https://creativecommons.org/licenses/by/4.0/deed.en">CC BY 4.0</a> if you're human.</em></p><p></p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<script type="module" src="/dist/rJ3_G-2ArF.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Reference in New Issue
Block a user