Compare commits

..

3 Commits

Author SHA1 Message Date
renovate-bot 848cfcbde0 chore(deps): update dependency prettier to v3.8.2
renovate/stability-days Updates have met minimum release age requirement
test-build / guarddog (push) Successful in 55s
test-build / guarddog (pull_request) Successful in 1m3s
test-build / build (push) Successful in 1m26s
test-build / build (pull_request) Successful in 1m36s
2026-04-11 12:01:44 +00:00
renovate-bot 6311293838 chore(deps): update dependency bun to v1.3.12
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m8s
test-build / guarddog (pull_request) Successful in 42s
renovate / renovate (push) Successful in 1m36s
2026-04-11 06:01:33 +00:00
alexlebens d8c19f45c5 feat: add notes
test-build / guarddog (push) Successful in 19s
test-build / build (push) Successful in 39s
renovate / renovate (push) Successful in 2m17s
2026-04-10 21:18:19 -05:00
105 changed files with 669 additions and 1939 deletions
+25 -25
View File
@@ -12,25 +12,25 @@ jobs:
runs-on: ubuntu-js runs-on: ubuntu-js
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v6.0.2 uses: actions/checkout@v6
with: with:
ref: release ref: release
- name: Set up Node - name: Set up Node
uses: actions/setup-node@v6.4.0 uses: actions/setup-node@v6
with: with:
node-version: 24.15.0 node-version: 24.14.1
- name: Set up Bun - name: Set up Bun
uses: oven-sh/setup-bun@v2.2.0 uses: oven-sh/setup-bun@v2
with: with:
bun-version: 1.3.13 bun-version: 1.3.12
- name: Install Dependencies - name: Install Dependencies
run: bun install --frozen-lockfile run: bun install --frozen-lockfile
- name: Cache Astro Build Cache - name: Cache Astro Build Cache
uses: actions/cache@v5.0.5 uses: actions/cache@v5
with: with:
path: | path: |
.astro .astro
@@ -64,12 +64,12 @@ jobs:
runs-on: ubuntu-js runs-on: ubuntu-js
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v6.0.2 uses: actions/checkout@v6
with: with:
ref: release ref: release
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v6.2.0 uses: actions/setup-python@v6
with: with:
python-version: '3.12.13' python-version: '3.12.13'
@@ -106,20 +106,20 @@ jobs:
new-release-git-tag: ${{ steps.semantic.outputs.new-release-git-tag }} new-release-git-tag: ${{ steps.semantic.outputs.new-release-git-tag }}
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v6.0.2 uses: actions/checkout@v6
with: with:
fetch-depth: 0 fetch-depth: 0
token: ${{ secrets.BOT_TOKEN }} token: ${{ secrets.BOT_TOKEN }}
- name: Set up Node - name: Set up Node
uses: actions/setup-node@v6.4.0 uses: actions/setup-node@v6
with: with:
node-version: 24.15.0 node-version: 24.14.1
- name: Set up Bun - name: Set up Bun
uses: oven-sh/setup-bun@v2.2.0 uses: oven-sh/setup-bun@v2
with: with:
bun-version: 1.3.13 bun-version: 1.3.12
- name: Install Dependencies - name: Install Dependencies
run: bun install --frozen-lockfile run: bun install --frozen-lockfile
@@ -139,19 +139,19 @@ jobs:
if: ${{ needs.semantic-release.outputs.new-release-published == 'true' }} if: ${{ needs.semantic-release.outputs.new-release-published == 'true' }}
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v6.0.2 uses: actions/checkout@v6
with: with:
ref: release ref: release
- name: Login to Harbor Registry - name: Login to Harbor Registry
uses: docker/login-action@v4.1.0 uses: docker/login-action@v4
with: with:
registry: ${{ vars.REGISTRY_HOST }} registry: ${{ vars.REGISTRY_HOST }}
username: ${{ vars.REGISTRY_USER }} username: ${{ vars.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_SECRET }} password: ${{ secrets.REGISTRY_SECRET }}
- name: Login to Docker - name: Login to Docker
uses: docker/login-action@v4.1.0 uses: docker/login-action@v4
with: with:
registry: ${{ vars.DH_REGISTRY }} registry: ${{ vars.DH_REGISTRY }}
username: ${{ secrets.DH_USERNAME }} username: ${{ secrets.DH_USERNAME }}
@@ -164,7 +164,7 @@ jobs:
- name: Set up Docker Buildx - name: Set up Docker Buildx
id: buildx id: buildx
uses: docker/setup-buildx-action@v4.0.0 uses: docker/setup-buildx-action@v4
with: with:
driver: kubernetes driver: kubernetes
driver-opts: | driver-opts: |
@@ -179,7 +179,7 @@ jobs:
- name: Extract Metadata - name: Extract Metadata
id: meta id: meta
uses: docker/metadata-action@v6.0.0 uses: docker/metadata-action@v6
with: with:
images: | images: |
${{ vars.REGISTRY_HOST }}/images/site-documentation ${{ vars.REGISTRY_HOST }}/images/site-documentation
@@ -192,7 +192,7 @@ jobs:
type=semver,pattern={{major}},value=${{ needs.semantic-release.outputs.new-release-version }} type=semver,pattern={{major}},value=${{ needs.semantic-release.outputs.new-release-version }}
- name: Build and Push Image - name: Build and Push Image
uses: docker/build-push-action@v7.1.0 uses: docker/build-push-action@v7
with: with:
context: . context: .
push: true push: true
@@ -243,19 +243,19 @@ jobs:
needs.semantic-release.outputs.new-release-published == 'true' needs.semantic-release.outputs.new-release-published == 'true'
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v6.0.2 uses: actions/checkout@v6
with: with:
ref: release ref: release
- name: Login to Gitea Registry - name: Login to Gitea Registry
uses: docker/login-action@v4.1.0 uses: docker/login-action@v4
with: with:
registry: ${{ vars.REPOSITORY_HOST }} registry: ${{ vars.REPOSITORY_HOST }}
username: ${{ gitea.actor }} username: ${{ gitea.actor }}
password: ${{ secrets.REPOSITORY_TOKEN }} password: ${{ secrets.REPOSITORY_TOKEN }}
- name: Login to Docker - name: Login to Docker
uses: docker/login-action@v4.1.0 uses: docker/login-action@v4
with: with:
registry: ${{ vars.DH_REGISTRY }} registry: ${{ vars.DH_REGISTRY }}
username: ${{ secrets.DH_USERNAME }} username: ${{ secrets.DH_USERNAME }}
@@ -268,7 +268,7 @@ jobs:
- name: Set up Docker Buildx - name: Set up Docker Buildx
id: buildx id: buildx
uses: docker/setup-buildx-action@v4.0.0 uses: docker/setup-buildx-action@v4
with: with:
driver: kubernetes driver: kubernetes
driver-opts: | driver-opts: |
@@ -283,7 +283,7 @@ jobs:
- name: Extract Metadata - name: Extract Metadata
id: meta id: meta
uses: docker/metadata-action@v6.0.0 uses: docker/metadata-action@v6
with: with:
images: | images: |
${{ vars.REPOSITORY_HOST }}/${{ gitea.repository }} ${{ vars.REPOSITORY_HOST }}/${{ gitea.repository }}
@@ -296,7 +296,7 @@ jobs:
type=semver,pattern={{major}},value=${{ needs.semantic-release.outputs.new-release-version }} type=semver,pattern={{major}},value=${{ needs.semantic-release.outputs.new-release-version }}
- name: Build and Push Image - name: Build and Push Image
uses: docker/build-push-action@v7.1.0 uses: docker/build-push-action@v7
with: with:
context: . context: .
push: true push: true
+1 -1
View File
@@ -12,7 +12,7 @@ jobs:
container: ghcr.io/renovatebot/renovate:43 container: ghcr.io/renovatebot/renovate:43
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v6.0.2 uses: actions/checkout@v6
- name: Renovate - name: Renovate
run: renovate run: renovate
+8 -8
View File
@@ -17,23 +17,23 @@ jobs:
runs-on: ubuntu-js runs-on: ubuntu-js
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v6.0.2 uses: actions/checkout@v6
- name: Set up Node - name: Set up Node
uses: actions/setup-node@v6.4.0 uses: actions/setup-node@v6
with: with:
node-version: 24.15.0 node-version: 24.14.1
- name: Set up Bun - name: Set up Bun
uses: oven-sh/setup-bun@v2.2.0 uses: oven-sh/setup-bun@v2
with: with:
bun-version: 1.3.13 bun-version: 1.3.12
- name: Install Dependencies - name: Install Dependencies
run: bun install --frozen-lockfile run: bun install --frozen-lockfile
- name: Cache Astro Build Cache - name: Cache Astro Build Cache
uses: actions/cache@v5.0.5 uses: actions/cache@v5
with: with:
path: | path: |
.astro .astro
@@ -67,10 +67,10 @@ jobs:
runs-on: ubuntu-js runs-on: ubuntu-js
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v6.0.2 uses: actions/checkout@v6
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v6.2.0 uses: actions/setup-python@v6
with: with:
python-version: '3.12.13' python-version: '3.12.13'
-107
View File
@@ -1,110 +1,3 @@
# [0.30.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.29.0...0.30.0) (2026-05-12)
### Features
* add 3d printer docs ([fac3a99](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/fac3a999d64e499e92b0123f2a9b03074f4d4008))
# [0.29.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.28.0...0.29.0) (2026-05-08)
### Bug Fixes
* **deps:** update dependency @astrojs/starlight to v0.38.5 ([0b8f720](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/0b8f720d6afc765759a3f5bfef1ec1a575247e4f))
* **deps:** update dependency astro to v6.1.10 ([5c36a1f](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/5c36a1f31d8098828fe790dcb307ef6f391a53a0))
* **deps:** update dependency astro to v6.2.2 ([9b57393](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/9b57393281b55441ef6786ed597519e0f6280e93))
### Features
* allow processing svg ([c7b49df](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/c7b49df433d25f343e336fdf5f972f479a2cd07e))
* rebase ([1b34c03](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/1b34c03861824b350d144d7dabbe1d10111b86e1))
* rebase ([a2bae2b](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/a2bae2bb1b2cb39005ded7c24a15705c0aea6695))
# [0.28.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.27.1...0.28.0) (2026-04-27)
### Bug Fixes
* add escape ([990eb62](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/990eb62c75c2c0460a18410b8c2abff920fdffe2))
### Features
* move guides ([33e8873](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/33e887348ba9976e2dfb54f68d7031da060e3281))
## [0.27.1](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.27.0...0.27.1) (2026-04-26)
### Bug Fixes
* **deps:** update astro monorepo ([6769f18](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/6769f18bd11000d3c4b71f0951f8a4cc147f8352))
* **deps:** update dependency @astrojs/starlight to v0.38.4 ([a9d8640](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/a9d8640e5ed4f525bc46a49a971755a42befb8f6))
* **deps:** update tailwindcss monorepo to v4.2.3 ([7ba7627](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/7ba762733b818ce9c758ad16a2c633d2e8093e02))
* **deps:** update tailwindcss monorepo to v4.2.4 ([9173b81](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/9173b81db4fe9032726ef4d666c1f06f2b366a10))
# [0.27.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.26.0...0.27.0) (2026-04-19)
### Bug Fixes
* **deps:** update dependency astro to v6.1.8 ([4b01ed5](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/4b01ed56546d645756d8b8967e3ed37d50d3ad22))
### Features
* add doc for secret store ([58d1631](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/58d16315fb8862f8b04d43414d5c9b848c73aaba))
* rename to openbao ([07dd129](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/07dd12971da61180827813be6bb4ed532e94f118))
# [0.26.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.25.0...0.26.0) (2026-04-16)
### Bug Fixes
* **deps:** update astro monorepo ([4a60e31](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/4a60e315f87a7a0fb2ed1d0aa0540a15c222baf1))
* **deps:** update dependency sanitize-html to v2.17.3 ([27c6b11](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/27c6b11ea896736de5d137d2f0204b913ce081d1))
### Features
* add openbao ([b44da87](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/b44da87ac85e1e8a3efd054328b167ae78ba25fc))
# [0.25.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.24.0...0.25.0) (2026-04-14)
### Bug Fixes
* **deps:** update dependency astro to v6.1.6 ([c37cbc5](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/c37cbc5fc086abcc1c16e775e38af4572679e47d))
### Features
* add sparkyfitness ([7bd88fe](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/7bd88fe69fe6079f35305e7d8424187756429c0a))
# [0.24.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.23.0...0.24.0) (2026-04-12)
### Features
* add notes ([869ff82](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/869ff82875c2ab9d030767e480896b29b1056f02))
* add notes ([1ac2f62](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/1ac2f62082d180d42a4baf9b330b67b3483b7a64))
* add notes to all applications ([3b2b38b](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/3b2b38b6256fbd699ce7fa5521b43761c6c6a9ed))
* add rybbit tracking ([bc36b67](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/bc36b67320b1f515a70ad4e338ce7549a153a8b6))
* remove csp ([b88b13e](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/b88b13ef1693610b06c5e99dc8906b215a5fda40))
# [0.23.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.22.0...0.23.0) (2026-04-10)
### Bug Fixes
* **deps:** update dependency astro to v6.1.5 ([b49be7b](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/b49be7bc09918c8c39572cabd903e3f73a2ef6a3))
* wrong source ([ddc7ec3](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/ddc7ec300859240497cc65070d253ba02b794b06))
### Features
* remove dep-track ([357eaf3](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/357eaf37eda2b9558b49292970f7765f07ece0c1))
# [0.22.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.21.0...0.22.0) (2026-04-08) # [0.22.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.21.0...0.22.0) (2026-04-08)
+7 -19
View File
@@ -16,9 +16,7 @@ const getSiteURL = () => {
export default defineConfig({ export default defineConfig({
site: getSiteURL(), site: getSiteURL(),
image: { security: { csp: true },
dangerouslyProcessSVG: true
},
prefetch: true, prefetch: true,
@@ -26,16 +24,6 @@ export default defineConfig({
sitemap(), sitemap(),
starlight({ starlight({
title: "Alex Lebens Docs", title: "Alex Lebens Docs",
head: [
{
tag: 'script',
attrs: {
src: 'https://rybbit.alexlebens.dev/api/script.js',
'data-site-id': 'a8768eb5f5ff',
defer: true,
},
},
],
customCss: [ customCss: [
'./src/styles/custom.css', './src/styles/custom.css',
], ],
@@ -54,17 +42,17 @@ export default defineConfig({
], ],
sidebar: [ sidebar: [
{ {
label: 'Reference', label: "Reference",
items: [{ autogenerate: { "directory": "reference" } }] autogenerate: { directory: "reference" },
}, },
{ {
label: 'Guides', label: "Guides",
items: [{ autogenerate: { "directory": "guides" } }] autogenerate: { directory: "guides" },
}, },
{ {
label: 'Applications', label: "Applications",
collapsed: true, collapsed: true,
items: [{ autogenerate: { "directory": "applications" } }] autogenerate: { directory: "applications" },
}, },
], ],
}) })
+592 -478
View File
File diff suppressed because it is too large Load Diff
+16 -16
View File
@@ -1,7 +1,7 @@
{ {
"name": "site-documentation", "name": "site-documentation",
"type": "module", "type": "module",
"version": "0.30.0", "version": "0.22.0",
"scripts": { "scripts": {
"dev": "astro dev", "dev": "astro dev",
"build": "astro build", "build": "astro build",
@@ -12,17 +12,17 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"@astrojs/mdx": "5.0.4", "@astrojs/mdx": "5.0.3",
"@astrojs/node": "10.1.0", "@astrojs/node": "10.0.4",
"@astrojs/sitemap": "3.7.2", "@astrojs/sitemap": "3.7.2",
"@astrojs/starlight": "0.39.2", "@astrojs/starlight": "0.38.3",
"@tailwindcss/postcss": "4.3.0", "@tailwindcss/postcss": "4.2.2",
"@tailwindcss/vite": "4.3.0", "@tailwindcss/vite": "4.2.2",
"astro": "6.3.1", "astro": "6.1.5",
"sanitize-html": "2.17.3", "sanitize-html": "2.17.2",
"sharp": "0.34.5", "sharp": "0.34.5",
"starlight-theme-rapide": "0.5.2", "starlight-theme-rapide": "0.5.2",
"tailwindcss": "4.3.0" "tailwindcss": "4.2.2"
}, },
"devDependencies": { "devDependencies": {
"@saithodev/semantic-release-gitea": "2.1.0", "@saithodev/semantic-release-gitea": "2.1.0",
@@ -30,19 +30,19 @@
"@semantic-release/commit-analyzer": "13.0.1", "@semantic-release/commit-analyzer": "13.0.1",
"@semantic-release/git": "10.0.1", "@semantic-release/git": "10.0.1",
"@semantic-release/npm": "13.1.5", "@semantic-release/npm": "13.1.5",
"@semantic-release/release-notes-generator": "14.1.1", "@semantic-release/release-notes-generator": "14.1.0",
"@tailwindcss/forms": "0.5.11", "@tailwindcss/forms": "0.5.11",
"@tailwindcss/typography": "0.5.19", "@tailwindcss/typography": "0.5.19",
"@typescript-eslint/parser": "8.59.3", "@typescript-eslint/parser": "8.58.1",
"eslint": "10.3.0", "eslint": "10.2.0",
"eslint-config-prettier": "10.1.8", "eslint-config-prettier": "10.1.8",
"eslint-plugin-astro": "1.7.0", "eslint-plugin-astro": "1.7.0",
"prettier": "3.8.3", "prettier": "3.8.2",
"prettier-plugin-astro": "0.14.1", "prettier-plugin-astro": "0.14.1",
"prettier-plugin-tailwindcss": "0.8.0", "prettier-plugin-tailwindcss": "0.7.2",
"semantic-release": "25.0.3", "semantic-release": "25.0.3",
"semantic-release-export-data": "1.2.0", "semantic-release-export-data": "1.2.0",
"typescript": "6.0.3", "typescript": "6.0.2",
"typescript-eslint": "8.59.3" "typescript-eslint": "8.58.1"
} }
} }
@@ -13,29 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/democratic-csi-synology-iscsi link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/democratic-csi-synology-iscsi
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Storage provider for iSCSI block devices from the NAS.
# Notes
Used for applications that need to store a lot of data, but not over the NFS connection. Examples include metrics and logging storage.
# Issues
## Resizing the Prometheus disk
There is an issue resizing iSCSI disks. The following Github issue has instructions on how to manually resize if a permissions error is thrown.
https://github.com/democratic-csi/democratic-csi/issues/491#issuecomment-3778463893
- Exec into the iSCSI node pod for the node where the volume is being attached.
- Find the path where the volume is mounted, this should be in the error, and the disk name
- umount \<path>
- resize2fs /dev/\<disk name>
- Receive the error that the filesystem isn't clean, press y to optimize
- fsck -f /dev/\<disk name>
- Ensure the above comes back clean
- resize2fs /dev/sdb
- Restart pod that is mounting the disk
@@ -13,15 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/descheduler link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/descheduler
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/afit9jt9odji8a?orgId=1).</Aside>
# Purpose
Automated service that balances pods across the nodes according to configuration.
# Notes
Mostly used to balance number of pods. Current limit is set to 200 which is nearly twice the defaults, but this can sometimes be met during reboots during upgrades as pods are evicted. Then this will balance out one all nodes are healthy again.
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/directus link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/directus
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Content Management System tightly coupled to [my personal site](https://docs.alexlebens.dev/applications/site-profile/).
# Notes
Most information is stored here and accessed at build time. Webhook setup so when I publish a blog post here it will initiate a new build of the image.
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/elastic-operator link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/elastic-operator
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Operator to deploy and manage Elasticsearch instances.
# Notes
Easier to manage then just deploying Helm Charts. Mostly used for [TubeArchivist](https://docs.alexlebens.dev/applications/tubearchivist/).
@@ -17,11 +17,3 @@ hero:
import { Aside } from '@astrojs/starlight/components'; import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [chat.alexlebens.dev](https://chat.alexlebens.dev)</Aside> <Aside>This app has public facing endpoint, at [chat.alexlebens.dev](https://chat.alexlebens.dev)</Aside>
# Purpose
Front end web client for Matrix servers.
# Notes
Provides front end for [Matrix-Synapse](https://docs.alexlebens.dev/applications/matrix-synapse/)
-8
View File
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/eraser link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/eraser
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Automatic service that cleans up local caches of images.
# Notes
Removes all non running images. This does cause a startup delay, but [Harbor](https://docs.alexlebens.dev/applications/harbor/) is configured as a generic pull through cache, so pulls for new images should be quick.
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/excalidraw link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/excalidraw
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Used to make diagrams and other sketches.
# Notes
Mostly used in blog posts and documentation.
@@ -13,15 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/external-dns link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/external-dns
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/afit9l1ay5qm8c?orgId=1).</Aside>
# Purpose
Makes DNS entries of Kubernetes resources into an external DNS provider.
# Notes
Blocky can't be configured this way, so I am exploring other options to use this automation. But it is currently setup to configure the Ubiquity devices.
@@ -13,15 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/external-secrets link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/external-secrets
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/cfit9lr0c2e4ga?orgId=1).</Aside>
# Purpose
Very useful, decalarative way to make Kubernetes Secrets from an external provider.
# Notes
Secrets come from [Vault](https://docs.alexlebens.dev/applications/vault/).
@@ -17,11 +17,3 @@ hero:
import { Aside } from '@astrojs/starlight/components'; import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [art.alexlebens.dev](https://art.alexlebens.dev)</Aside> <Aside>This app has public facing endpoint, at [art.alexlebens.dev](https://art.alexlebens.dev)</Aside>
# Purpose
View pictures I have collected that are not photos I have taken myself.
# Notes
Setup to provide all the collections of public domain images I have. Mostly from various art museums.
@@ -17,11 +17,3 @@ hero:
import { Aside } from '@astrojs/starlight/components'; import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [rss.alexlebens.dev](https://rss.alexlebens.dev)</Aside> <Aside>This app has public facing endpoint, at [rss.alexlebens.dev](https://rss.alexlebens.dev)</Aside>
# Purpose
RSS reader for various news sites as well as software releases.
# Notes
A little finicky to setup, predates popular use of containers, but still functions quite well. I mostly use it with an Android app.
-18
View File
@@ -13,21 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/garage link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/garage
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/cfit8jm3mwk5cd?orgId=1).</Aside>
# Purpose
Clustered S3 storage provider.
# Notes
Considering moving to the [operator](https://github.com/rajsinghtech/garage-operator), but currently deploys as chart.
Backing storage comes from [iSCSI](https://docs.alexlebens.dev/applications/democratic-csi-synology-iscsi/).
Primary endpoint for most S3 targets, alongside PiBox and Digital Ocean.
[Rclone](https://docs.alexlebens.dev/applications/rclone/) handles any kind of syncing to the other endpoints as needed.
-12
View File
@@ -13,15 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/gatus link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/gatus
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/bfit9mmwvmqrkf?orgId=1).</Aside>
# Purpose
Uptime and down notifications for all endpoints, both local and public.
# Notes
All declarative configuration, will end notifications using [ntfy](https://docs.alexlebens.dev/applications/ntfy/).
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/generic-device-plugin link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/generic-device-plugin
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Plugin used to give devices to pods, specifically tun devices for networking.
# Notes
Used by recomendation in [Tailscale Docs](https://docs.siderolabs.com/kubernetes-guides/advanced-guides/device-plugins).
-12
View File
@@ -17,15 +17,3 @@ hero:
import { Aside } from '@astrojs/starlight/components'; import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [gitea.alexlebens.dev](https://gitea.alexlebens.dev)</Aside> <Aside>This app has public facing endpoint, at [gitea.alexlebens.dev](https://gitea.alexlebens.dev)</Aside>
<Aside>This collects analytics and sent to Rybbit at [rybbit.alexlebens.dev](https://rybbit.alexlebens.dev/)</Aside>
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/dfit89k7khk3kc?orgId=1).</Aside>
# Purpose
Git repoistory for storing all my code.
# Notes
Primary code repo, repositories set to replicate to a PiBox as well as Github for a layer of backup.
@@ -13,15 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/grafana-operator link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/grafana-operator
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/ffit9nnrapou8d?orgId=1).</Aside>
# Purpose
Operator to declaratively make Grafana dashboards.
# Notes
Uses the dashboard json in [grafana-dashboards](https://gitea.alexlebens.dev/alexlebens/grafana-dashboards].
@@ -13,13 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/grimmory link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/grimmory
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Store and provide books.
# Notes
Used to be called 'Booklore'.
Only app that uses [MariaDB](https://docs.alexlebens.dev/applications/mariadb-operator/).
-14
View File
@@ -13,17 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/harbor link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/harbor
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/afit9ofndecjkd?orgId=1).</Aside>
# Purpose
Pull through cache and registry for personal images built in Gitea.
# Notes
Talos is configured to direct pulls to Docker, Github, and others to Harbor first. Stores these images as a cache to avoid rate limiting, primarily by Docker hub.
Any of my own images also get stored here to deploy.
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/headlamp link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/headlamp
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Dashboard for Kubernetes.
# Notes
I also use the desktop app which is identical.
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/home-assistant link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/home-assistant
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Home automation, connecting to various IoT devices through Zigbee, Matter, etc.
# Notes
Currently unused.
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/homepage link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/homepage
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Provides links and status dots for all deployed apps.
# Notes
Do not set to RollingUpdate or use multiple replicas. Has some kind of loading issue when doing so.
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/houndarr link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/houndarr
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Manages automatic upgrades for content in the Servarr apps.
# Notes
Set and forget, runs as a service in the background.
-12
View File
@@ -13,15 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/immich link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/immich
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/bfit80bb45csgb?orgId=1).</Aside>
# Purpose
Alternative to Google Photos, stores all my photos.
# Notes
Photos are stored internally, though a full copy is also kept on the NAS.
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/intel-device-plugin link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/intel-device-plugin
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Used to give pods access to host GPUs. Primarily for video and the QuickSync feature.
# Notes
Just works in the background.
@@ -13,17 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/jellyfin link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/jellyfin
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/afit8116thywwd?orgId=1).</Aside>
# Purpose
Provides video, such as movies and shows.
# Notes
A little finicky and not as polished as Plex, but open source and supports plugins.
Planned migration to PostgreSQL when feature is supported.
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/jellystat link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/jellystat
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Monitors and provides stats for Jellyfin.
# Notes
Mostly just runs in the background. Stats for size of library and most recently added are the most useful. Jellyfin's 'recently added' doesn't work that well.
@@ -17,13 +17,3 @@ hero:
import { Aside } from '@astrojs/starlight/components'; import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [karakeep.alexlebens.dev](https://karakeep.alexlebens.dev)</Aside> <Aside>This app has public facing endpoint, at [karakeep.alexlebens.dev](https://karakeep.alexlebens.dev)</Aside>
# Purpose
Organizes and tags bookmarks.
# Notes
Used to be called 'Hoarder', new name is better.
Connect to [Ollama](https://docs.alexlebens.dev/applications/ollama/) for using AI to generate the tags.
-11
View File
@@ -13,14 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/kiwix link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/kiwix
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Local copies of various wikis and other datasets.
# Notes
Full backups, including images, of Wikipedia.
[qBittorrent](https://docs.alexlebens.dev/applications/qbittorrent/) has a category that will download the Kiwix files into the directory it reads from.
-10
View File
@@ -13,13 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/komodo link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/komodo
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Manages deployments of single nodes hosts with docker compose stacks.
# Notes
Manual setup, but follows Gitops with webhook triggered updates from Gitea.
Compose files are placed in [infrastructure](https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/hosts) under the hosts dir.
@@ -13,21 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/kube-prometheus-stack link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/kube-prometheus-stack
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/dfit8q7ooq7eod?orgId=1).</Aside>
<Aside type="tip">AirGradient has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/ffit86ggcrxtse?orgId=1).</Aside>
# Purpose
Community managed and combined stack for Prometheus metrics. Also includes alerting.
# Notes
Metrics are stored on iSCSI, retention is 45 days.
Sends alert notifications through [ntfy](https://docs.alexlebens.dev/applications/ntfy/).
Scrapping for targets outside of cluster has their ServiceMonitors placed in this chart, such as for IoT devices.
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/kubelet-serving-cert-approver link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/kubelet-serving-cert-approver
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Service that runs in the background, approves certificates generated by the kubelet.
# Notes
Mostly just used for cluster first install or when certs are renewed to ensure access.
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/kubernetes-cloudflare-ddns link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/kubernetes-cloudflare-ddns
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Updates the IP address for Cloudflare domains.
# Notes
Cloudflare manages the domains for alexlebens.net, this ensures that the IP address the domain points to is the one assigned by the ISP to the home/network device.
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/languagetool link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/languagetool
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Provides higher level grammer and spell checking service.
# Notes
Used by Zettlr and a web browser extension.
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/libation link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/libation
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Monitors and downloads copies of audiobooks from Audible.
# Notes
Downloads into the NAS directory that [Audiobookshelf](https://docs.alexlebens.dev/applications/audiobookshelf) reads from.
-10
View File
@@ -13,13 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/lidarr link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/lidarr
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Servarr app that manages the metadata and organization of music.
# Notes
Connects to [qbittorrent](https://docs.alexlebens.dev/applications/qbittorrent), [slskd](https://docs.alexlebens.dev/applications/slskd) with support from [prowlarr](https://docs.alexlebens.dev/applications/prowlarr) and [unpackerr](https://docs.alexlebens.dev/applications/unpackerr).
Runs on nightly branch to integrate plugins.
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/local-path-provisioner link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/local-path-provisioner
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Storage for paths on the local node's NVME drive. When high performance, but non redundant storage is required.
# Notes
Primarily used by the databases, PostgreSQL and MariaDB, since they have internal clustering and increasing their read/write speeds is very beneficial.
-16
View File
@@ -13,19 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/loki link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/loki
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/afit8khiifnr4b?orgId=1).</Aside>
# Purpose
Collects logs from pods and makes them availabile in Grafana.
# Notes
Uses iSCSI for log storage.
Generally unused as I inspect most logs in [ArgoCD](https://docs.alexlebens.dev/applications/argo-cd/) or [Headlamp](https://docs.alexlebens.dev/applications/headlamp/). But this does keep them for longer rentention.
Maybe someday will integrate AI from [Ollama](https://docs.alexlebens.dev/applications/ollama/) to monitor and report on logs.
@@ -13,13 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/mariadb-operator link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/mariadb-operator
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Operator that manages deployments of MariaDB.
# Notes
Very durable, survives and heals from several node outages.
Only really used for [Grimmory](https://docs.alexlebens.dev/applications/grimmory) though.
@@ -17,13 +17,3 @@ hero:
import { Aside } from '@astrojs/starlight/components'; import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [matrix.alexlebens.dev](https://matrix.alexlebens.dev)</Aside> <Aside>This app has public facing endpoint, at [matrix.alexlebens.dev](https://matrix.alexlebens.dev)</Aside>
# Purpose
Secure and encrypted chat service.
# Notes
Very difficult to maintain, especially with encryption.
Used mostly for bridging Discord and WhatsApp.
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/mediaLyze link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/mediaLyze
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Monitors and provides stats for media libraries.
# Notes
Kind of neat to see the stats, but haven't found much purpose outside of curiosity.
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/metrics-server link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/metrics-server
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Core Kubernetes service that provides basic metrics on cpu, memory, and disk that is used by Kubernetes for tooling such as scaling. Also what is seen in [Headlamp](https://docs.alexlebens.dev/applications/headlamp) for live stats.
# Notes
Like some other services, it happily runs in the background without trouble.
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/music-grabber link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/music-grabber
icon: right-arrow icon: right-arrow
--- ---
# Purpose
An alternative to [yubal](https://docs.alexlebens.dev/applications/yubal), it collects music as directed.
# Notes
Unused currently.
@@ -13,17 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/navidrome link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/navidrome
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/bfit82l8b0gsgf?orgId=1).</Aside>
# Purpose
Music server that uses the subsonic protocol.
# Notes
Chart also deploys a webclient of [Feishin](https://github.com/jeffvli/feishin), but I mostly use the desktop app. On Android I use [Symfonium](https://symfonium.app/).
While I can use [Jellyfin](https://docs.alexlebens.dev/applications/jellyfin) for music, I prefer separation for dedicated media types.
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/node-feature-discovery link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/node-feature-discovery
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Background service that adds labels to nodes based on detected hardware features.
# Notes
Used in conjunction with nodeAffinity and other scheduling configuration to assign pods to the capable nodes.
-12
View File
@@ -13,15 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/ntfy link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/ntfy
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/cfit8bbhovsw0d?orgId=1).</Aside>
# Purpose
Notification service based on a Pub/Sub model.
# Notes
Very useful service that sends notifications to my phone and is widely addopted by a lot of other apps or has bridging support such as through [apprise](https://github.com/caronc/apprise).
-12
View File
@@ -13,15 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/ollama link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/ollama
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Local AI servers.
# Notes
[Open WebUI](https://github.com/open-webui/open-webui) frontend.
Configured mostly to run the Gemma models.
Tailscale connction to the desktop GPU for larger model processing.
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/omni-tools link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/omni-tools
icon: right-arrow icon: right-arrow
--- ---
# Purpose
A variety of useful tools for random things. No need to search obscure websites or download various different apps.
# Notes
The hardest part is remembering the things it can do. Images, video, audio, text, math, etc.
-31
View File
@@ -1,31 +0,0 @@
---
title: OpenBao
description: OpenBao is a software solution to manage, store, and distribute sensitive data including secrets, certificates, and keys.
hero:
tagline: OpenBao is a software solution to manage, store, and distribute sensitive data including secrets, certificates, and keys.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/openbao.webp
actions:
- text: Source
link: https://github.com/openbao/openbao
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/openbao
icon: right-arrow
---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/bfit8f62ducjkd?orgId=1).</Aside>
# Purpose
Secrets manager.
# Notes
Retrieved by [External Secrets](https://docs.alexlebens.dev/applications/external-secrets/) for making them availible in cluster.
Can store other secrets, but primarily used for cluster secrets.
And by 'secrets' this means passwords, keys, etc, that are confidential and non public.
-10
View File
@@ -17,13 +17,3 @@ hero:
import { Aside } from '@astrojs/starlight/components'; import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [outline.alexlebens.dev](https://outline.alexlebens.dev)</Aside> <Aside>This app has public facing endpoint, at [outline.alexlebens.dev](https://outline.alexlebens.dev)</Aside>
# Purpose
A more featured version of a wiki with similarities to Notion.
# Notes
Used to use Outline in before transitioning to this docs site.
Backup in case I want to migrate away from Capacities. I prefer the object types in Capacities, but can work too.
@@ -13,17 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/paperless-ngx link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/paperless-ngx
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Documentation organizer.
# Notes
Designed to scan in and run OCR on files, as well as upload digital documents.
Based around tagging instead of folders.
Haven't begun to use, but I expect it to be useful.
Need to ensure backups are good and proper first.
-10
View File
@@ -13,13 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/plex link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/plex
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Closed source media provider.
# Notes
Very easy to use, so kept running in case of sharing to others.
Primarily migrated over to [Jellyfin](https://docs.alexlebens.dev/applications/jellyfin).
-10
View File
@@ -17,13 +17,3 @@ hero:
import { Aside } from '@astrojs/starlight/components'; import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [postiz.alexlebens.dev](https://postiz.alexlebens.dev)</Aside> <Aside>This app has public facing endpoint, at [postiz.alexlebens.dev](https://postiz.alexlebens.dev)</Aside>
# Purpose
Automates social media posting.
# Notes
So dumb and complex to setup, has hard dependency on [Temporal](https://github.com/temporalio).
Haven't begun to use, but want to connect to automate posting of my blog.
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/prowlarr link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/prowlarr
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Manages and automates configuration of trackers for the Servarr instances.
# Notes
Setup once here and all the others work.
@@ -13,17 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/qbittorrent link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/qbittorrent
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/ffit8c6tqrxfkc?orgId=1).</Aside>
# Purpose
Main torrent client.
# Notes
Runs behind [gluetun](https://github.com/qdm12/gluetun).
Both [qbit-manage](https://github.com/StuffAnThings/qbit_manage) and [qui](https://github.com/autobrr/qui) running alongside to automate management of the files. Both of these have dramatically reduced time spent maintaining this.
-16
View File
@@ -22,19 +22,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/radarr-standup link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/radarr-standup
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/cfit83kzzx6v4a?orgId=1).</Aside>
# Purpose
Manages metadata for movies.
# Notes
Should rarely be access, manage through [Seerr](https://docs.alexlebens.dev/applications/seerr/)
Connects to [qbittorrent](https://docs.alexlebens.dev/applications/qbittorrent) with support from [prowlarr](https://docs.alexlebens.dev/applications/prowlarr) and [unpackerr](https://docs.alexlebens.dev/applications/unpackerr).
4 separate instances for different media types.
-8
View File
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/rclone link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/rclone
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Syncs data in S3 buckets.
# Notes
Syncs bucket from in cluster [Garage](https://docs.alexlebens.dev/applications/garage/) to remote or Digital Ocean.
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/reloader link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/reloader
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Simple service that will ensure a restart of services if their mounted ConfigMaps change.
# Notes
Used by a few apps, such as homepage where its entirely configured by ConfigMap.
@@ -13,21 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/rook-ceph link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/rook-ceph
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Ceph Dashboard](https://ceph.alexlebens.net/).</Aside>
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/afit8gbo47pc0b?orgId=1).</Aside>
# Purpose
Clustered storage that runs on the SSDs in cluster to provide durable and reliable block and filesystem volumes.
# Notes
Runs [Ceph](https://ceph.io/en/) underneath and managed by Rook pods.
Ensure this system is healthy before any upgrades and restarts.
One of the main pressures to increase node count to expand host and disk count of this cluster for more space as well as durabiliy during node outages.
@@ -13,15 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/roundcube link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/roundcube
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Internal client for email.
# Notes
Connected to [Stalwart](https://docs.alexlebens.dev/applications/stalwart/).
Generally unsued as I have not configured any services for sending email.
This is NOT used for external email, such as gmail.
-8
View File
@@ -17,11 +17,3 @@ hero:
import { Aside } from '@astrojs/starlight/components'; import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [rybbit.alexlebens.dev](https://rybbit.alexlebens.dev)</Aside> <Aside>This app has public facing endpoint, at [rybbit.alexlebens.dev](https://rybbit.alexlebens.dev)</Aside>
# Purpose
Analytics service for my websites.
# Notes
Pretty dashboard to let me know that literally no one looks at my sites.
@@ -13,15 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/s3-exporter link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/s3-exporter
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/dfit8d7qtq4u8e?orgId=1).</Aside>
# Purpose
Provides metrics of my S3 buckets.
# Notes
Mostly to monitor storage consumption.
-12
View File
@@ -13,15 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/searxng link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/searxng
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Web search with privacy features.
# Notes
Connected to Firefox as my default search engine.
Also connected to Ollama for AI to conduct web search.
Updates based on latest digest.
@@ -1,23 +0,0 @@
---
title: Secrets Store CSI driver
description: Secrets Store CSI driver for Kubernetes secrets - Integrates secrets stores with Kubernetes via a CSI volume.
hero:
tagline: Secrets Store CSI driver for Kubernetes secrets - Integrates secrets stores with Kubernetes via a CSI volume.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/kubernetes.webp
actions:
- text: Source
link: https://github.com/kubernetes-sigs/secrets-store-csi-driver
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/secrets-store-csi-driver
icon: right-arrow
---
# Purpose
Provides a way to mount secrets from an external provider into a pod.
# Notes
Used with [OpenBao](https://docs.alexlebens.dev/applications/openbao/) to usually mount file secrets, such as json or yaml files.
-12
View File
@@ -13,15 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/seerr link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/seerr
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Frontend to manage media requests for Servarr.
# Notes
Recently updated as a merger from Overseer and Jellyseer.
Pending integration of [Lidarr](https://docs.alexlebens.dev/applications/lidarr/), currently just for the [Radarr](https://docs.alexlebens.dev/applications/radarr/) and [Sonarr](https://docs.alexlebens.dev/applications/sonarr/) services.
Credentials are from [Jellyfin](https://docs.alexlebens.dev/applications/jellyfin/).
@@ -13,13 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/shelfmark link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/shelfmark
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Collection of books.
# Notes
Uploads to [Grimmory](https://docs.alexlebens.dev/applications/grimmory/) and [Audiobookshelf](https://docs.alexlebens.dev/applications/audiobookshelf/)
Gets help from [qBittorrent](https://docs.alexlebens.dev/applications/qbittorrent/)
@@ -13,15 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/shelly-plug link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/shelly-plug
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/afit87jux375sa?orgId=1).</Aside>
# Purpose
Metrics from the Shelly Plug.
# Notes
Can provide historical wattage use of the shelly plug which the entire homelab's electricity passes through.
@@ -17,17 +17,3 @@ hero:
import { Aside } from '@astrojs/starlight/components'; import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [docs.alexlebens.dev](https://docs.alexlebens.dev)</Aside> <Aside>This app has public facing endpoint, at [docs.alexlebens.dev](https://docs.alexlebens.dev)</Aside>
<Aside>This collects analytics and sent to Rybbit at [rybbit.alexlebens.dev](https://rybbit.alexlebens.dev/)</Aside>
# Purpose
Hosts documentation for the cluster.
# Notes
It this very site!
Built with Astro and Starlight.
Documentation is written in MDX.
@@ -17,15 +17,3 @@ hero:
import { Aside } from '@astrojs/starlight/components'; import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [www.alexlebens.dev](https://www.alexlebens.dev)</Aside> <Aside>This app has public facing endpoint, at [www.alexlebens.dev](https://www.alexlebens.dev)</Aside>
<Aside>This collects analytics and sent to Rybbit at [rybbit.alexlebens.dev](https://rybbit.alexlebens.dev/)</Aside>
# Purpose
Profile and blog website
# Notes
Built with Astro.
Connects to [Directus](https://docs.alexlebens.dev/applications/directus) during build for content.
@@ -17,13 +17,3 @@ hero:
import { Aside } from '@astrojs/starlight/components'; import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [www.saralebens.com](https://www.saralebens.com)</Aside> <Aside>This app has public facing endpoint, at [www.saralebens.com](https://www.saralebens.com)</Aside>
<Aside>This collects analytics and sent to Rybbit at [rybbit.alexlebens.dev](https://rybbit.alexlebens.dev/)</Aside>
# Purpose
Profile website for Sara Lebens.
# Notes
Built with Astro.
-8
View File
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/slskd link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/slskd
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Discovers music.
# Notes
Works in collaboration with [Lidarr](https://docs.alexlebens.dev/applications/lidarr).
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/snapshot-controller link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/snapshot-controller
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Controls snapshots of storage.
# Notes
[Rook Ceph](https://docs.alexlebens.dev/applications/rook-ceph) supports snapshots and is used by [Volsync](https://docs.alexlebens.dev/applications/volsync) for creating backups.
-16
View File
@@ -19,19 +19,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/sonarr-anime link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/sonarr-anime
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/cfit84mdyfldsd?orgId=1).</Aside>
# Purpose
Manages metadata for tv shows.
# Notes
Should rarely be access, manage through [Seerr](https://docs.alexlebens.dev/applications/seerr/)
Connects to [qbittorrent](https://docs.alexlebens.dev/applications/qbittorrent) with support from [prowlarr](https://docs.alexlebens.dev/applications/prowlarr) and [unpackerr](https://docs.alexlebens.dev/applications/unpackerr).
3 separate instances for different media types.
@@ -1,23 +0,0 @@
---
title: Stack
description: SparkyFitness - Built for Families. Powered by AI. Track food, fitness, water, and health — together.
hero:
tagline: SparkyFitness - Built for Families. Powered by AI. Track food, fitness, water, and health — together.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/sparkyfitness.webp
actions:
- text: Source
link: https://github.com/CodeWithCJ/SparkyFitness
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/sparkyfitness
icon: right-arrow
---
# Purpose
Fitness and health tracker.
# Notes
Android app with Google Fit integration.
@@ -13,16 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/speedtest-exporter link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/speedtest-exporter
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="danger">Do not run this too frequently as it consumes large amounts of data to run the test.</Aside>
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/afit9pt05wa2of?orgId=1).</Aside>
# Purpose
Tests internet speed and generates metrics.
# Notes
Exports metrics to Prometheus.
-8
View File
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/stack link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/stack
icon: right-arrow icon: right-arrow
--- ---
# Purpose
[App of Apps](https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#app-of-apps) Application to manage deployments through [ArgoCD](https://docs.alexlebens.dev/applications/argo-cd/).
# Notes
Be very, very careful making changes. Consider this the 'root' for all deployments.
@@ -13,13 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/stalwart link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/stalwart
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Email server.
# Notes
Configuration seems to be only through UI.
Not currently used.
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/tailscale-operator link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/tailscale-operator
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Operator to manage [Tailscale](https://tailscale.com/) inside the cluster.
# Notes
Manages the main subnet router, provides inter workload connections, allows access to the tailnet from inside the cluster, among other features.
-14
View File
@@ -13,17 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/talos link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/talos
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">etcd has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/efit8ig3fljb4c?orgId=1).</Aside>
# Purpose
Automated tooling for managing the host OS.
# Notes
Runs backups of the etcd database for disaster recovery.
Runs regular defragmentation of etcd.
-14
View File
@@ -13,17 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/tdarr link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/tdarr
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/ffit9qzig6w3ke?orgId=1).</Aside>
# Purpose
Runs healthchecks on media files.
# Notes
Need to check the error queue, sometimes there are false errors.
Runs the files through ffmpeg on either cpu or gpu, but gpu generates more false errors.
-12
View File
@@ -13,15 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/traefik link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/traefik
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/cfit9rqyd179cb?orgId=1).</Aside>
# Purpose
Gateway for the cluster, enables external access of the webpages for both host routing and TLS.
# Notes
Really want to swap it out for Cillium's built in Gateway implementation.
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/tubearchivist link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/tubearchivist
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Archives Youtube videos.
# Notes
Mostly to ensure I get to keep videos that may be deleted or removed from Youtube. Also for videos I want to save to watch locally.
@@ -13,15 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/unpackerr link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/unpackerr
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/bfit8ehwuxwcgc?orgId=1).</Aside>
# Purpose
Unpacks files.
# Notes
Some people like to make their files bundled in a zip or tar or something. This makes those not so.
@@ -13,15 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/unpoller link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/unpoller
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/dfit7x7j3g2kgd?orgId=1).</Aside>
# Purpose
Geneates metrics from the Ubqituiy network devices.
# Notes
I usually just go to the UniFi page, but this is useful for historical analysis.
-16
View File
@@ -13,19 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/vault link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/vault
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/bfit8f62ducjkd?orgId=1).</Aside>
# Purpose
Secrets manager.
# Notes
Retrieved by [External Secrets](https://docs.alexlebens.dev/applications/external-secrets/) for making them availible in cluster.
Can store other secrets, but primarily used for cluster secrets.
And by 'secrets' this means passwords, keys, etc, that are confidential and non public.
@@ -17,13 +17,3 @@ hero:
import { Aside } from '@astrojs/starlight/components'; import { Aside } from '@astrojs/starlight/components';
<Aside>This app has public facing endpoint, at [passwords.alexlebens.dev](https://passwords.alexlebens.dev)</Aside> <Aside>This app has public facing endpoint, at [passwords.alexlebens.dev](https://passwords.alexlebens.dev)</Aside>
# Purpose
Passwords manager.
# Notes
Sync to browser and Android app. Can also store passkeys, but that defeats their purpose.
Very critical to keep backups of.
@@ -13,15 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/version-checker link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/version-checker
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/afit948exm8zkf?orgId=1).</Aside>
# Purpose
Watches for updates to version of images inside the cluster.
# Notes
Used as a backup and validation of Renovate's checks.
-12
View File
@@ -13,15 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/volsync link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/volsync
icon: right-arrow icon: right-arrow
--- ---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/afit97jgz4740b?orgId=1).</Aside>
# Purpose
Backups Persistent Volumes to S3.
# Notes
Used in conjunction with [this chart](https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/volsync-target) as an easy way to add backups to any PVC.
-10
View File
@@ -13,13 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/whodb link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/whodb
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Frontend to inspect PostgreSQL databases.
# Notes
Used if I need to see specific data or manipulate the database content.
Has AI features, but I don't know why.
@@ -13,13 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/yamtrack link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/yamtrack
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Tracks media.
# Notes
Hooks into [Jellyfin](https://docs.alexlebens.dev/applications/jellyfin).
Also where I keep my watch list.
-8
View File
@@ -13,11 +13,3 @@ hero:
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/yubal link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/yubal
icon: right-arrow icon: right-arrow
--- ---
# Purpose
Collects music.
# Notes
Places it into [Navidrome](https://docs.alexlebens.dev/applications/navidrome/)
@@ -1,18 +0,0 @@
---
title: Mainsail
description: Web interface for the 3D Printer
hero:
tagline: Web interface for the 3D Printer
image:
file: https://raw.githubusercontent.com/mainsail-crew/mainsail/6130a0aa1776a138feaab691b9e4b1334b676b79/public/img/logo.svg
---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Quickly connect to its web page [here](http://printer.lebens-home.net/).</Aside>
# Overview
[Mainsail](https://docs.mainsail.xyz/) is the popular web interface for managing and controlling 3D printers with [Klipper](https://www.klipper3d.org/).
[Source](https://github.com/mainsail-crew/mainsail)
@@ -1,62 +0,0 @@
---
title: Setting up Orcaslicer
description: Desktop software to connect to the 3D printer
hero:
tagline: Desktop software to connect to the 3D printer
image:
file: https://cdn.shopify.com/s/files/1/0893/0603/8637/files/K1-_02-2.png?v=1762200477
---
import { Aside } from '@astrojs/starlight/components';
import { Steps } from '@astrojs/starlight/components';
<Aside type="tip">Quickly connect to its web page [here](http://printer.lebens-home.net).</Aside>
# Download and Install OrcaSlicer
<Steps>
1. Go to the [Releases](https://github.com/OrcaSlicer/OrcaSlicer/releases) and find the 'Latest' Official Release. Some are tagged as 'Pre-release' such as nightlys or release candidates, ignore those.
2. At the bottom of a Release is the Assets section. Download the package for your OS such as the exe for Windows or the dmg for Mac.
4. Install the package.
</Steps>
## Build Plates
These will give you a model of the build plates the 3D printer will print upon for accurate sizing and representation.
Download them [with this link here](https://github.com/Guilouz/Creality-Helper-Script-Wiki/raw/main/downloads/OrcaSlicer/Creality_K1.zip) then extract the zip.
## Create Printer
<Steps>
1. Go to the 'Prepare' tab on the navigation menu.
2. At the left should be a menu for various options, find 'Printer' at the very top
3. Click on the drop-down and select `--Create Printer --`
- Printer Vendor is `Creality`
- Printer model is `Creality K1C`, this may be near the bottom of the list
- Nozzle diameter is `0.4 mm`
- Printable Space is `X 200 mm` and `Y 220 mm`
- Hot Bed STL should upload the build plate .stl file
- Hot Bed SVG should upload the build plate .png file
- Max Print Height is `200mm`
4. Click OK and will go to 'Import Preset'
- For 'Printer Preset' select `Creality` and `Creality K1C @ 0.4 Nozzle`
- For 'Preset' click `Create Based on Current Printer`
- Under the 'Filament Preset Template' section check boxes for filaments types being used, likely just 'PLA'
- Under the 'Process Preset Template' section check `0.20mm Standard @Creality K1C`
</Steps>
## Connect to Printer
Once the Printer has been created slightly above and to the right should be an icon that looks like a wifi icon, click this.
- Host Type is `Octo/Klipper`
- Printer Agent is `OrcaSlicer`
- Hostname is `http://printer.lebens-home.net`
To confirm the connection go to the 'Device' tab at the top navigation menu.
@@ -1,51 +0,0 @@
---
title: 3D Printer Overview
description: Specifications and basic information about the 3D printer
hero:
tagline: Specifications and basic information about the 3D printer
image:
file: https://cdn.shopify.com/s/files/1/0893/0603/8637/files/K1-_02-2.png?v=1762200477
---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Quickly connect to its web page [here](http://printer.lebens-home.net/).</Aside>
# Overview
The 3D printer is a [Creality K1C](https://www.creality.com/products/k1c-carbon-3d-printer) which has several features that make it somewhat more user-friendly, such as auto leveling. Notably this model does not include automatic multi filament switching that newer versions have. It does use open source software and [Mainsail](https://docs.mainsail.xyz/) is installed as its web interface.
In order to print objects you first need a model, usually a stl file, then the model needs to be 'sliced' into instructions for the printer, then print. These guides document the process for this 3D printer.
## Specifications
| Atttribute| Size|
|---|----|
| Filament Diameter | 1.75mm |
| Nozzle Diameter | 0.4mm |
| Layer Height | 0.1-0.35mm |
| Printing Accuracy | 100±0.1mm |
| Build Volume | 220\*220\*250mm |
## Supported filament types
- ABS
- PLA
- PLA-CF
- PETG
- PET
- PET-CF
- TPU
- PA
- ASA
- PC
## Slicing file formats
- STL
- OBJ
- 3MF
## Printable file formats
- G-Code

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