Compare commits
33 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 869ff82875 | |||
| 2a17d50122 | |||
| 22bb54a0e2 | |||
| 1ac2f62082 | |||
|
|
8776b21515 | ||
| ddc7ec3008 | |||
| 357eaf37ed | |||
|
b49be7bc09
|
|||
| 320a66c0fc | |||
|
08bba3a2bf
|
|||
|
bfa7523a2b
|
|||
|
|
746f948218 | ||
| c56f6a07a4 | |||
| a1589ee88a | |||
| c1f7e193fc | |||
| 3b9ca7e76e | |||
|
6607a36ad4
|
|||
| 5c4a10acac | |||
|
75025890ef
|
|||
| 0d9a1fa93d | |||
| e04b5f0e06 | |||
|
|
772591f574 | ||
| fa91135059 | |||
| 32f11ff679 | |||
| 0e04e396e4 | |||
| 451dd2859b | |||
| ea1e36da0d | |||
| 94a03d070d | |||
| b2102678aa | |||
| c5b230e94e | |||
|
|
01b7552f7e | ||
| c14dc38735 | |||
| b82b3f09cc |
@@ -24,7 +24,7 @@ jobs:
|
||||
- name: Set up Bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
with:
|
||||
bun-version: 1.3.11
|
||||
bun-version: 1.3.12
|
||||
|
||||
- name: Install Dependencies
|
||||
run: bun install --frozen-lockfile
|
||||
@@ -119,7 +119,7 @@ jobs:
|
||||
- name: Set up Bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
with:
|
||||
bun-version: 1.3.11
|
||||
bun-version: 1.3.12
|
||||
|
||||
- name: Install Dependencies
|
||||
run: bun install --frozen-lockfile
|
||||
|
||||
@@ -27,7 +27,7 @@ jobs:
|
||||
- name: Set up Bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
with:
|
||||
bun-version: 1.3.11
|
||||
bun-version: 1.3.12
|
||||
|
||||
- name: Install Dependencies
|
||||
run: bun install --frozen-lockfile
|
||||
|
||||
52
CHANGELOG.md
52
CHANGELOG.md
@@ -1,3 +1,55 @@
|
||||
# [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)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **deps:** update dependency @astrojs/starlight to v0.38.3 ([6607a36](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/6607a36ad4a6b66719685cc84af2790a210dfc7f))
|
||||
* **deps:** update dependency astro to v6.1.4 ([7502589](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/75025890ef0577278c44d3678671ca518798b0ec))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add more apps ([a1589ee](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/a1589ee88aed1c8e47d906f30b2db7ab78f274a4))
|
||||
* add more apps ([c1f7e19](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/c1f7e193fc126ff4d94d2209a96fb29254c705fd))
|
||||
* add more apps ([3b9ca7e](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/3b9ca7e76ea44387ca000a6b039593214891a295))
|
||||
* add more apps ([0d9a1fa](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/0d9a1fa93d6b98dc6e88879b575769868bae5d57))
|
||||
* add more apps ([e04b5f0](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/e04b5f0e060fe7e7b6471ff0d7c721db366412f4))
|
||||
* update tsconfig for v8 ([5c4a10a](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/5c4a10acacb17d775e54f300eb280fb51e098bea))
|
||||
|
||||
# [0.21.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.20.0...0.21.0) (2026-04-07)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add more apps ([fa91135](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/fa911350597b0dff19b83956b9947a9e7884ca4a))
|
||||
* add more apps ([32f11ff](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/32f11ff67968b8a9239941facff679a607ca6e57))
|
||||
* add more apps ([0e04e39](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/0e04e396e4bf749bde21aebd0647df6e6be4f80f))
|
||||
* add more apps ([451dd28](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/451dd2859b9d5072b1ab0f41b5f7d7ba4201cb5a))
|
||||
* add more apps ([ea1e36d](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/ea1e36da0d271b75852939c339f7e768964d7e2c))
|
||||
* add more apps ([94a03d0](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/94a03d070d32a165f8b9e180291aad7f751b3ebe))
|
||||
* add more apps ([b210267](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/b2102678aacd3e1659486740fdebfd8560015bb7))
|
||||
* add more apps ([c5b230e](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/c5b230e94e985c608568c38a5c497af9b7bd5003))
|
||||
|
||||
# [0.20.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.19.0...0.20.0) (2026-04-06)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add more apps ([b82b3f0](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/b82b3f09cc7a649d52f3495e5f11b1edb2856796))
|
||||
|
||||
# [0.19.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.18.0...0.19.0) (2026-04-06)
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# MIT License
|
||||
|
||||
Copyright (c) 2025 Alex Lebens
|
||||
Copyright (c) 2026 Alex Lebens
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
64
bun.lock
64
bun.lock
@@ -8,10 +8,10 @@
|
||||
"@astrojs/mdx": "5.0.3",
|
||||
"@astrojs/node": "10.0.4",
|
||||
"@astrojs/sitemap": "3.7.2",
|
||||
"@astrojs/starlight": "0.38.2",
|
||||
"@astrojs/starlight": "0.38.3",
|
||||
"@tailwindcss/postcss": "4.2.2",
|
||||
"@tailwindcss/vite": "4.2.2",
|
||||
"astro": "6.1.3",
|
||||
"astro": "6.1.5",
|
||||
"sanitize-html": "2.17.2",
|
||||
"sharp": "0.34.5",
|
||||
"starlight-theme-rapide": "0.5.2",
|
||||
@@ -26,17 +26,17 @@
|
||||
"@semantic-release/release-notes-generator": "14.1.0",
|
||||
"@tailwindcss/forms": "0.5.11",
|
||||
"@tailwindcss/typography": "0.5.19",
|
||||
"@typescript-eslint/parser": "8.58.0",
|
||||
"@typescript-eslint/parser": "8.58.1",
|
||||
"eslint": "10.2.0",
|
||||
"eslint-config-prettier": "10.1.8",
|
||||
"eslint-plugin-astro": "1.6.0",
|
||||
"prettier": "3.8.1",
|
||||
"eslint-plugin-astro": "1.7.0",
|
||||
"prettier": "3.8.2",
|
||||
"prettier-plugin-astro": "0.14.1",
|
||||
"prettier-plugin-tailwindcss": "0.7.2",
|
||||
"semantic-release": "25.0.3",
|
||||
"semantic-release-export-data": "1.2.0",
|
||||
"typescript": "6.0.2",
|
||||
"typescript-eslint": "8.58.0",
|
||||
"typescript-eslint": "8.58.1",
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -65,7 +65,7 @@
|
||||
|
||||
"@astrojs/sitemap": ["@astrojs/sitemap@3.7.2", "", { "dependencies": { "sitemap": "^9.0.0", "stream-replace-string": "^2.0.0", "zod": "^4.3.6" } }, "sha512-PqkzkcZTb5ICiyIR8VoKbIAP/laNRXi5tw616N1Ckk+40oNB8Can1AzVV56lrbC5GKSZFCyJYUVYqVivMisvpA=="],
|
||||
|
||||
"@astrojs/starlight": ["@astrojs/starlight@0.38.2", "", { "dependencies": { "@astrojs/markdown-remark": "^7.0.0", "@astrojs/mdx": "^5.0.0", "@astrojs/sitemap": "^3.7.1", "@pagefind/default-ui": "^1.3.0", "@types/hast": "^3.0.4", "@types/js-yaml": "^4.0.9", "@types/mdast": "^4.0.4", "astro-expressive-code": "^0.41.6", "bcp-47": "^2.1.0", "hast-util-from-html": "^2.0.1", "hast-util-select": "^6.0.2", "hast-util-to-string": "^3.0.0", "hastscript": "^9.0.0", "i18next": "^23.11.5", "js-yaml": "^4.1.0", "klona": "^2.0.6", "magic-string": "^0.30.17", "mdast-util-directive": "^3.0.0", "mdast-util-to-markdown": "^2.1.0", "mdast-util-to-string": "^4.0.0", "pagefind": "^1.3.0", "rehype": "^13.0.1", "rehype-format": "^5.0.0", "remark-directive": "^3.0.0", "ultrahtml": "^1.6.0", "unified": "^11.0.5", "unist-util-visit": "^5.0.0", "vfile": "^6.0.2" }, "peerDependencies": { "astro": "^6.0.0" } }, "sha512-7AsrvG4EsXUmJT5uqiXJN4oZqKaY0wc/Ip7C6/zGnShHRVoTAA4jxeYIZ3wqbqA6zv4cnp9qk31vB2m2dUcmfg=="],
|
||||
"@astrojs/starlight": ["@astrojs/starlight@0.38.3", "", { "dependencies": { "@astrojs/markdown-remark": "^7.0.0", "@astrojs/mdx": "^5.0.0", "@astrojs/sitemap": "^3.7.1", "@pagefind/default-ui": "^1.3.0", "@types/hast": "^3.0.4", "@types/js-yaml": "^4.0.9", "@types/mdast": "^4.0.4", "astro-expressive-code": "^0.41.6", "bcp-47": "^2.1.0", "hast-util-from-html": "^2.0.1", "hast-util-select": "^6.0.2", "hast-util-to-string": "^3.0.0", "hastscript": "^9.0.0", "i18next": "^23.11.5", "js-yaml": "^4.1.0", "klona": "^2.0.6", "magic-string": "^0.30.17", "mdast-util-directive": "^3.0.0", "mdast-util-to-markdown": "^2.1.0", "mdast-util-to-string": "^4.0.0", "pagefind": "^1.3.0", "rehype": "^13.0.1", "rehype-format": "^5.0.0", "remark-directive": "^3.0.0", "ultrahtml": "^1.6.0", "unified": "^11.0.5", "unist-util-visit": "^5.0.0", "vfile": "^6.0.2" }, "peerDependencies": { "astro": "^6.0.0" } }, "sha512-kDlJPlUDdQFWYmyFM2yUPo66yws7v067AEK+/rQjjoVyqehL3DabuOJuy6UJFFTFyGbHxYcBms/ITEgdW7tphw=="],
|
||||
|
||||
"@astrojs/telemetry": ["@astrojs/telemetry@3.3.0", "", { "dependencies": { "ci-info": "4.4.0", "debug": "4.4.3", "dlv": "1.1.3", "dset": "3.1.4", "is-docker": "3.0.0", "is-wsl": "3.1.1", "which-pm-runs": "1.1.0" } }, "sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ=="],
|
||||
|
||||
@@ -461,25 +461,25 @@
|
||||
|
||||
"@types/unist": ["@types/unist@3.0.3", "", {}, "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q=="],
|
||||
|
||||
"@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.58.0", "", { "dependencies": { "@eslint-community/regexpp": "^4.12.2", "@typescript-eslint/scope-manager": "8.58.0", "@typescript-eslint/type-utils": "8.58.0", "@typescript-eslint/utils": "8.58.0", "@typescript-eslint/visitor-keys": "8.58.0", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.58.0", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-RLkVSiNuUP1C2ROIWfqX+YcUfLaSnxGE/8M+Y57lopVwg9VTYYfhuz15Yf1IzCKgZj6/rIbYTmJCUSqr76r0Wg=="],
|
||||
"@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.58.1", "", { "dependencies": { "@eslint-community/regexpp": "^4.12.2", "@typescript-eslint/scope-manager": "8.58.1", "@typescript-eslint/type-utils": "8.58.1", "@typescript-eslint/utils": "8.58.1", "@typescript-eslint/visitor-keys": "8.58.1", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.58.1", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-eSkwoemjo76bdXl2MYqtxg51HNwUSkWfODUOQ3PaTLZGh9uIWWFZIjyjaJnex7wXDu+TRx+ATsnSxdN9YWfRTQ=="],
|
||||
|
||||
"@typescript-eslint/parser": ["@typescript-eslint/parser@8.58.0", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.58.0", "@typescript-eslint/types": "8.58.0", "@typescript-eslint/typescript-estree": "8.58.0", "@typescript-eslint/visitor-keys": "8.58.0", "debug": "^4.4.3" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-rLoGZIf9afaRBYsPUMtvkDWykwXwUPL60HebR4JgTI8mxfFe2cQTu3AGitANp4b9B2QlVru6WzjgB2IzJKiCSA=="],
|
||||
"@typescript-eslint/parser": ["@typescript-eslint/parser@8.58.1", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.58.1", "@typescript-eslint/types": "8.58.1", "@typescript-eslint/typescript-estree": "8.58.1", "@typescript-eslint/visitor-keys": "8.58.1", "debug": "^4.4.3" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-gGkiNMPqerb2cJSVcruigx9eHBlLG14fSdPdqMoOcBfh+vvn4iCq2C8MzUB89PrxOXk0y3GZ1yIWb9aOzL93bw=="],
|
||||
|
||||
"@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.58.0", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.58.0", "@typescript-eslint/types": "^8.58.0", "debug": "^4.4.3" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-8Q/wBPWLQP1j16NxoPNIKpDZFMaxl7yWIoqXWYeWO+Bbd2mjgvoF0dxP2jKZg5+x49rgKdf7Ck473M8PC3V9lg=="],
|
||||
"@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.58.1", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.58.1", "@typescript-eslint/types": "^8.58.1", "debug": "^4.4.3" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-gfQ8fk6cxhtptek+/8ZIqw8YrRW5048Gug8Ts5IYcMLCw18iUgrZAEY/D7s4hkI0FxEfGakKuPK/XUMPzPxi5g=="],
|
||||
|
||||
"@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.58.0", "", { "dependencies": { "@typescript-eslint/types": "8.58.0", "@typescript-eslint/visitor-keys": "8.58.0" } }, "sha512-W1Lur1oF50FxSnNdGp3Vs6P+yBRSmZiw4IIjEeYxd8UQJwhUF0gDgDD/W/Tgmh73mxgEU3qX0Bzdl/NGuSPEpQ=="],
|
||||
"@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.58.1", "", { "dependencies": { "@typescript-eslint/types": "8.58.1", "@typescript-eslint/visitor-keys": "8.58.1" } }, "sha512-TPYUEqJK6avLcEjumWsIuTpuYODTTDAtoMdt8ZZa93uWMTX13Nb8L5leSje1NluammvU+oI3QRr5lLXPgihX3w=="],
|
||||
|
||||
"@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.58.0", "", { "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-doNSZEVJsWEu4htiVC+PR6NpM+pa+a4ClH9INRWOWCUzMst/VA9c4gXq92F8GUD1rwhNvRLkgjfYtFXegXQF7A=="],
|
||||
"@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.58.1", "", { "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-JAr2hOIct2Q+qk3G+8YFfqkqi7sC86uNryT+2i5HzMa2MPjw4qNFvtjnw1IiA1rP7QhNKVe21mSSLaSjwA1Olw=="],
|
||||
|
||||
"@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.58.0", "", { "dependencies": { "@typescript-eslint/types": "8.58.0", "@typescript-eslint/typescript-estree": "8.58.0", "@typescript-eslint/utils": "8.58.0", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-aGsCQImkDIqMyx1u4PrVlbi/krmDsQUs4zAcCV6M7yPcPev+RqVlndsJy9kJ8TLihW9TZ0kbDAzctpLn5o+lOg=="],
|
||||
"@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.58.1", "", { "dependencies": { "@typescript-eslint/types": "8.58.1", "@typescript-eslint/typescript-estree": "8.58.1", "@typescript-eslint/utils": "8.58.1", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-HUFxvTJVroT+0rXVJC7eD5zol6ID+Sn5npVPWoFuHGg9Ncq5Q4EYstqR+UOqaNRFXi5TYkpXXkLhoCHe3G0+7w=="],
|
||||
|
||||
"@typescript-eslint/types": ["@typescript-eslint/types@8.58.0", "", {}, "sha512-O9CjxypDT89fbHxRfETNoAnHj/i6IpRK0CvbVN3qibxlLdo5p5hcLmUuCCrHMpxiWSwKyI8mCP7qRNYuOJ0Uww=="],
|
||||
"@typescript-eslint/types": ["@typescript-eslint/types@8.58.1", "", {}, "sha512-io/dV5Aw5ezwzfPBBWLoT+5QfVtP8O7q4Kftjn5azJ88bYyp/ZMCsyW1lpKK46EXJcaYMZ1JtYj+s/7TdzmQMw=="],
|
||||
|
||||
"@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.58.0", "", { "dependencies": { "@typescript-eslint/project-service": "8.58.0", "@typescript-eslint/tsconfig-utils": "8.58.0", "@typescript-eslint/types": "8.58.0", "@typescript-eslint/visitor-keys": "8.58.0", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", "tinyglobby": "^0.2.15", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-7vv5UWbHqew/dvs+D3e1RvLv1v2eeZ9txRHPnEEBUgSNLx5ghdzjHa0sgLWYVKssH+lYmV0JaWdoubo0ncGYLA=="],
|
||||
"@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.58.1", "", { "dependencies": { "@typescript-eslint/project-service": "8.58.1", "@typescript-eslint/tsconfig-utils": "8.58.1", "@typescript-eslint/types": "8.58.1", "@typescript-eslint/visitor-keys": "8.58.1", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", "tinyglobby": "^0.2.15", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-w4w7WR7GHOjqqPnvAYbazq+Y5oS68b9CzasGtnd6jIeOIeKUzYzupGTB2T4LTPSv4d+WPeccbxuneTFHYgAAWg=="],
|
||||
|
||||
"@typescript-eslint/utils": ["@typescript-eslint/utils@8.58.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@typescript-eslint/scope-manager": "8.58.0", "@typescript-eslint/types": "8.58.0", "@typescript-eslint/typescript-estree": "8.58.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-RfeSqcFeHMHlAWzt4TBjWOAtoW9lnsAGiP3GbaX9uVgTYYrMbVnGONEfUCiSss+xMHFl+eHZiipmA8WkQ7FuNA=="],
|
||||
"@typescript-eslint/utils": ["@typescript-eslint/utils@8.58.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@typescript-eslint/scope-manager": "8.58.1", "@typescript-eslint/types": "8.58.1", "@typescript-eslint/typescript-estree": "8.58.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-Ln8R0tmWC7pTtLOzgJzYTXSCjJ9rDNHAqTaVONF4FEi2qwce8mD9iSOxOpLFFvWp/wBFlew0mjM1L1ihYWfBdQ=="],
|
||||
|
||||
"@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.58.0", "", { "dependencies": { "@typescript-eslint/types": "8.58.0", "eslint-visitor-keys": "^5.0.0" } }, "sha512-XJ9UD9+bbDo4a4epraTwG3TsNPeiB9aShrUneAVXy8q4LuwowN+qu89/6ByLMINqvIMeI9H9hOHQtg/ijrYXzQ=="],
|
||||
"@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.58.1", "", { "dependencies": { "@typescript-eslint/types": "8.58.1", "eslint-visitor-keys": "^5.0.0" } }, "sha512-y+vH7QE8ycjoa0bWciFg7OpFcipUuem1ujhrdLtq1gByKwfbC7bPeKsiny9e0urg93DqwGcHey+bGRKCnF1nZQ=="],
|
||||
|
||||
"@ungap/structured-clone": ["@ungap/structured-clone@1.3.0", "", {}, "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g=="],
|
||||
|
||||
@@ -519,7 +519,7 @@
|
||||
|
||||
"astring": ["astring@1.9.0", "", { "bin": { "astring": "bin/astring" } }, "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg=="],
|
||||
|
||||
"astro": ["astro@6.1.3", "", { "dependencies": { "@astrojs/compiler": "^3.0.1", "@astrojs/internal-helpers": "0.8.0", "@astrojs/markdown-remark": "7.1.0", "@astrojs/telemetry": "3.3.0", "@capsizecss/unpack": "^4.0.0", "@clack/prompts": "^1.1.0", "@oslojs/encoding": "^1.1.0", "@rollup/pluginutils": "^5.3.0", "aria-query": "^5.3.2", "axobject-query": "^4.1.0", "ci-info": "^4.4.0", "clsx": "^2.1.1", "common-ancestor-path": "^2.0.0", "cookie": "^1.1.1", "devalue": "^5.6.3", "diff": "^8.0.3", "dlv": "^1.1.3", "dset": "^3.1.4", "es-module-lexer": "^2.0.0", "esbuild": "^0.27.3", "flattie": "^1.1.1", "fontace": "~0.4.1", "github-slugger": "^2.0.0", "html-escaper": "3.0.3", "http-cache-semantics": "^4.2.0", "js-yaml": "^4.1.1", "magic-string": "^0.30.21", "magicast": "^0.5.2", "mrmime": "^2.0.1", "neotraverse": "^0.6.18", "obug": "^2.1.1", "p-limit": "^7.3.0", "p-queue": "^9.1.0", "package-manager-detector": "^1.6.0", "piccolore": "^0.1.3", "picomatch": "^4.0.3", "rehype": "^13.0.2", "semver": "^7.7.4", "shiki": "^4.0.2", "smol-toml": "^1.6.0", "svgo": "^4.0.1", "tinyclip": "^0.1.12", "tinyexec": "^1.0.4", "tinyglobby": "^0.2.15", "tsconfck": "^3.1.6", "ultrahtml": "^1.6.0", "unifont": "~0.7.4", "unist-util-visit": "^5.1.0", "unstorage": "^1.17.4", "vfile": "^6.0.3", "vite": "^7.3.1", "vitefu": "^1.1.2", "xxhash-wasm": "^1.1.0", "yargs-parser": "^22.0.0", "zod": "^4.3.6" }, "optionalDependencies": { "sharp": "^0.34.0" }, "bin": { "astro": "bin/astro.mjs" } }, "sha512-FUKbBYOdYYrRNZwDd9I5CVSfR6Nj9aZeNzcjcvh1FgHwR0uXawkYFR3HiGxmdmAB2m8fs0iIkDdsiUfwGeO8qA=="],
|
||||
"astro": ["astro@6.1.5", "", { "dependencies": { "@astrojs/compiler": "^3.0.1", "@astrojs/internal-helpers": "0.8.0", "@astrojs/markdown-remark": "7.1.0", "@astrojs/telemetry": "3.3.0", "@capsizecss/unpack": "^4.0.0", "@clack/prompts": "^1.1.0", "@oslojs/encoding": "^1.1.0", "@rollup/pluginutils": "^5.3.0", "aria-query": "^5.3.2", "axobject-query": "^4.1.0", "ci-info": "^4.4.0", "clsx": "^2.1.1", "common-ancestor-path": "^2.0.0", "cookie": "^1.1.1", "devalue": "^5.6.3", "diff": "^8.0.3", "dset": "^3.1.4", "es-module-lexer": "^2.0.0", "esbuild": "^0.27.3", "flattie": "^1.1.1", "fontace": "~0.4.1", "github-slugger": "^2.0.0", "html-escaper": "3.0.3", "http-cache-semantics": "^4.2.0", "js-yaml": "^4.1.1", "magic-string": "^0.30.21", "magicast": "^0.5.2", "mrmime": "^2.0.1", "neotraverse": "^0.6.18", "obug": "^2.1.1", "p-limit": "^7.3.0", "p-queue": "^9.1.0", "package-manager-detector": "^1.6.0", "piccolore": "^0.1.3", "picomatch": "^4.0.3", "rehype": "^13.0.2", "semver": "^7.7.4", "shiki": "^4.0.2", "smol-toml": "^1.6.0", "svgo": "^4.0.1", "tinyclip": "^0.1.12", "tinyexec": "^1.0.4", "tinyglobby": "^0.2.15", "tsconfck": "^3.1.6", "ultrahtml": "^1.6.0", "unifont": "~0.7.4", "unist-util-visit": "^5.1.0", "unstorage": "^1.17.4", "vfile": "^6.0.3", "vite": "^7.3.1", "vitefu": "^1.1.2", "xxhash-wasm": "^1.1.0", "yargs-parser": "^22.0.0", "zod": "^4.3.6" }, "optionalDependencies": { "sharp": "^0.34.0" }, "bin": { "astro": "bin/astro.mjs" } }, "sha512-AJVw/JlssxUCBFi3Hp4djL8Pt7wUQqStBBawCd8cNGBBM2lBzp/rXGguzt4OcMfW+86fs0hpFwMyopHM2r6d3g=="],
|
||||
|
||||
"astro-eslint-parser": ["astro-eslint-parser@1.3.0", "", { "dependencies": { "@astrojs/compiler": "2.13.1", "@typescript-eslint/scope-manager": "8.56.1", "@typescript-eslint/types": "8.56.1", "astrojs-compiler-sync": "1.1.1", "debug": "4.4.3", "entities": "6.0.1", "eslint-scope": "8.4.0", "eslint-visitor-keys": "4.2.1", "espree": "10.4.0", "fast-glob": "3.3.3", "is-glob": "4.0.3", "semver": "7.7.4" } }, "sha512-aOLc/aDR7lTWAHlytEefwn4Y6qs6uMr69DZvUx2A1AOAZsWhGB/paiRWPtVchh9wzMvLeqr+DkbENhVreVr9AQ=="],
|
||||
|
||||
@@ -749,7 +749,7 @@
|
||||
|
||||
"eslint-config-prettier": ["eslint-config-prettier@10.1.8", "", { "peerDependencies": { "eslint": "10.0.3" }, "bin": { "eslint-config-prettier": "bin/cli.js" } }, "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w=="],
|
||||
|
||||
"eslint-plugin-astro": ["eslint-plugin-astro@1.6.0", "", { "dependencies": { "@eslint-community/eslint-utils": "4.9.1", "@jridgewell/sourcemap-codec": "1.5.5", "@typescript-eslint/types": "8.56.1", "astro-eslint-parser": "1.3.0", "eslint-compat-utils": "0.6.5", "globals": "16.5.0", "postcss": "8.5.6", "postcss-selector-parser": "7.1.1" }, "peerDependencies": { "eslint": "10.0.3" } }, "sha512-yGIbLHuj5MOUXa0s4sZ6cVhv6ehb+WLF80tsrGaxMk6VTUExruMzubQDzhOYt8fbR1c9vILCCRSCsKI7M1whig=="],
|
||||
"eslint-plugin-astro": ["eslint-plugin-astro@1.7.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@jridgewell/sourcemap-codec": "^1.4.14", "@typescript-eslint/types": "^7.7.1 || ^8", "astro-eslint-parser": "^1.3.0", "eslint-compat-utils": "^0.6.0", "globals": "^16.0.0", "postcss": "^8.4.14", "postcss-selector-parser": "^7.0.0" }, "peerDependencies": { "eslint": ">=8.57.0" } }, "sha512-89xpAn528UKCdmyysbg0AHHqi6sqcK89wXnJIpu4F0mFBN03zATEBNK7pRtMfl6gwtMOm5ECXs+Wz5qDHhwTFw=="],
|
||||
|
||||
"eslint-scope": ["eslint-scope@9.1.2", "", { "dependencies": { "@types/esrecurse": "4.3.1", "@types/estree": "1.0.8", "esrecurse": "4.3.0", "estraverse": "5.3.0" } }, "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ=="],
|
||||
|
||||
@@ -1361,7 +1361,7 @@
|
||||
|
||||
"pkg-conf": ["pkg-conf@2.1.0", "", { "dependencies": { "find-up": "^2.0.0", "load-json-file": "^4.0.0" } }, "sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g=="],
|
||||
|
||||
"postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "3.3.11", "picocolors": "1.1.1", "source-map-js": "1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="],
|
||||
"postcss": ["postcss@8.5.8", "", { "dependencies": { "nanoid": "3.3.11", "picocolors": "1.1.1", "source-map-js": "1.2.1" } }, "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg=="],
|
||||
|
||||
"postcss-nested": ["postcss-nested@6.2.0", "", { "dependencies": { "postcss-selector-parser": "6.1.2" }, "peerDependencies": { "postcss": "8.5.8" } }, "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ=="],
|
||||
|
||||
@@ -1369,7 +1369,7 @@
|
||||
|
||||
"prelude-ls": ["prelude-ls@1.2.1", "", {}, "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="],
|
||||
|
||||
"prettier": ["prettier@3.8.1", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg=="],
|
||||
"prettier": ["prettier@3.8.2", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-8c3mgTe0ASwWAJK+78dpviD+A8EqhndQPUBpNUIPt6+xWlIigCwfN01lWr9MAede4uqXGTEKeQWTvzb3vjia0Q=="],
|
||||
|
||||
"prettier-plugin-astro": ["prettier-plugin-astro@0.14.1", "", { "dependencies": { "@astrojs/compiler": "2.13.1", "prettier": "3.8.1", "sass-formatter": "0.7.9" } }, "sha512-RiBETaaP9veVstE4vUwSIcdATj6dKmXljouXc/DDNwBSPTp8FRkLGDSGFClKsAFeeg+13SB0Z1JZvbD76bigJw=="],
|
||||
|
||||
@@ -1625,7 +1625,7 @@
|
||||
|
||||
"typescript": ["typescript@6.0.2", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ=="],
|
||||
|
||||
"typescript-eslint": ["typescript-eslint@8.58.0", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "8.58.0", "@typescript-eslint/parser": "8.58.0", "@typescript-eslint/typescript-estree": "8.58.0", "@typescript-eslint/utils": "8.58.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-e2TQzKfaI85fO+F3QywtX+tCTsu/D3WW5LVU6nz8hTFKFZ8yBJ6mSYRpXqdR3mFjPWmO0eWsTa5f+UpAOe/FMA=="],
|
||||
"typescript-eslint": ["typescript-eslint@8.58.1", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "8.58.1", "@typescript-eslint/parser": "8.58.1", "@typescript-eslint/typescript-estree": "8.58.1", "@typescript-eslint/utils": "8.58.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-gf6/oHChByg9HJvhMO1iBexJh12AqqTfnuxscMDOVqfJW3htsdRJI/GfPpHTTcyeB8cSTUY2JcZmVgoyPqcrDg=="],
|
||||
|
||||
"ufo": ["ufo@1.6.3", "", {}, "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q=="],
|
||||
|
||||
@@ -1729,12 +1729,8 @@
|
||||
|
||||
"@actions/http-client/undici": ["undici@6.24.0", "", {}, "sha512-lVLNosgqo5EkGqh5XUDhGfsMSoO8K0BAN0TyJLvwNRSl4xWGZlCVYsAIpa/OpA3TvmnM01GWcoKmc3ZWo5wKKA=="],
|
||||
|
||||
"@astrojs/starlight/@astrojs/markdown-remark": ["@astrojs/markdown-remark@7.0.0", "", { "dependencies": { "@astrojs/internal-helpers": "0.8.0", "@astrojs/prism": "4.0.0", "github-slugger": "^2.0.0", "hast-util-from-html": "^2.0.3", "hast-util-to-text": "^4.0.2", "js-yaml": "^4.1.1", "mdast-util-definitions": "^6.0.0", "rehype-raw": "^7.0.0", "rehype-stringify": "^10.0.1", "remark-gfm": "^4.0.1", "remark-parse": "^11.0.0", "remark-rehype": "^11.1.2", "remark-smartypants": "^3.0.2", "shiki": "^4.0.0", "smol-toml": "^1.6.0", "unified": "^11.0.5", "unist-util-remove-position": "^5.0.0", "unist-util-visit": "^5.1.0", "unist-util-visit-parents": "^6.0.2", "vfile": "^6.0.3" } }, "sha512-jTAXHPy45L7o1ljH4jYV+ShtOHtyQUa1mGp3a5fJp1soX8lInuTJQ6ihmldHzVM4Q7QptU4SzIDIcKbBJO7sXQ=="],
|
||||
|
||||
"@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="],
|
||||
|
||||
"@expressive-code/core/postcss": ["postcss@8.5.8", "", { "dependencies": { "nanoid": "3.3.11", "picocolors": "1.1.1", "source-map-js": "1.2.1" } }, "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg=="],
|
||||
|
||||
"@expressive-code/plugin-shiki/shiki": ["shiki@3.23.0", "", { "dependencies": { "@shikijs/core": "3.23.0", "@shikijs/engine-javascript": "3.23.0", "@shikijs/engine-oniguruma": "3.23.0", "@shikijs/langs": "3.23.0", "@shikijs/themes": "3.23.0", "@shikijs/types": "3.23.0", "@shikijs/vscode-textmate": "10.0.2", "@types/hast": "3.0.4" } }, "sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA=="],
|
||||
|
||||
"@pnpm/network.ca-file/graceful-fs": ["graceful-fs@4.2.10", "", {}, "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="],
|
||||
@@ -1773,8 +1769,6 @@
|
||||
|
||||
"@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
|
||||
|
||||
"@tailwindcss/postcss/postcss": ["postcss@8.5.8", "", { "dependencies": { "nanoid": "3.3.11", "picocolors": "1.1.1", "source-map-js": "1.2.1" } }, "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg=="],
|
||||
|
||||
"@types/cacheable-request/@types/node": ["@types/node@25.0.3", "", { "dependencies": { "undici-types": "7.16.0" } }, "sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA=="],
|
||||
|
||||
"@types/glob/@types/node": ["@types/node@25.0.3", "", { "dependencies": { "undici-types": "7.16.0" } }, "sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA=="],
|
||||
@@ -1825,8 +1819,6 @@
|
||||
|
||||
"env-ci/execa": ["execa@8.0.1", "", { "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^8.0.1", "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" } }, "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg=="],
|
||||
|
||||
"eslint-plugin-astro/@typescript-eslint/types": ["@typescript-eslint/types@8.56.1", "", {}, "sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw=="],
|
||||
|
||||
"eslint-plugin-astro/postcss-selector-parser": ["postcss-selector-parser@7.1.1", "", { "dependencies": { "cssesc": "3.0.0", "util-deprecate": "1.0.2" } }, "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg=="],
|
||||
|
||||
"execa/get-stream": ["get-stream@6.0.1", "", {}, "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="],
|
||||
@@ -2159,18 +2151,16 @@
|
||||
|
||||
"pkg-conf/find-up": ["find-up@2.1.0", "", { "dependencies": { "locate-path": "^2.0.0" } }, "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ=="],
|
||||
|
||||
"postcss-nested/postcss": ["postcss@8.5.8", "", { "dependencies": { "nanoid": "3.3.11", "picocolors": "1.1.1", "source-map-js": "1.2.1" } }, "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg=="],
|
||||
|
||||
"postcss-nested/postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "3.0.0", "util-deprecate": "1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="],
|
||||
|
||||
"prettier-plugin-astro/prettier": ["prettier@3.8.1", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg=="],
|
||||
|
||||
"read-package-up/read-pkg": ["read-pkg@9.0.1", "", { "dependencies": { "@types/normalize-package-data": "^2.4.3", "normalize-package-data": "^6.0.0", "parse-json": "^8.0.0", "type-fest": "^4.6.0", "unicorn-magic": "^0.1.0" } }, "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA=="],
|
||||
|
||||
"read-package-up/type-fest": ["type-fest@4.41.0", "", {}, "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA=="],
|
||||
|
||||
"read-pkg/type-fest": ["type-fest@5.4.4", "", { "dependencies": { "tagged-tag": "^1.0.0" } }, "sha512-JnTrzGu+zPV3aXIUhnyWJj4z/wigMsdYajGLIYakqyOW1nPllzXEJee0QQbHj+CTIQtXGlAjuK0UY+2xTyjVAw=="],
|
||||
|
||||
"sanitize-html/postcss": ["postcss@8.5.8", "", { "dependencies": { "nanoid": "3.3.11", "picocolors": "1.1.1", "source-map-js": "1.2.1" } }, "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg=="],
|
||||
|
||||
"semantic-release/@semantic-release/error": ["@semantic-release/error@4.0.0", "", {}, "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ=="],
|
||||
|
||||
"semantic-release/aggregate-error": ["aggregate-error@5.0.0", "", { "dependencies": { "clean-stack": "^5.2.0", "indent-string": "^5.0.0" } }, "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw=="],
|
||||
@@ -2195,14 +2185,10 @@
|
||||
|
||||
"tsconfck/typescript": ["typescript@5.9.2", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A=="],
|
||||
|
||||
"vite/postcss": ["postcss@8.5.8", "", { "dependencies": { "nanoid": "3.3.11", "picocolors": "1.1.1", "source-map-js": "1.2.1" } }, "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg=="],
|
||||
|
||||
"vitefu/vite": ["vite@6.4.1", "", { "dependencies": { "esbuild": "0.25.12", "fdir": "6.5.0", "picomatch": "4.0.3", "postcss": "8.5.8", "rollup": "4.59.0", "tinyglobby": "0.2.15" }, "optionalDependencies": { "@types/node": "25.0.3", "fsevents": "2.3.3", "jiti": "2.6.1", "lightningcss": "1.31.1" }, "bin": { "vite": "bin/vite.js" } }, "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g=="],
|
||||
|
||||
"wrap-ansi/ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="],
|
||||
|
||||
"@astrojs/starlight/@astrojs/markdown-remark/@astrojs/prism": ["@astrojs/prism@4.0.0", "", { "dependencies": { "prismjs": "^1.30.0" } }, "sha512-NndtNPpxaGinRpRytljGBvYHpTOwHycSZ/c+lQi5cHvkqqrHKWdkPEhImlODBNmbuB+vyQUNUDXyjzt66CihJg=="],
|
||||
|
||||
"@expressive-code/plugin-shiki/shiki/@shikijs/core": ["@shikijs/core@3.23.0", "", { "dependencies": { "@shikijs/types": "3.23.0", "@shikijs/vscode-textmate": "10.0.2", "@types/hast": "3.0.4", "hast-util-to-html": "9.0.5" } }, "sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA=="],
|
||||
|
||||
"@expressive-code/plugin-shiki/shiki/@shikijs/engine-javascript": ["@shikijs/engine-javascript@3.23.0", "", { "dependencies": { "@shikijs/types": "3.23.0", "@shikijs/vscode-textmate": "10.0.2", "oniguruma-to-es": "4.3.4" } }, "sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA=="],
|
||||
@@ -2323,8 +2309,6 @@
|
||||
|
||||
"vitefu/vite/lightningcss": ["lightningcss@1.31.1", "", { "dependencies": { "detect-libc": "2.1.2" }, "optionalDependencies": { "lightningcss-android-arm64": "1.31.1", "lightningcss-darwin-arm64": "1.31.1", "lightningcss-darwin-x64": "1.31.1", "lightningcss-freebsd-x64": "1.31.1", "lightningcss-linux-arm-gnueabihf": "1.31.1", "lightningcss-linux-arm64-gnu": "1.31.1", "lightningcss-linux-arm64-musl": "1.31.1", "lightningcss-linux-x64-gnu": "1.31.1", "lightningcss-linux-x64-musl": "1.31.1", "lightningcss-win32-arm64-msvc": "1.31.1", "lightningcss-win32-x64-msvc": "1.31.1" } }, "sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ=="],
|
||||
|
||||
"vitefu/vite/postcss": ["postcss@8.5.8", "", { "dependencies": { "nanoid": "3.3.11", "picocolors": "1.1.1", "source-map-js": "1.2.1" } }, "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg=="],
|
||||
|
||||
"@semantic-release/github/aggregate-error/clean-stack/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="],
|
||||
|
||||
"@semantic-release/npm/aggregate-error/clean-stack/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="],
|
||||
|
||||
14
package.json
14
package.json
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "site-documentation",
|
||||
"type": "module",
|
||||
"version": "0.19.0",
|
||||
"version": "0.23.0",
|
||||
"scripts": {
|
||||
"dev": "astro dev",
|
||||
"build": "astro build",
|
||||
@@ -15,10 +15,10 @@
|
||||
"@astrojs/mdx": "5.0.3",
|
||||
"@astrojs/node": "10.0.4",
|
||||
"@astrojs/sitemap": "3.7.2",
|
||||
"@astrojs/starlight": "0.38.2",
|
||||
"@astrojs/starlight": "0.38.3",
|
||||
"@tailwindcss/postcss": "4.2.2",
|
||||
"@tailwindcss/vite": "4.2.2",
|
||||
"astro": "6.1.3",
|
||||
"astro": "6.1.5",
|
||||
"sanitize-html": "2.17.2",
|
||||
"sharp": "0.34.5",
|
||||
"starlight-theme-rapide": "0.5.2",
|
||||
@@ -33,16 +33,16 @@
|
||||
"@semantic-release/release-notes-generator": "14.1.0",
|
||||
"@tailwindcss/forms": "0.5.11",
|
||||
"@tailwindcss/typography": "0.5.19",
|
||||
"@typescript-eslint/parser": "8.58.0",
|
||||
"@typescript-eslint/parser": "8.58.1",
|
||||
"eslint": "10.2.0",
|
||||
"eslint-config-prettier": "10.1.8",
|
||||
"eslint-plugin-astro": "1.6.0",
|
||||
"prettier": "3.8.1",
|
||||
"eslint-plugin-astro": "1.7.0",
|
||||
"prettier": "3.8.2",
|
||||
"prettier-plugin-astro": "0.14.1",
|
||||
"prettier-plugin-tailwindcss": "0.7.2",
|
||||
"semantic-release": "25.0.3",
|
||||
"semantic-release-export-data": "1.2.0",
|
||||
"typescript": "6.0.2",
|
||||
"typescript-eslint": "8.58.0"
|
||||
"typescript-eslint": "8.58.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"mergeConfidence:all-badges",
|
||||
":rebaseStalePrs"
|
||||
],
|
||||
"timezone": "US/Central",
|
||||
"timezone": "America/Chicago",
|
||||
"labels": [],
|
||||
"prHourlyLimit": 0,
|
||||
"prConcurrentLimit": 0,
|
||||
|
||||
@@ -13,3 +13,11 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/actual
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
# Purpose
|
||||
|
||||
Budgeting and managing finances.
|
||||
|
||||
# Notes
|
||||
|
||||
Currently unused, need to setup bank integration or some other for of automation.
|
||||
|
||||
@@ -13,3 +13,17 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/argocd
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/ffiq2at9b8p34d?orgId=1).</Aside>
|
||||
|
||||
# Purpose
|
||||
|
||||
Deploying and managing resources within Kubernetes clusters.
|
||||
|
||||
# Notes
|
||||
|
||||
Syncs from templates defined in the [infrastructure](https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/manifests/) repo, manifests branch. Deeply integrated with Gitea and the rendered manifests system.
|
||||
|
||||
Also used as a dashboard for resources, mostly for logs and restarting deployments. This is also done in [Headlamp](https://docs.alexlebens.dev/applications/headlamp/), which is the full featured dashboard.
|
||||
|
||||
@@ -13,3 +13,13 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/audiobookshelf
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
# Purpose
|
||||
|
||||
Podcasts, Audiobbooks, and Books.
|
||||
|
||||
# Notes
|
||||
|
||||
Mostly for podcast archiving and listening to audiobooks. Backup for [Grimmory](https://docs.alexlebens.dev/applications/grimmory/) for books, but not primary.
|
||||
|
||||
Kind of difficult to manage podcasts though, and the phone apps don't auto download to the phone.
|
||||
|
||||
@@ -13,3 +13,17 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/authentik
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
<Aside>This app has public facing endpoint, at [auth.alexlebens.dev](https://auth.alexlebens.dev)</Aside>
|
||||
|
||||
<Aside type="tip">Has an internal [Grafana Dashboard](https://grafana.alexlebens.net/goto/efiq29z9u4dmob?orgId=1)</Aside>
|
||||
|
||||
# Purpose
|
||||
|
||||
Single sign on authentication for applications that support OIDC.
|
||||
|
||||
# Notes
|
||||
|
||||
Available at public, local, and Tailscale endpoints. Apps are configured for their like endppoints.
|
||||
|
||||
@@ -13,3 +13,13 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/backrest
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
# Purpose
|
||||
|
||||
Backup system for files on the NAS. For size contraint reasons, does not backup most video content.
|
||||
|
||||
# Notes
|
||||
|
||||
Must be manually configured in the app. Has been setup for targets at the remote - PiBox - or the Digital Ocean S3 buckets.
|
||||
|
||||
Mainly just for irreplacable files.
|
||||
|
||||
@@ -13,3 +13,11 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/bazarr
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
# Purpose
|
||||
|
||||
Downloads subtitles for Sonarr and Radarr managed files.
|
||||
|
||||
# Notes
|
||||
|
||||
Haven't setup properly or sure if subtitles are being downloaded. Since I don't use subtitles very often I have thought about removing this.
|
||||
|
||||
@@ -13,3 +13,17 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/blocky
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
<Aside type="tip">Has an [Grafana Dashboard](https://grafana.alexlebens.net/goto/afiq277mq7mkge?orgId=1)</Aside>
|
||||
|
||||
# Purpose
|
||||
|
||||
Very fast and declarative config DNS with built in adblocking. Used for local domain name configuration as well.
|
||||
|
||||
# Notes
|
||||
|
||||
Deployments in cluster, on RaspberryPis, and the PiBox. Cluster and Tailscale use the cluster endpoint, clients use the RaspberyPis, and home network used the PiBox.
|
||||
|
||||
DNS over TLS to Cloudflare servers and somewhat agressive blocking.
|
||||
|
||||
@@ -13,3 +13,15 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/cert-manager
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
<Aside type="tip">Has an [Grafana Dashboard](https://grafana.alexlebens.net/goto/ffiq2il12bwn4b?orgId=1)</Aside>
|
||||
|
||||
# Purpose
|
||||
|
||||
Manages certificates inside the Kubernetes cluster.
|
||||
|
||||
# Notes
|
||||
|
||||
Commonly used automatic background service used by other services.
|
||||
|
||||
@@ -13,3 +13,17 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/cilium
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
<Aside type="tip">Has a dedicated [Dashboard with Hubble](https://hubble.alexlebens.net/)</Aside>
|
||||
|
||||
# Purpose
|
||||
|
||||
Core networking service connecting nodes and pods together. Provides a metal LoadBalancer service.
|
||||
|
||||
# Notes
|
||||
|
||||
One of the most important apps in cluster. Any updates need special care to ensure success.
|
||||
|
||||
Long term goals include migrating the Ingress/Gateway from [Traefik](https://docs.alexlebens.dev/applications/traefik/) to Cilium and using BGP for connecting to the network devices. I've tried this a few times, but networking isn't my strong suit.
|
||||
|
||||
@@ -13,3 +13,19 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/cloudnative-pg
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
<Aside type="tip">Has an [Grafana Dashboard](https://grafana.alexlebens.net/goto/cfiq33g3brj0gc?orgId=1)</Aside>
|
||||
|
||||
# Purpose
|
||||
|
||||
Operator that manages PostgreSQL deployments in cluster.
|
||||
|
||||
# Notes
|
||||
|
||||
A very important application since many core services and applications depend on PostgreSQL databases.
|
||||
|
||||
Backups to the NAS with replication of the base backups to remote and DigialOcean S3 endpoints.
|
||||
|
||||
Used in conjunction with [this](https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster) Helm Chart to easily deploy and manage the application PostgreSQL instances.
|
||||
|
||||
@@ -13,3 +13,17 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/coredns
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
<Aside type="tip">Has an [Grafana Dashboard](https://grafana.alexlebens.net/goto/dfiq3jh1ez0n4a?orgId=1)</Aside>
|
||||
|
||||
# Purpose
|
||||
|
||||
DNS server just for cluster services, such as pod and service routing.
|
||||
|
||||
# Notes
|
||||
|
||||
Upstreams to [Blocky](https://docs.alexlebens.dev/applications/blocky/) for external DNS queries and also to the [Tailscale](https://docs.alexlebens.dev/applications/tailscale-operator/) DNS server for Tailnet access.
|
||||
|
||||
Deploys as part of the Talos upgrades, but managed by Helm chart for the above custom configuration.
|
||||
|
||||
@@ -13,3 +13,13 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/dawarich
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
# Purpose
|
||||
|
||||
Alternative to Google Locations, does tracking using an Android app to provide location history.
|
||||
|
||||
# Notes
|
||||
|
||||
Requires the provided Android app for tracking.
|
||||
|
||||
Need to import Google Location history
|
||||
|
||||
@@ -13,3 +13,11 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/democratic-csi-synology-iscsi
|
||||
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.
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
---
|
||||
title: Descheduler
|
||||
description: Dependency Track is an intelligent Component Analysis platform that allows organizations to identify and reduce risk in the software supply chain.
|
||||
hero:
|
||||
tagline: Dependency Track is an intelligent Component Analysis platform that allows organizations to identify and reduce risk in the software supply chain.
|
||||
image:
|
||||
file: https://avatars.githubusercontent.com/u/40258585
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/DependencyTrack/dependency-track
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/dependency-track
|
||||
icon: right-arrow
|
||||
---
|
||||
@@ -13,3 +13,11 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/descheduler
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
# 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,3 +13,11 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/directus
|
||||
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,3 +13,11 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/elastic-operator
|
||||
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/).
|
||||
|
||||
@@ -13,3 +13,15 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/element-web
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
<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/)
|
||||
|
||||
@@ -13,3 +13,11 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/eraser
|
||||
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,3 +13,11 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/excalidraw
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
# Purpose
|
||||
|
||||
Used to make diagrams and other sketches.
|
||||
|
||||
# Notes
|
||||
|
||||
Mostly used in blog posts and documentation.
|
||||
|
||||
@@ -13,3 +13,11 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/external-dns
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
# 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,3 +13,11 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/external-secrets
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
# Purpose
|
||||
|
||||
Very useful, decalarative way to make Kubernetes Secrets from an external provider.
|
||||
|
||||
# Notes
|
||||
|
||||
Secrets come from [Vault](https://docs.alexlebens.dev/applications/vault/).
|
||||
|
||||
@@ -13,3 +13,15 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/foldergram
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
<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.
|
||||
|
||||
@@ -13,3 +13,15 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/freshrss
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
<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.
|
||||
|
||||
@@ -13,3 +13,17 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/garage
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
# 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.
|
||||
|
||||
@@ -13,3 +13,11 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/gatus
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
# 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,3 +13,11 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/generic-device-plugin
|
||||
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).
|
||||
|
||||
@@ -13,3 +13,15 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/gitea
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
<Aside>This app has public facing endpoint, at [gitea.alexlebens.dev](https://gitea.alexlebens.dev)</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,3 +13,11 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/grafana-operator
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
# Purpose
|
||||
|
||||
Operator to declaratively make Grafana dashboards.
|
||||
|
||||
# Notes
|
||||
|
||||
Uses the dashboard json in [grafana-dashboards](https://gitea.alexlebens.dev/alexlebens/grafana-dashboards].
|
||||
|
||||
@@ -13,3 +13,13 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/grimmory
|
||||
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/).
|
||||
|
||||
@@ -13,3 +13,13 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/harbor
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
# 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,3 +13,11 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/headlamp
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
# Purpose
|
||||
|
||||
Dashboard for Kubernetes.
|
||||
|
||||
# Notes
|
||||
|
||||
I also use the desktop app which is identical.
|
||||
|
||||
@@ -13,3 +13,11 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/home-assistant
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
# Purpose
|
||||
|
||||
Home automation, connecting to various IoT devices through Zigbee, Matter, etc.
|
||||
|
||||
# Notes
|
||||
|
||||
Currently unused.
|
||||
|
||||
@@ -13,3 +13,11 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/homepage
|
||||
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,3 +13,11 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/houndarr
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
# Purpose
|
||||
|
||||
Manages automatic upgrades for content in the Servarr apps.
|
||||
|
||||
# Notes
|
||||
|
||||
Set and forget, runs as a service in the background.
|
||||
|
||||
@@ -13,3 +13,11 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/immich
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
# 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,3 +13,11 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/intel-device-plugin
|
||||
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,3 +13,13 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/jellyfin
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
# 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,3 +13,7 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/karakeep
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
<Aside>This app has public facing endpoint, at [karakeep.alexlebens.dev](https://karakeep.alexlebens.dev)</Aside>
|
||||
|
||||
@@ -13,3 +13,7 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/matrix-synapse
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
<Aside>This app has public facing endpoint, at [matrix.alexlebens.dev](https://matrix.alexlebens.dev)</Aside>
|
||||
|
||||
@@ -13,3 +13,7 @@ hero:
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/outline
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
<Aside>This app has public facing endpoint, at [outline.alexlebens.dev](https://outline.alexlebens.dev)</Aside>
|
||||
|
||||
19
src/content/docs/applications/postiz.mdx
Normal file
19
src/content/docs/applications/postiz.mdx
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: Postiz
|
||||
description: Postiz offers everything you need to manage your social media posts, build an audience, capture leads, and grow your business.
|
||||
hero:
|
||||
tagline: Postiz offers everything you need to manage your social media posts, build an audience, capture leads, and grow your business.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/postiz.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/gitroomhq/postiz-app
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/postiz
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
<Aside>This app has public facing endpoint, at [postiz.alexlebens.dev](https://postiz.alexlebens.dev)</Aside>
|
||||
15
src/content/docs/applications/prowlarr.mdx
Normal file
15
src/content/docs/applications/prowlarr.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Prowlarr
|
||||
description: Prowlarr is an indexer manager/proxy built on the popular *arr .net/reactjs base stack to integrate with your various PVR apps, supporting management of both Torrent Trackers and Usenet Indexers.
|
||||
hero:
|
||||
tagline: Prowlarr is an indexer manager/proxy built on the popular *arr .net/reactjs base stack to integrate with your various PVR apps, supporting management of both Torrent Trackers and Usenet Indexers.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/prowlarr.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/Prowlarr/Prowlarr
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/prowlarr
|
||||
icon: right-arrow
|
||||
---
|
||||
15
src/content/docs/applications/qbittorrent.mdx
Normal file
15
src/content/docs/applications/qbittorrent.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: qBittorrent
|
||||
description: qBittorrent is a bittorrent client programmed in C++ / Qt that uses libtorrent.
|
||||
hero:
|
||||
tagline: qBittorrent is a bittorrent client programmed in C++ / Qt that uses libtorrent.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/qbittorrent.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/qbittorrent/qBittorrent
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/qbittorrent
|
||||
icon: right-arrow
|
||||
---
|
||||
24
src/content/docs/applications/radarr.mdx
Normal file
24
src/content/docs/applications/radarr.mdx
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
title: Radarr
|
||||
description: Radarr is a movie collection manager for Usenet and BitTorrent users.
|
||||
hero:
|
||||
tagline: Radarr is a movie collection manager for Usenet and BitTorrent users.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/radarr.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/Radarr/Radarr
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/radarr
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart 4K
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/radarr-4k
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart Anime
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/radarr-anime
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart Stand Up
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/radarr-standup
|
||||
icon: right-arrow
|
||||
---
|
||||
15
src/content/docs/applications/rclone.mdx
Normal file
15
src/content/docs/applications/rclone.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Rclone
|
||||
description: Rclone ("rsync for cloud storage") is a command-line program to sync files and directories to and from different cloud storage providers.
|
||||
hero:
|
||||
tagline: Rclone ("rsync for cloud storage") is a command-line program to sync files and directories to and from different cloud storage providers.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/rclone.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/rclone/rclone
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/rclone
|
||||
icon: right-arrow
|
||||
---
|
||||
15
src/content/docs/applications/reloader.mdx
Normal file
15
src/content/docs/applications/reloader.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Reloader
|
||||
description: Reloader is a Kubernetes controller that automatically triggers rollouts of workloads (like Deployments, StatefulSets, and more) whenever referenced Secrets, ConfigMaps or optionally CSI-mounted secrets are updated.
|
||||
hero:
|
||||
tagline: Reloader is a Kubernetes controller that automatically triggers rollouts of workloads (like Deployments, StatefulSets, and more) whenever referenced Secrets, ConfigMaps or optionally CSI-mounted secrets are updated.
|
||||
image:
|
||||
file: https://raw.githubusercontent.com/stakater/Reloader/refs/heads/master/assets/web/reloader.jpg
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/stakater/Reloader
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/reloader
|
||||
icon: right-arrow
|
||||
---
|
||||
15
src/content/docs/applications/rook-ceph.mdx
Normal file
15
src/content/docs/applications/rook-ceph.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Rook Ceph
|
||||
description: Rook is an open source cloud-native storage orchestrator for Kubernetes, providing the platform, framework, and support for Ceph storage to natively integrate with Kubernetes.
|
||||
hero:
|
||||
tagline: Rook is an open source cloud-native storage orchestrator for Kubernetes, providing the platform, framework, and support for Ceph storage to natively integrate with Kubernetes.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/ceph.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/rook/rook
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/rook-ceph
|
||||
icon: right-arrow
|
||||
---
|
||||
15
src/content/docs/applications/roundcube.mdx
Normal file
15
src/content/docs/applications/roundcube.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Roundcube
|
||||
description: Roundcube Webmail is a browser-based multilingual IMAP client with an application-like user interface.
|
||||
hero:
|
||||
tagline: Roundcube Webmail is a browser-based multilingual IMAP client with an application-like user interface.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/roundcube.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/roundcube/roundcubemail
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/roundcube
|
||||
icon: right-arrow
|
||||
---
|
||||
19
src/content/docs/applications/rybbit.mdx
Normal file
19
src/content/docs/applications/rybbit.mdx
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: Rybbit
|
||||
description: Rybbit - open-source and privacy-friendly alternative to Google Analytics that is 10x more intuitive.
|
||||
hero:
|
||||
tagline: Rybbit - open-source and privacy-friendly alternative to Google Analytics that is 10x more intuitive.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/rybbit.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/rybbit-io/rybbit
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/rybbit
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
<Aside>This app has public facing endpoint, at [rybbit.alexlebens.dev](https://rybbit.alexlebens.dev)</Aside>
|
||||
15
src/content/docs/applications/s3-exporter.mdx
Normal file
15
src/content/docs/applications/s3-exporter.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: S3 Exporter
|
||||
description: S3 bucket exporter exposing metrics size and number of objects.
|
||||
hero:
|
||||
tagline: S3 bucket exporter exposing metrics size and number of objects.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/amazon-s3.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/molu8bits/s3bucket_exporter
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/s3-exporter
|
||||
icon: right-arrow
|
||||
---
|
||||
15
src/content/docs/applications/searxng.mdx
Normal file
15
src/content/docs/applications/searxng.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Searxng
|
||||
description: SearXNG is a free internet metasearch engine which aggregates results from various search services and databases.
|
||||
hero:
|
||||
tagline: SearXNG is a free internet metasearch engine which aggregates results from various search services and databases.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/searxng.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/searxng/searxng
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/searxng
|
||||
icon: right-arrow
|
||||
---
|
||||
15
src/content/docs/applications/seerr.mdx
Normal file
15
src/content/docs/applications/seerr.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Seerr
|
||||
description: Open-source media request and discovery manager for Jellyfin, Plex, and Emby.
|
||||
hero:
|
||||
tagline: Open-source media request and discovery manager for Jellyfin, Plex, and Emby.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/seerr.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/seerr-team/seerr
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/seerr
|
||||
icon: right-arrow
|
||||
---
|
||||
15
src/content/docs/applications/shelfmark.mdx
Normal file
15
src/content/docs/applications/shelfmark.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Shelfmark
|
||||
description: Shelfmark is a self-hosted web interface for searching and downloading books and audiobooks from multiple sources.
|
||||
hero:
|
||||
tagline: Shelfmark is a self-hosted web interface for searching and downloading books and audiobooks from multiple sources.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/shelfmark.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/calibrain/shelfmark
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/shelfmark
|
||||
icon: right-arrow
|
||||
---
|
||||
15
src/content/docs/applications/shelly-plug.mdx
Normal file
15
src/content/docs/applications/shelly-plug.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Shelly Plug
|
||||
description: Shelly Plug Prometheus exporter.
|
||||
hero:
|
||||
tagline: Shelly Plug Prometheus exporter.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/shelly.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/geerlingguy/shelly-plug-prometheus
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/shelly-plug
|
||||
icon: right-arrow
|
||||
---
|
||||
19
src/content/docs/applications/site-documentation.mdx
Normal file
19
src/content/docs/applications/site-documentation.mdx
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: Site Documentation
|
||||
description: Personal site made with Astro and Starlight for hosting documentation on my homelab.
|
||||
hero:
|
||||
tagline: Personal site made with Astro and Starlight for hosting documentation on my homelab.
|
||||
image:
|
||||
file: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/logo-new-round.svg
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://gitea.alexlebens.dev/alexlebens/site-documentation
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/site-documentation
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
<Aside>This app has public facing endpoint, at [docs.alexlebens.dev](https://docs.alexlebens.dev)</Aside>
|
||||
19
src/content/docs/applications/site-profile.mdx
Normal file
19
src/content/docs/applications/site-profile.mdx
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: Site Profile
|
||||
description: Personal site made with Astro for blogging and information about myself.
|
||||
hero:
|
||||
tagline: Personal site made with Astro for blogging and information about myself.
|
||||
image:
|
||||
file: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/logo-new-round.svg
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://gitea.alexlebens.dev/alexlebens/site-profile
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/site-profile
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
<Aside>This app has public facing endpoint, at [www.alexlebens.dev](https://www.alexlebens.dev)</Aside>
|
||||
19
src/content/docs/applications/site-saralebens.mdx
Normal file
19
src/content/docs/applications/site-saralebens.mdx
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: Site Sara Lebens
|
||||
description: Personal site made with Astro for information about Sara Lebens.
|
||||
hero:
|
||||
tagline: Personal site made with Astro for information about Sara Lebens.
|
||||
image:
|
||||
file: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/logo-new-round.svg
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://gitea.alexlebens.dev/alexlebens/site-saralebens
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/site-saralebens
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
<Aside>This app has public facing endpoint, at [www.saralebens.com](https://www.saralebens.com)</Aside>
|
||||
15
src/content/docs/applications/slskd.mdx
Normal file
15
src/content/docs/applications/slskd.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: slskd
|
||||
description: A modern client-server application for the Soulseek file sharing network.
|
||||
hero:
|
||||
tagline: A modern client-server application for the Soulseek file sharing network.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/slskd.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/slskd/slskd
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/slskd
|
||||
icon: right-arrow
|
||||
---
|
||||
15
src/content/docs/applications/snapshot-controller.mdx
Normal file
15
src/content/docs/applications/snapshot-controller.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Snapshot Controller
|
||||
description: Sidecar container that watches Kubernetes Snapshot CRD objects and triggers CreateSnapshot/DeleteSnapshot against a CSI endpoint.
|
||||
hero:
|
||||
tagline: Sidecar container that watches Kubernetes Snapshot CRD objects and triggers CreateSnapshot/DeleteSnapshot against a CSI endpoint.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/kubernetes.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/kubernetes-csi/external-snapshotter
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/snapshot-controller
|
||||
icon: right-arrow
|
||||
---
|
||||
21
src/content/docs/applications/sonarr.mdx
Normal file
21
src/content/docs/applications/sonarr.mdx
Normal file
@@ -0,0 +1,21 @@
|
||||
---
|
||||
title: Sonarr
|
||||
description: Sonarr is a PVR for Usenet and BitTorrent users.
|
||||
hero:
|
||||
tagline: Sonarr is a PVR for Usenet and BitTorrent users.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/sonarr.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/Sonarr/Sonarr
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/sonarr
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart 4K
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/sonarr-4k
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart Anime
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/sonarr-anime
|
||||
icon: right-arrow
|
||||
---
|
||||
15
src/content/docs/applications/speedtest-exporter.mdx
Normal file
15
src/content/docs/applications/speedtest-exporter.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Speedtest Exporter
|
||||
description: Simple Speedtest exporter for Prometheus written in Python using the official CLI from Ookla.
|
||||
hero:
|
||||
tagline: Simple Speedtest exporter for Prometheus written in Python using the official CLI from Ookla.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/speedtest.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/MiguelNdeCarvalho/speedtest-exporter
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/speedtest-exporter
|
||||
icon: right-arrow
|
||||
---
|
||||
15
src/content/docs/applications/stack.mdx
Normal file
15
src/content/docs/applications/stack.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Stack
|
||||
description: App of Apps Chart to deploy infrastructure by ArgoCD.
|
||||
hero:
|
||||
tagline: App of Apps Chart to deploy infrastructure by ArgoCD.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/argo-cd.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/argoproj/argo-cd
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/stack
|
||||
icon: right-arrow
|
||||
---
|
||||
15
src/content/docs/applications/stalwart.mdx
Normal file
15
src/content/docs/applications/stalwart.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Stalwart
|
||||
description: All-in-one Mail & Collaboration server. Secure, scalable and fluent in every protocol (IMAP, JMAP, SMTP, CalDAV, CardDAV, WebDAV).
|
||||
hero:
|
||||
tagline: All-in-one Mail & Collaboration server. Secure, scalable and fluent in every protocol (IMAP, JMAP, SMTP, CalDAV, CardDAV, WebDAV).
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/stalwart.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/stalwartlabs/mail-server
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/stalwart
|
||||
icon: right-arrow
|
||||
---
|
||||
15
src/content/docs/applications/tailscale-operator.mdx
Normal file
15
src/content/docs/applications/tailscale-operator.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Tailscale Operator
|
||||
description: The easiest, most secure way to use WireGuard and 2FA.
|
||||
hero:
|
||||
tagline: The easiest, most secure way to use WireGuard and 2FA.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/tailscale-light.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/tailscale/tailscale
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/tailscale-operator
|
||||
icon: right-arrow
|
||||
---
|
||||
15
src/content/docs/applications/talos.mdx
Normal file
15
src/content/docs/applications/talos.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Talos
|
||||
description: Jobs to automate the maintainance of the underlying OS, Talos Linux.
|
||||
hero:
|
||||
tagline: Jobs to automate the maintainance of the underlying OS, Talos Linux.
|
||||
image:
|
||||
file: https://raw.githubusercontent.com/siderolabs/docs/3989ed11f0622252d7cee03b3ba3a3052be242d7/public/images/talos.svg
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/siderolabs/talos
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/talos
|
||||
icon: right-arrow
|
||||
---
|
||||
15
src/content/docs/applications/tdarr.mdx
Normal file
15
src/content/docs/applications/tdarr.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Tdarr
|
||||
description: Tdarr - Distributed transcode automation using FFmpeg/HandBrake + Audio/Video library analytics + video health checking.
|
||||
hero:
|
||||
tagline: Tdarr - Distributed transcode automation using FFmpeg/HandBrake + Audio/Video library analytics + video health checking.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/tdarr.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/HaveAGitGat/Tdarr
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/tdarr
|
||||
icon: right-arrow
|
||||
---
|
||||
15
src/content/docs/applications/traefik.mdx
Normal file
15
src/content/docs/applications/traefik.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Traefik
|
||||
description: Traefik (pronounced traffic) is a modern HTTP reverse proxy and load balancer that makes deploying microservices easy.
|
||||
hero:
|
||||
tagline: Traefik (pronounced traffic) is a modern HTTP reverse proxy and load balancer that makes deploying microservices easy.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/traefik.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/traefik/traefik
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/traefik
|
||||
icon: right-arrow
|
||||
---
|
||||
15
src/content/docs/applications/tubearchivist.mdx
Normal file
15
src/content/docs/applications/tubearchivist.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Tube Archivist
|
||||
description: Your self hosted YouTube media server.
|
||||
hero:
|
||||
tagline: Your self hosted YouTube media server.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/tube-archivist.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/tubearchivist/tubearchivist
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/tubearchivist
|
||||
icon: right-arrow
|
||||
---
|
||||
15
src/content/docs/applications/unpackerr.mdx
Normal file
15
src/content/docs/applications/unpackerr.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Unpackerr
|
||||
description: Extracts downloads for Radarr, Sonarr, Lidarr, Readarr, and/or a Watch folder - Deletes extracted files after import.
|
||||
hero:
|
||||
tagline: Extracts downloads for Radarr, Sonarr, Lidarr, Readarr, and/or a Watch folder - Deletes extracted files after import.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/unpackerr.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/Unpackerr/unpackerr
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/unpackerr
|
||||
icon: right-arrow
|
||||
---
|
||||
15
src/content/docs/applications/unpoller.mdx
Normal file
15
src/content/docs/applications/unpoller.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: UnPoller
|
||||
description: Collect your UniFi controller data and report it to an InfluxDB instance, or export it for Prometheus collection.
|
||||
hero:
|
||||
tagline: Collect your UniFi controller data and report it to an InfluxDB instance, or export it for Prometheus collection.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/ubiquiti-unifi.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/unpoller/unpoller
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/unpoller
|
||||
icon: right-arrow
|
||||
---
|
||||
15
src/content/docs/applications/vault.mdx
Normal file
15
src/content/docs/applications/vault.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Vault
|
||||
description: A tool for secrets management, encryption as a service, and privileged access management.
|
||||
hero:
|
||||
tagline: A tool for secrets management, encryption as a service, and privileged access management.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/hashicorp-vault.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/hashicorp/vault
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/vault
|
||||
icon: right-arrow
|
||||
---
|
||||
19
src/content/docs/applications/vaultwarden.mdx
Normal file
19
src/content/docs/applications/vaultwarden.mdx
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: Vaultwarden
|
||||
description: Unofficial Bitwarden compatible server written in Rust, formerly known as bitwarden_rs.
|
||||
hero:
|
||||
tagline: Unofficial Bitwarden compatible server written in Rust, formerly known as bitwarden_rs.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/vaultwarden.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/dani-garcia/vaultwarden
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/vaultwarden
|
||||
icon: right-arrow
|
||||
---
|
||||
|
||||
import { Aside } from '@astrojs/starlight/components';
|
||||
|
||||
<Aside>This app has public facing endpoint, at [passwords.alexlebens.dev](https://passwords.alexlebens.dev)</Aside>
|
||||
15
src/content/docs/applications/volsync.mdx
Normal file
15
src/content/docs/applications/volsync.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: VolSync
|
||||
description: VolSync asynchronously replicates Kubernetes persistent volumes between clusters using either rsync or rclone. It also supports creating backups of persistent volumes via restic.
|
||||
hero:
|
||||
tagline: VolSync asynchronously replicates Kubernetes persistent volumes between clusters using either rsync or rclone. It also supports creating backups of persistent volumes via restic.
|
||||
image:
|
||||
file: https://raw.githubusercontent.com/backube/volsync/main/docs/media/volsync.svg?sanitize=true
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/backube/volsync
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/volsync
|
||||
icon: right-arrow
|
||||
---
|
||||
15
src/content/docs/applications/whodb.mdx
Normal file
15
src/content/docs/applications/whodb.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: WhoDB
|
||||
description: A lightweight next-gen data explorer - Postgres, MySQL, SQLite, MongoDB, Redis, MariaDB, Elastic Search, and Clickhouse with Chat interface.
|
||||
hero:
|
||||
tagline: A lightweight next-gen data explorer - Postgres, MySQL, SQLite, MongoDB, Redis, MariaDB, Elastic Search, and Clickhouse with Chat interface.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/whodb.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/clidey/whodb
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/whodb
|
||||
icon: right-arrow
|
||||
---
|
||||
15
src/content/docs/applications/yamtrack.mdx
Normal file
15
src/content/docs/applications/yamtrack.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Yamtrack
|
||||
description: A self hosted media tracker.
|
||||
hero:
|
||||
tagline: A self hosted media tracker.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/yamtrack.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/FuzzyGrim/Yamtrack
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/yamtrack
|
||||
icon: right-arrow
|
||||
---
|
||||
15
src/content/docs/applications/yubal.mdx
Normal file
15
src/content/docs/applications/yubal.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: Yubal
|
||||
description: Self-hosted YouTube Music downloader. Tags, organizes, and keeps playlists in sync.
|
||||
hero:
|
||||
tagline: Self-hosted YouTube Music downloader. Tags, organizes, and keeps playlists in sync.
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/yubal.webp
|
||||
actions:
|
||||
- text: Source
|
||||
link: https://github.com/guillevc/yubal
|
||||
icon: right-arrow
|
||||
- text: Deployment Chart
|
||||
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/yubal
|
||||
icon: right-arrow
|
||||
---
|
||||
@@ -4,7 +4,7 @@ description: Steps followed to enable using Vault as a CA for ssh login
|
||||
hero:
|
||||
tagline: Steps followed for the v1.12.0 upgrade process
|
||||
image:
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/vault.webp
|
||||
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/hashicorp-vault.webp
|
||||
---
|
||||
|
||||
# Setup
|
||||
|
||||
@@ -14,14 +14,13 @@
|
||||
"isolatedModules": true,
|
||||
"jsx": "preserve",
|
||||
"incremental": true,
|
||||
"baseUrl": ".",
|
||||
"plugins": [
|
||||
{
|
||||
"name": "next"
|
||||
}
|
||||
],
|
||||
"paths": {
|
||||
"@/*": ["src/*"]
|
||||
"@/*": ["./src/*"]
|
||||
}
|
||||
},
|
||||
"include": [".astro/types.d.ts", "**/*"],
|
||||
|
||||
Reference in New Issue
Block a user