Merge branch 'blog-setup'
All checks were successful
ci/woodpecker/push/deploy-netlify Pipeline was successful
All checks were successful
ci/woodpecker/push/deploy-netlify Pipeline was successful
This commit is contained in:
commit
9cb9849d70
11 changed files with 103 additions and 71 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -27,3 +27,4 @@ hugo.linux
|
||||||
# Built Visual Studio Code Extensions
|
# Built Visual Studio Code Extensions
|
||||||
*.vsix
|
*.vsix
|
||||||
|
|
||||||
|
.DS_Store
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
$body-font-color: #d3d3d3;
|
$body-font-color: #ffffff;
|
||||||
|
/* old: #d3d3d3 */
|
||||||
$background-color: #212121;
|
$background-color: #212121;
|
||||||
$link-font-color: #1492FF;
|
$link-font-color: #1492FF;
|
||||||
$heading-font-color: #FF85B8;
|
$heading-font-color: #FF85B8;
|
||||||
$code-font-color: #a4c0f4;
|
$code-font-color: #a4c0f4;
|
||||||
$special-font-color: #c2f486;
|
$special-font-color: #c2f486;
|
||||||
$main-font-family: 'Open Sans', sans-serif;
|
$main-font-family: 'Open Sans', sans-serif;
|
||||||
|
$heading-font-family: 'Kreon', serif;
|
||||||
$min-device-width: 940px;
|
$min-device-width: 940px;
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
|
@ -15,12 +17,20 @@ $min-device-width: 940px;
|
||||||
src: url('/fonts/open-sans-v35-latin-regular.woff2') format('woff2');
|
src: url('/fonts/open-sans-v35-latin-regular.woff2') format('woff2');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-display: swap;
|
||||||
|
font-family: 'Kreon';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
src: url('/fonts/kreon-v37-latin-regular.woff2') format('woff2');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
a {
|
a {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
font: inherit;
|
|
||||||
vertical-align: baseline;
|
vertical-align: baseline;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
color: $link-font-color;
|
color: $link-font-color;
|
||||||
|
@ -34,7 +44,6 @@ body {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
font: inherit;
|
|
||||||
vertical-align: baseline;
|
vertical-align: baseline;
|
||||||
font-family: $main-font-family;
|
font-family: $main-font-family;
|
||||||
font-size: 1.4em;
|
font-size: 1.4em;
|
||||||
|
@ -49,67 +58,46 @@ content h1 {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
font: inherit;
|
font-family: $heading-font-family;
|
||||||
font-size: 1.5em;
|
font-size: 1.6em;
|
||||||
vertical-align: baseline;
|
vertical-align: baseline;
|
||||||
line-height: 100%;
|
line-height: 100%;
|
||||||
margin-top: 2rem;
|
margin-top: 2rem;
|
||||||
margin-bottom: 1rem;
|
margin-bottom: 1rem;
|
||||||
color: $heading-font-color;
|
color: $heading-font-color;
|
||||||
/*
|
|
||||||
|
|
||||||
&:before {
|
|
||||||
content: "# ";
|
|
||||||
content: "# " / "";
|
|
||||||
}
|
|
||||||
|
|
||||||
&:after {
|
|
||||||
content: "-----";
|
|
||||||
content: "-----" / "";
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
content h2 {
|
content h2 {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
font: inherit;
|
font-size: 1.4em;
|
||||||
|
font-family: $heading-font-family;
|
||||||
vertical-align: baseline;
|
vertical-align: baseline;
|
||||||
line-height: 100%;
|
line-height: 100%;
|
||||||
margin-top: 2rem;
|
margin-top: 2rem;
|
||||||
margin-bottom: 1rem;
|
margin-bottom: 1rem;
|
||||||
color: $heading-font-color;
|
color: $heading-font-color;
|
||||||
|
|
||||||
&:before {
|
|
||||||
content: "## ";
|
|
||||||
content: "## " / "";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
content h3 {
|
content h3 {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
font: inherit;
|
font-family: $heading-font-family;
|
||||||
|
font-size: 1.2em;
|
||||||
vertical-align: baseline;
|
vertical-align: baseline;
|
||||||
line-height: 100%;
|
line-height: 100%;
|
||||||
margin-top: 2rem;
|
margin-top: 2rem;
|
||||||
margin-bottom: 1rem;
|
margin-bottom: 1rem;
|
||||||
color: $heading-font-color;
|
color: $heading-font-color;
|
||||||
|
|
||||||
&:before {
|
|
||||||
content: "### ";
|
|
||||||
content: "### " / "";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
html {
|
html {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
font: inherit;
|
|
||||||
vertical-align: baseline;
|
vertical-align: baseline;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -119,7 +107,6 @@ content {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
font: inherit;
|
|
||||||
vertical-align: baseline;
|
vertical-align: baseline;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,7 +120,6 @@ content p {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
font: inherit;
|
|
||||||
vertical-align: baseline;
|
vertical-align: baseline;
|
||||||
margin-bottom: .75rem;
|
margin-bottom: .75rem;
|
||||||
|
|
||||||
|
@ -148,7 +134,6 @@ content span {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
font: inherit;
|
|
||||||
vertical-align: baseline;
|
vertical-align: baseline;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,7 +141,6 @@ content strong {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
font: inherit;
|
|
||||||
vertical-align: baseline;
|
vertical-align: baseline;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
color: $heading-font-color;
|
color: $heading-font-color;
|
||||||
|
@ -166,7 +150,6 @@ content u {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
font: inherit;
|
|
||||||
vertical-align: baseline;
|
vertical-align: baseline;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -174,7 +157,6 @@ content ul {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
font: inherit;
|
|
||||||
vertical-align: baseline;
|
vertical-align: baseline;
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
margin-left: 1rem;
|
margin-left: 1rem;
|
||||||
|
@ -199,6 +181,10 @@ content .special {
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
content pre>code {
|
||||||
|
font-family: monospace;
|
||||||
|
}
|
||||||
|
|
||||||
a.disabled {
|
a.disabled {
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
|
@ -222,9 +208,19 @@ a.disabled {
|
||||||
|
|
||||||
content code {
|
content code {
|
||||||
line-break: anywhere;
|
line-break: anywhere;
|
||||||
|
overflow-wrap: anywhere;
|
||||||
|
word-wrap: break-word;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
white-space: -moz-pre-wrap;
|
||||||
|
white-space: -pre-wrap;
|
||||||
|
white-space: -o-pre-wrap;
|
||||||
|
word-wrap: break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
nav {
|
nav {
|
||||||
|
font-family: $heading-font-family;
|
||||||
|
padding-bottom: 5px !important;
|
||||||
|
|
||||||
.hero-text {
|
.hero-text {
|
||||||
text-align: center !important;
|
text-align: center !important;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
@ -233,7 +229,7 @@ a.disabled {
|
||||||
.float-right,
|
.float-right,
|
||||||
.float-left {
|
.float-left {
|
||||||
float: none !important;
|
float: none !important;
|
||||||
margin: 0;
|
margin: 0 !important;
|
||||||
|
|
||||||
a {
|
a {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
@ -258,7 +254,8 @@ nav {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
border-bottom: 1px solid $body-font-color;
|
border-bottom: 1px solid $body-font-color;
|
||||||
margin-bottom: 30px;
|
margin-bottom: 30px;
|
||||||
padding: 0 10px 10px;
|
padding: 0 10px;
|
||||||
|
font-family: $heading-font-family;
|
||||||
|
|
||||||
div {
|
div {
|
||||||
margin-left: 15px;
|
margin-left: 15px;
|
||||||
|
@ -267,7 +264,6 @@ nav {
|
||||||
a {
|
a {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
font: inherit;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav-link {
|
.nav-link {
|
||||||
|
@ -282,6 +278,7 @@ nav {
|
||||||
|
|
||||||
.float-right {
|
.float-right {
|
||||||
float: right;
|
float: right;
|
||||||
|
margin-top: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.float-left {
|
.float-left {
|
||||||
|
@ -292,7 +289,6 @@ nav {
|
||||||
font-size: 1.5em;
|
font-size: 1.5em;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
font: inherit;
|
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
|
|
||||||
a {
|
a {
|
||||||
|
@ -305,7 +301,15 @@ nav {
|
||||||
|
|
||||||
footer {
|
footer {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
> div {
|
|
||||||
|
>div {
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.section-page-item {
|
||||||
|
>time {
|
||||||
|
color: gray;
|
||||||
|
font-size: 90%;
|
||||||
|
}
|
||||||
|
}
|
21
content/blog/2021/issues-with-docker-swarm-on-esxi.md
Normal file
21
content/blog/2021/issues-with-docker-swarm-on-esxi.md
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
---
|
||||||
|
title: "Issues with Docker Swarm on ESXi"
|
||||||
|
description: "How to make Docker Swarm work with Nodes on ESXi"
|
||||||
|
publishdate: "2021-04-20"
|
||||||
|
---
|
||||||
|
|
||||||
|
I once tried to set up a Docker Swarm Cluster. I had three nodes, two on Proxmox hosts, and one on a ESXi 7 host. The nodes had a GlusterFS sdtorage attached to them which synced data to all three nodes so containers could be started on any node.
|
||||||
|
|
||||||
|
Everything worked wonderfully. Until I found out that some Containers couldn't talk to others.
|
||||||
|
|
||||||
|
Off to troubleshooting then. It seemed very sporadic, with communication working most of the time somehow. I tried some things, until I found out that it only happens if a container on the ESXi node tried to talk to others on the Proxmox nodes.
|
||||||
|
|
||||||
|
After _A LOT_ of googling and searching many a reddit thread I finally found out why:
|
||||||
|
It seems like ESXi, even when in standalone mode, silently drops packets on `udp/4789`, which apparently is VMWares `VTEP VXLAN Port for NSX-T`.
|
||||||
|
|
||||||
|
The fix for the Swarm cluster is to (re-)create the Swarm Cluster with `--data-path-port=xxxx`:
|
||||||
|
```
|
||||||
|
docker swarm init --data-path-port=(port that's not 4789)
|
||||||
|
```
|
||||||
|
|
||||||
|
Afterwards all communication works again 🎉
|
7
content/blog/_index.md
Normal file
7
content/blog/_index.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
title: My Blog 🌸
|
||||||
|
description: "Lauras Blog"
|
||||||
|
---
|
||||||
|
I'll be posting about random stuff here :3 IT, Politics, Love...
|
||||||
|
|
||||||
|
## Latest posts
|
5
content/projects/_index.md
Normal file
5
content/projects/_index.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Projects
|
||||||
|
description: "Lauras Projects"
|
||||||
|
---
|
||||||
|
Here you can see all of my project documentations and ideas ✨
|
|
@ -1,6 +1,8 @@
|
||||||
---
|
---
|
||||||
title: "erisi: A self-hosted static site server"
|
title: "erisi: A self-hosted static site server"
|
||||||
description: "Project outline page for erisi. erisi is planned to be a self-hosted alternative to Netlify/Vercel/Github Pages/etc. written in Go and utilizing Caddy and its ACME capabilities."
|
description: "Project outline page for erisi. erisi is planned to be a self-hosted alternative to Netlify/Vercel/Github Pages/etc... written in Go and utilizing Caddy and it's ACME capabilities."
|
||||||
|
summary: Project outline page for erisi. erisi is planned to be a self-hosted alternative to Netlify/Vercel/Github Pages/etc... written in Go and utilizing Caddy and it's ACME capabilities.
|
||||||
|
publishdate: "2023-08-30"
|
||||||
---
|
---
|
||||||
|
|
||||||
## Summary
|
## Summary
|
||||||
|
|
|
@ -7,10 +7,13 @@ params:
|
||||||
|
|
||||||
menu:
|
menu:
|
||||||
main:
|
main:
|
||||||
|
- name: Blog
|
||||||
|
pageRef: /blog
|
||||||
|
weight: 1
|
||||||
- name: Portfolio
|
- name: Portfolio
|
||||||
pageRef: /portfolio
|
pageRef: /portfolio
|
||||||
weight: 2
|
weight: 2
|
||||||
- name: Interesting Stuff
|
- name: Projects
|
||||||
pageRef: /interesting-stuff
|
pageRef: /projects
|
||||||
weight: 3
|
weight: 3
|
||||||
|
|
||||||
|
|
|
@ -1,26 +0,0 @@
|
||||||
{{ define "page" }}
|
|
||||||
<article class="container">
|
|
||||||
{{ if ne .Kind "home" }}
|
|
||||||
<a href="{{ .Site.Home.RelPermalink }}">Home</a>
|
|
||||||
{{ end }}
|
|
||||||
<h1>{{ .Title }}</h1>
|
|
||||||
{{ range .Sections }}
|
|
||||||
<h2><a href="{{ .RelPermalink }}">{{ .Title }}</a></h2>
|
|
||||||
<ul>
|
|
||||||
{{ range .Pages }}
|
|
||||||
<li>
|
|
||||||
<a href="{{ .RelPermalink }}">{{ or .Title .RelPermalink }}</a>
|
|
||||||
</li>
|
|
||||||
{{ end }}
|
|
||||||
</ul>
|
|
||||||
{{ end }}
|
|
||||||
<h2>Other</h2>
|
|
||||||
<ul>
|
|
||||||
{{ range .RegularPages }}
|
|
||||||
<li>
|
|
||||||
<a href="{{ .RelPermalink }}">{{ or .Title .RelPermalink }}</a>
|
|
||||||
</li>
|
|
||||||
{{ end }}
|
|
||||||
</ul>
|
|
||||||
</article>
|
|
||||||
{{ end }}
|
|
14
layouts/_default/section.html
Normal file
14
layouts/_default/section.html
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{{ define "page" }}
|
||||||
|
<content>
|
||||||
|
<h1>{{ .Title }}</h1>
|
||||||
|
<p>{{ .Content }}</p>
|
||||||
|
{{ range .Pages }}
|
||||||
|
<div class="section-page-item">
|
||||||
|
<h3>{{ .Title }}</h3>
|
||||||
|
<time>{{ .PublishDate | time.Format ":date_medium" }}</time>
|
||||||
|
<div class="summary">{{ .Summary }}</div>
|
||||||
|
<a href="{{ .RelPermalink }}">Read more →</a>
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
</content>
|
||||||
|
{{ end }}
|
|
@ -1,3 +1,4 @@
|
||||||
{{ $style := resources.Get "scss/style.scss" | toCSS | minify }}
|
{{ $style := resources.Get "scss/style.scss" | toCSS | minify }}
|
||||||
<link rel="stylesheet" href="{{ $style.RelPermalink }}">
|
<link rel="stylesheet" href="{{ $style.RelPermalink }}">
|
||||||
<link rel="preload" href="/fonts/open-sans-v35-latin-regular.woff2" as="font" type="font/woff2" crossorigin>
|
<link rel="preload" href="/fonts/open-sans-v35-latin-regular.woff2" as="font" type="font/woff2" crossorigin>
|
||||||
|
<link rel="preload" href="/fonts/kreon-v37-latin-regular.woff2" as="font" type="font/woff2" crossorigin>
|
BIN
static/fonts/kreon-v37-latin-regular.woff2
Normal file
BIN
static/fonts/kreon-v37-latin-regular.woff2
Normal file
Binary file not shown.
Loading…
Reference in a new issue