Compare commits

...

118 Commits

Author SHA1 Message Date
semantic-release-bot 51f1cb4090 chore(release): 0.19.0 [skip ci]
# [0.19.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.18.0...0.19.0) (2026-04-06)

### Features

* add more apps ([9b906fa](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/9b906fa18fd2cb4888bccc1bf0ba51ea795a12c3))
* change to mdx ([53cbb04](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/53cbb049ed717e3b4890af864c0ce0cd205c751e))
2026-04-06 00:10:35 +00:00
alexlebens 7a6e667a81 Merge pull request 'main' (#214) from main into release
release-image / guarddog (push) Successful in 1m9s
release-image / build (push) Successful in 1m22s
release-image / semantic-release (push) Successful in 51s
release-image / release-harbor (push) Has been skipped
release-image / release-gitea (push) Has been skipped
Reviewed-on: #214
2026-04-06 00:08:41 +00:00
alexlebens 53cbb049ed feat: change to mdx
test-build / guarddog (push) Successful in 1m8s
test-build / build (push) Successful in 1m52s
2026-04-05 19:05:44 -05:00
alexlebens 9b906fa18f feat: add more apps
test-build / guarddog (push) Successful in 1m1s
test-build / build (push) Successful in 1m30s
renovate / renovate (push) Successful in 1m34s
2026-04-05 18:48:22 -05:00
semantic-release-bot 8c2d625d12 chore(release): 0.18.0 [skip ci]
# [0.18.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.17.0...0.18.0) (2026-04-05)

### Features

* add more apps ([58a8faf](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/58a8faf79563a7570f69a1863a3f4b056352dc2f))
* add more apps ([3f3e353](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/3f3e35396e56a91662807971e5b09e6c25bb067a))
2026-04-05 02:40:49 +00:00
alexlebens 0af5a69d8a Merge pull request 'main' (#213) from main into release
release-image / guarddog (push) Successful in 53s
release-image / build (push) Successful in 1m33s
release-image / semantic-release (push) Successful in 59s
release-image / release-harbor (push) Successful in 5m13s
release-image / release-gitea (push) Successful in 4m54s
Reviewed-on: #213
2026-04-05 02:38:39 +00:00
alexlebens 58a8faf795 feat: add more apps
test-build / guarddog (push) Successful in 1m17s
test-build / build (push) Successful in 1m34s
renovate / renovate (push) Successful in 39s
2026-04-04 21:35:32 -05:00
alexlebens 3f3e35396e feat: add more apps
test-build / guarddog (push) Successful in 1m22s
test-build / build (push) Successful in 1m35s
2026-04-04 21:09:37 -05:00
semantic-release-bot ca33145e2d chore(release): 0.17.0 [skip ci]
# [0.17.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.16.0...0.17.0) (2026-04-05)

### Features

* add more apps ([f627fbe](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/f627fbe3165af551a546fff41ef26431a919ea02))
* add ntfy ([89649f9](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/89649f904f0304b5e1f41eaec4faa07a409f679d))
2026-04-05 00:46:27 +00:00
alexlebens 59f5f08d44 Merge pull request 'main' (#212) from main into release
release-image / guarddog (push) Successful in 50s
release-image / build (push) Successful in 2m3s
release-image / semantic-release (push) Successful in 1m26s
release-image / release-harbor (push) Has been cancelled
release-image / release-gitea (push) Successful in 5m34s
Reviewed-on: #212
2026-04-05 00:43:10 +00:00
alexlebens 89649f904f feat: add ntfy
test-build / guarddog (push) Successful in 1m0s
test-build / build (push) Successful in 7m15s
2026-04-04 19:25:55 -05:00
renovate-bot 1b650a411e chore(deps): update dependency eslint to v10.2.0
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m55s
test-build / guarddog (pull_request) Successful in 5m13s
test-build / build (push) Successful in 1m17s
test-build / guarddog (push) Successful in 2m37s
2026-04-05 00:02:33 +00:00
alexlebens f627fbe316 feat: add more apps
test-build / guarddog (push) Successful in 1m9s
test-build / build (push) Successful in 4m25s
renovate / renovate (push) Successful in 2m38s
2026-04-04 17:54:45 -05:00
semantic-release-bot f5776fdef8 chore(release): 0.16.0 [skip ci]
# [0.16.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.15.0...0.16.0) (2026-04-04)

### Features

* add more apps ([57aec90](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/57aec90c9e0c9b51c238a76a82f7d4f0a3a14195))
* add more apps ([425651b](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/425651bd309ba215ec1fbd618882e98b3fad17b4))
* add more apps ([2ccfeca](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/2ccfecaf63b623c0fc7a847d5d81ca8d54c991bd))
* add more apps ([76a568a](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/76a568a61bb35511d84deaeb86eadc2a4643b473))
* add more apps ([09567e2](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/09567e2c266fd1d2f66ba42f5ed6d3cb134216ae))
2026-04-04 01:37:32 +00:00
alexlebens b16abe43c9 Merge pull request 'main' (#210) from main into release
test-build / guarddog (push) Successful in 43s
test-build / build (push) Successful in 54s
release-image / guarddog (push) Successful in 3m58s
release-image / build (push) Successful in 4m12s
release-image / semantic-release (push) Successful in 2m35s
release-image / release-harbor (push) Successful in 7m51s
release-image / release-gitea (push) Successful in 6m14s
renovate / renovate (push) Successful in 1m32s
Reviewed-on: #210
2026-04-04 01:30:57 +00:00
alexlebens 57aec90c9e feat: add more apps
test-build / build (push) Successful in 55s
test-build / guarddog (push) Successful in 2m32s
2026-04-03 20:26:08 -05:00
alexlebens 425651bd30 feat: add more apps
test-build / guarddog (push) Successful in 33s
test-build / build (push) Successful in 4m25s
2026-04-03 19:50:16 -05:00
alexlebens 2ccfecaf63 feat: add more apps
test-build / guarddog (push) Successful in 4m29s
test-build / build (push) Successful in 8m19s
2026-04-03 19:16:25 -05:00
alexlebens 76a568a61b feat: add more apps
test-build / guarddog (push) Successful in 27s
test-build / build (push) Successful in 44s
renovate / renovate (push) Successful in 1m11s
2026-04-02 20:25:35 -05:00
semantic-release-bot a25d7e27b7 chore(release): 0.15.0 [skip ci]
# [0.15.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.14.0...0.15.0) (2026-04-02)

### Features

* add more apps ([3ce50ce](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/3ce50ceccd12c8059f3c5146f6c0ad90d75c47b7))
2026-04-02 00:57:23 +00:00
alexlebens 09567e2c26 feat: add more apps
test-build / build (push) Successful in 1m23s
test-build / guarddog (push) Successful in 3m40s
renovate / renovate (push) Successful in 1m59s
2026-04-01 19:46:15 -05:00
alexlebens 3ce50ceccd feat: add more apps
test-build / guarddog (push) Successful in 2m13s
test-build / build (push) Successful in 5m16s
renovate / renovate (push) Successful in 1m50s
release-image / guarddog (push) Successful in 25s
release-image / build (push) Successful in 4m55s
release-image / semantic-release (push) Successful in 59s
release-image / release-harbor (push) Successful in 3m37s
release-image / release-gitea (push) Successful in 1m52s
2026-04-01 18:50:16 -05:00
semantic-release-bot 6eda19b09c chore(release): 0.14.0 [skip ci]
# [0.14.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.13.0...0.14.0) (2026-04-01)

### Bug Fixes

* **deps:** pin dependencies ([75a9af6](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/75a9af6d0b907c90dba7b0969624c1daee8a0435))

### Features

* add homepage ([d894615](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/d8946158b04f49876cc9aff79004f92ccbea6a1c))
* change code theme ([dbe3d5c](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/dbe3d5cdd20321ef276c3e36ca8877ada7739486))
2026-04-01 21:55:09 +00:00
alexlebens 6dd50c7c0b Merge pull request 'main' (#208) from main into release
release-image / guarddog (push) Successful in 17s
release-image / build (push) Successful in 1m29s
release-image / semantic-release (push) Successful in 42s
release-image / release-harbor (push) Successful in 9m7s
release-image / release-gitea (push) Successful in 10m38s
Reviewed-on: #208
2026-04-01 21:52:52 +00:00
renovate-bot 75a9af6d0b fix(deps): pin dependencies
renovate/stability-days Updates have not met minimum release age requirement
test-build / guarddog (pull_request) Successful in 34s
test-build / build (pull_request) Successful in 1m52s
test-build / guarddog (push) Successful in 31s
test-build / build (push) Successful in 3m4s
2026-04-01 21:40:36 +00:00
alexlebens 335db34a6b ci: set to pin
test-build / build (push) Successful in 2m55s
test-build / guarddog (push) Successful in 2m58s
2026-04-01 16:39:00 -05:00
alexlebens a925d68e38 ci: add range strategy
test-build / guarddog (push) Successful in 35s
test-build / build (push) Has been cancelled
2026-04-01 16:35:53 -05:00
alexlebens 4282d575be ci: set to debug log
renovate / renovate (push) Successful in 1m5s
2026-03-31 22:11:39 -05:00
alexlebens dbe3d5cdd2 feat: change code theme
test-build / guarddog (push) Successful in 24s
test-build / build (push) Successful in 54s
2026-03-31 22:10:15 -05:00
alexlebens d8946158b0 feat: add homepage
test-build / guarddog (push) Successful in 39s
test-build / build (push) Successful in 1m0s
2026-03-31 21:17:13 -05:00
semantic-release-bot 816ee9d110 chore(release): 0.13.0 [skip ci]
# [0.13.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.12.0...0.13.0) (2026-03-31)

### Features

* documentation on vault ssh ([648fb31](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/648fb319b192ecd7826fe03599f7a0ee55a419ea))
2026-03-31 21:47:38 +00:00
alexlebens b03e2039d1 Merge pull request 'feat: documentation on vault ssh' (#205) from main into release
release-image / guarddog (push) Successful in 2m24s
release-image / build (push) Successful in 4m48s
release-image / semantic-release (push) Successful in 3m27s
release-image / release-harbor (push) Successful in 8m46s
release-image / release-gitea (push) Successful in 13m46s
Reviewed-on: #205
2026-03-31 21:39:34 +00:00
alexlebens 648fb319b1 feat: documentation on vault ssh
renovate / renovate (push) Successful in 1m6s
2026-03-31 16:27:34 -05:00
semantic-release-bot bac794bdc4 chore(release): 0.12.0 [skip ci]
# [0.12.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.11.0...0.12.0) (2026-03-30)

### Features

* add more apps ([e13f3e3](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/e13f3e30e2a73a712008f65cc5932cbe1e71adb2))
* add more apps ([ef4ff67](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/ef4ff67818d2758e21b9f0076519ca9221f74bb0))
* add more apps ([32eacf8](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/32eacf8df7cd07eaf33a46d9df88e22f22d0cbf6))
2026-03-30 02:08:01 +00:00
alexlebens 5be099fe02 Merge pull request 'main' (#204) from main into release
release-image / guarddog (push) Successful in 1m41s
release-image / build (push) Successful in 2m42s
release-image / semantic-release (push) Successful in 2m0s
test-build / guarddog (push) Successful in 16s
test-build / build (push) Successful in 43s
release-image / release-harbor (push) Successful in 6m54s
release-image / release-gitea (push) Successful in 5m42s
renovate / renovate (push) Successful in 30s
Reviewed-on: #204
2026-03-30 02:03:28 +00:00
alexlebens e13f3e30e2 feat: add more apps
test-build / build (push) Successful in 2m47s
test-build / guarddog (push) Successful in 4m0s
2026-03-29 20:41:20 -05:00
alexlebens ef4ff67818 feat: add more apps
test-build / guarddog (push) Successful in 2m9s
test-build / build (push) Successful in 3m30s
renovate / renovate (push) Successful in 1m17s
2026-03-27 21:32:40 -05:00
alexlebens 32eacf8df7 feat: add more apps
test-build / guarddog (push) Successful in 22s
test-build / build (push) Successful in 44s
renovate / renovate (push) Successful in 55s
2026-03-26 20:52:03 -05:00
semantic-release-bot 69a49f914a chore(release): 0.11.0 [skip ci]
# [0.11.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.10.0...0.11.0) (2026-03-27)

### Features

* add more apps ([2221cbb](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/2221cbb0993595d7b8641fa4ffbc2fe874cdff39))
* add more apps ([82736ec](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/82736ec2a95db97abc7337ec1849dbb97a0fca5e))
2026-03-27 01:09:11 +00:00
alexlebens 2221cbb099 feat: add more apps
test-build / guarddog (push) Successful in 16s
test-build / build (push) Successful in 38s
release-image / guarddog (push) Successful in 22s
release-image / build (push) Successful in 29s
release-image / semantic-release (push) Successful in 17s
release-image / release-harbor (push) Successful in 5m28s
release-image / release-gitea (push) Successful in 2m6s
2026-03-26 20:00:11 -05:00
alexlebens 82736ec2a9 feat: add more apps
test-build / guarddog (push) Successful in 13s
test-build / build (push) Successful in 31s
2026-03-26 19:17:08 -05:00
semantic-release-bot 97b18372b5 chore(release): 0.10.0 [skip ci]
# [0.10.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.9.0...0.10.0) (2026-03-26)

### Features

* add more apps ([33b64b0](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/33b64b0122a8ff734e632d0fdcaf92a474e1d631))
2026-03-26 23:28:00 +00:00
alexlebens 6a5129edcc Merge pull request 'main' (#202) from main into release
release-image / guarddog (push) Successful in 27s
release-image / build (push) Successful in 33s
release-image / semantic-release (push) Successful in 18s
release-image / release-harbor (push) Successful in 1m54s
release-image / release-gitea (push) Successful in 1m16s
Reviewed-on: #202
2026-03-26 23:27:13 +00:00
alexlebens 33b64b0122 feat: add more apps
test-build / guarddog (push) Successful in 28s
test-build / build (push) Successful in 43s
renovate / renovate (push) Successful in 44s
2026-03-26 18:25:32 -05:00
renovate-bot e331eb2fb6 chore(deps): update dependency typescript to v6
renovate/stability-days Updates have met minimum release age requirement
test-build / guarddog (pull_request) Successful in 17s
test-build / build (pull_request) Successful in 1m27s
test-build / build (push) Successful in 47s
test-build / guarddog (push) Successful in 1m47s
2026-03-26 06:01:05 +00:00
semantic-release-bot cc567738de chore(release): 0.9.0 [skip ci]
# [0.9.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.8.0...0.9.0) (2026-03-26)

### Features

* add more apps ([28910c8](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/28910c8ee57a2436cbe1ca01e95b85d8600f360e))
* collapse apps by default, too many ([79b2f0d](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/79b2f0d1c89da74693ffddd78460197cd3d91bd5))
2026-03-26 01:41:58 +00:00
alexlebens 82187855d8 Merge pull request 'main' (#201) from main into release
release-image / build (push) Successful in 57s
test-build / guarddog (push) Successful in 30s
test-build / build (push) Successful in 1m6s
release-image / guarddog (push) Successful in 18s
release-image / semantic-release (push) Successful in 1m56s
release-image / release-harbor (push) Successful in 3m34s
release-image / release-gitea (push) Successful in 5m30s
renovate / renovate (push) Successful in 46s
Reviewed-on: #201
2026-03-26 01:34:31 +00:00
alexlebens 28910c8ee5 feat: add more apps
test-build / guarddog (push) Successful in 45s
test-build / build (push) Successful in 1m7s
2026-03-25 20:32:58 -05:00
renovate-bot 9bbdd65be9 chore(deps): update dependency node to v24.14.1
test-build / guarddog (pull_request) Successful in 2m31s
test-build / build (pull_request) Successful in 3m51s
renovate / renovate (push) Successful in 1m11s
2026-03-25 06:01:46 +00:00
semantic-release-bot 56f97d1e9c chore(release): 0.8.0 [skip ci]
# [0.8.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.7.0...0.8.0) (2026-03-25)

### Features

* add more apps ([c69fde3](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/c69fde38f93cd8f8fe50503c7e3b0523eeb73775))
2026-03-25 01:57:21 +00:00
alexlebens 79b2f0d1c8 feat: collapse apps by default, too many
test-build / build (push) Successful in 44s
test-build / guarddog (push) Successful in 3m37s
renovate / renovate (push) Successful in 1m5s
2026-03-24 20:56:41 -05:00
alexlebens 39b446589a Merge pull request 'feat: add more apps' (#199) from main into release
release-image / build (push) Successful in 25s
release-image / guarddog (push) Successful in 34s
release-image / semantic-release (push) Successful in 25s
release-image / release-harbor (push) Successful in 1m48s
release-image / release-gitea (push) Successful in 5m25s
Reviewed-on: #199
2026-03-25 01:46:56 +00:00
alexlebens c69fde38f9 feat: add more apps
test-build / guarddog (push) Successful in 41s
test-build / build (push) Successful in 1m4s
2026-03-24 20:37:58 -05:00
semantic-release-bot 7a7a348a3a chore(release): 0.7.0 [skip ci]
# [0.7.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.6.0...0.7.0) (2026-03-25)

### Features

* add more apps ([8e49a12](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/8e49a12511f26de4060ff2aaef0f707446e210bd))
* change schedule ([4077d32](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/4077d3289cd2a87d8499b31eb6a70fd460aa72e4))
2026-03-25 00:20:17 +00:00
alexlebens 8e49a12511 feat: add more apps
test-build / guarddog (push) Successful in 2m37s
test-build / build (push) Successful in 4m11s
release-image / guarddog (push) Successful in 2m5s
release-image / build (push) Successful in 3m1s
release-image / semantic-release (push) Successful in 24s
release-image / release-harbor (push) Successful in 4m24s
release-image / release-gitea (push) Successful in 4m32s
2026-03-24 19:09:57 -05:00
alexlebens 4077d3289c feat: change schedule
renovate / renovate (push) Successful in 29s
2026-03-23 11:01:49 -05:00
alexlebens 9e5ad9cc73 Merge branch 'release'
test-build / guarddog (push) Successful in 18s
renovate / renovate (push) Successful in 44s
test-build / build (push) Successful in 2m49s
2026-03-22 23:13:05 -05:00
semantic-release-bot c6a6655aa1 chore(release): 0.6.0 [skip ci]
# [0.6.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.5.0...0.6.0) (2026-03-23)

### Features

* add more apps ([ce3d1a4](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/ce3d1a4a27d3e7850f05cc91fd3e1bae42ef5cea))
2026-03-23 04:03:45 +00:00
alexlebens ce3d1a4a27 feat: add more apps
release-image / guarddog (push) Successful in 34s
release-image / build (push) Successful in 47s
release-image / semantic-release (push) Successful in 22s
release-image / release-harbor (push) Successful in 2m46s
release-image / release-gitea (push) Successful in 2m39s
2026-03-22 23:02:40 -05:00
semantic-release-bot ff24eed9ef chore(release): 0.5.0 [skip ci]
# [0.5.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.4.0...0.5.0) (2026-03-23)

### Features

* add argo-cd ([36be56e](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/36be56e4502cbc40a7380ef1f7124b002ba7c583))
2026-03-23 00:54:15 +00:00
alexlebens 36be56e450 feat: add argo-cd
release-image / guarddog (push) Successful in 14s
release-image / build (push) Successful in 34s
release-image / semantic-release (push) Successful in 26s
release-image / release-harbor (push) Successful in 1m46s
release-image / release-gitea (push) Successful in 1m42s
2026-03-22 19:52:59 -05:00
semantic-release-bot f47f5f2409 chore(release): 0.4.0 [skip ci]
# [0.4.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.3.0...0.4.0) (2026-03-23)

### Bug Fixes

* remove react deps ([5e97a52](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/5e97a524ba045398267f80f55c40288ab40f0d47))

### Features

* add and update pre-commit ([95805dc](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/95805dcd071dd08e1e6451d96b2d0d1058abedaf))
* add applications, actual ([e21d142](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/e21d1426d23c7deee7ccd415e8ad528f3a9c0b08))
* add argo-workflows ([abde3db](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/abde3db3c76a37ffda8232f8293b8b402eaef81e))
* merge ([a3e6e65](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/a3e6e65c79a92d34cc4b0fffdbba7719bcb14b5d))
* remove splash template ([3fecb72](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/3fecb72e89af7eac1d4fa04e7ec5280c6cf546c8))
2026-03-23 00:08:13 +00:00
alexlebens a3e6e65c79 feat: merge
release-image / guarddog (push) Successful in 13s
release-image / build (push) Successful in 37s
release-image / semantic-release (push) Successful in 31s
release-image / release-harbor (push) Successful in 2m14s
release-image / release-gitea (push) Successful in 1m44s
2026-03-22 19:07:06 -05:00
alexlebens 9b03c4e6d5 Release (#195)
release-image / guarddog (push) Successful in 19s
release-image / build (push) Successful in 30s
release-image / semantic-release (push) Successful in 16s
release-image / release-harbor (push) Has been skipped
release-image / release-gitea (push) Has been skipped
renovate / renovate (push) Successful in 23s
Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net>
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Reviewed-on: #195
2026-03-22 23:40:02 +00:00
alexlebens abde3db3c7 feat: add argo-workflows
test-build / guarddog (push) Successful in 19s
renovate / renovate (push) Successful in 26s
test-build / build (push) Successful in 31s
2026-03-22 18:34:43 -05:00
alexlebens 3fecb72e89 feat: remove splash template
test-build / guarddog (push) Successful in 28s
test-build / build (push) Successful in 51s
renovate / renovate (push) Successful in 1m17s
2026-03-22 16:40:03 -05:00
alexlebens e21d1426d2 feat: add applications, actual
test-build / build (push) Failing after 0s
renovate / renovate (push) Has been cancelled
test-build / guarddog (push) Has been cancelled
2026-03-22 16:39:41 -05:00
renovate-bot bfe3395c00 chore(deps): update dependency bun to v1.3.11 (#194)
renovate / renovate (push) Successful in 32s
2026-03-19 04:12:28 +00:00
renovate-bot 171182a242 chore(deps): update dhi.io/bun docker tag to v1.3.11 (#193)
test-build / guarddog (push) Successful in 23s
test-build / build (push) Successful in 1m5s
renovate / renovate (push) Successful in 1m13s
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [dhi.io/bun](https://dhi.io/catalog/bun) ([source](https://github.com/docker-hardened-images/definitions)) | final | patch | `1.3.10-alpine3.22` → `1.3.11-alpine3.22` |
| [dhi.io/bun](https://dhi.io/catalog/bun) ([source](https://github.com/docker-hardened-images/definitions)) | stage | patch | `1.3.10-alpine3.22-dev` → `1.3.11-alpine3.22-dev` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: #193
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-19 04:11:08 +00:00
alexlebens 3259db18ce ci: set version to zero as versioning is managed in release workflow
test-build / guarddog (push) Successful in 25s
test-build / build (push) Successful in 52s
renovate / renovate (push) Successful in 1m10s
2026-03-16 20:00:20 -05:00
alexlebens c55b0de4fd ci: add semantic-release npm to manage package version 2026-03-16 19:59:36 -05:00
alexlebens 5e97a524ba fix: remove react deps 2026-03-16 19:58:02 -05:00
alexlebens 643ef9bfa5 Release (#189)
test-build / build (push) Successful in 53s
test-build / guarddog (push) Successful in 2m50s
renovate / renovate (push) Successful in 2m32s
Reviewed-on: #189
2026-03-15 17:02:42 -05:00
semantic-release-bot a1174b5287 chore(release): 0.3.0 [skip ci]
# [0.3.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.2.0...0.3.0) (2026-03-15)

### Features

* add and update pre-commit ([972bbff](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/972bbffb41020489508660c261559b0e6c806ca6))
2026-03-15 17:02:42 -05:00
alexlebens 95805dcd07 feat: add and update pre-commit 2026-03-15 17:02:42 -05:00
semantic-release-bot 8db0155faa chore(release): 0.2.0 [skip ci]
# [0.2.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.1.7...0.2.0) (2026-03-12)

### Features

* add robots ([4ef4353](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/4ef43534a0f26bc5593258c9cd6a31d62283929d))
* switch to bun ([7413830](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/74138302a4c2ad45a850459c47a17dd09014f3ad))
* trigger minor version update ([7a9b62d](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/7a9b62dc048ffd947bb6dd41523091bbc9346e84))
* use alpine-dev for bun builder ([4575bfb](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/4575bfb9138bc9ca5f9d93e845155fc56d3a8491))
2026-03-15 17:02:42 -05:00
semantic-release-bot ff1610748d chore(release): 0.3.0 [skip ci]
# [0.3.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.2.0...0.3.0) (2026-03-15)

### Features

* add and update pre-commit ([972bbff](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/972bbffb41020489508660c261559b0e6c806ca6))
2026-03-15 21:58:15 +00:00
alexlebens 972bbffb41 feat: add and update pre-commit
release-image / guarddog (push) Successful in 26s
release-image / build (push) Successful in 37s
release-image / semantic-release (push) Successful in 23s
release-image / release-harbor (push) Successful in 4m25s
release-image / release-gitea (push) Successful in 3m32s
2026-03-15 16:57:14 -05:00
semantic-release-bot 1ae7bf44f1 chore(release): 0.2.0 [skip ci]
# [0.2.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.1.7...0.2.0) (2026-03-12)

### Features

* add robots ([4ef4353](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/4ef43534a0f26bc5593258c9cd6a31d62283929d))
* switch to bun ([7413830](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/74138302a4c2ad45a850459c47a17dd09014f3ad))
* trigger minor version update ([7a9b62d](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/7a9b62dc048ffd947bb6dd41523091bbc9346e84))
* use alpine-dev for bun builder ([4575bfb](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/4575bfb9138bc9ca5f9d93e845155fc56d3a8491))
2026-03-12 21:51:24 +00:00
alexlebens 15af720e9a Merge branch 'release' into main
renovate / renovate (push) Successful in 47s
2026-03-12 21:45:45 +00:00
alexlebens c5073389f3 Release (#190)
release-image / build (push) Successful in 59s
release-image / guarddog (push) Successful in 59s
release-image / semantic-release (push) Successful in 17s
release-image / release-harbor (push) Has been skipped
release-image / release-gitea (push) Has been skipped
Reviewed-on: #190
2026-03-12 21:41:08 +00:00
alexlebens 7a9b62dc04 feat: trigger minor version update
renovate / renovate (push) Successful in 1m10s
release-image / guarddog (push) Successful in 23s
release-image / build (push) Successful in 2m0s
release-image / semantic-release (push) Successful in 31s
release-image / release-harbor (push) Successful in 3m32s
release-image / release-gitea (push) Successful in 4m55s
2026-03-12 16:40:21 -05:00
alexlebens 5dcce08aa9 Release (#189)
release-image / build (push) Successful in 1m7s
release-image / semantic-release (push) Successful in 16s
release-image / guarddog (push) Successful in 58s
release-image / release-harbor (push) Has been skipped
release-image / release-gitea (push) Has been skipped
Reviewed-on: #189
2026-03-12 21:34:39 +00:00
alexlebens d84625c052 Merge branch 'release' into main
renovate / renovate (push) Successful in 57s
2026-03-12 21:34:14 +00:00
alexlebens 774eb707a3 Release (#188)
release-image / build (push) Successful in 31s
release-image / guarddog (push) Successful in 1m2s
release-image / semantic-release (push) Successful in 28s
release-image / release-harbor (push) Has been skipped
release-image / release-gitea (push) Has been skipped
Reviewed-on: #188
2026-03-12 21:25:55 +00:00
alexlebens 4575bfb913 feat: use alpine-dev for bun builder
test-build / guarddog (push) Successful in 19s
test-build / build (push) Successful in 31s
renovate / renovate (push) Successful in 35s
2026-03-12 16:24:10 -05:00
alexlebens a9dff234c4 ci: remove auth test
renovate / renovate (push) Successful in 1m2s
2026-03-12 16:20:42 -05:00
alexlebens 3cfac19e9b ci: test auth
renovate / renovate (push) Failing after 41s
2026-03-12 16:13:10 -05:00
alexlebens 3af200c8ff ci: enable debug logging
renovate / renovate (push) Successful in 45s
2026-03-12 16:03:27 -05:00
alexlebens 50ed4d4ff9 ci: add dhi creds
renovate / renovate (push) Successful in 28s
2026-03-12 15:56:00 -05:00
alexlebens 225790414b chore(deps): update deps
renovate / renovate (push) Successful in 32s
test-build / guarddog (push) Successful in 1m7s
test-build / build (push) Successful in 2m0s
2026-03-12 15:51:07 -05:00
alexlebens 47e5938bf7 ci: use semantic release, release branch, and merge release workflows 2026-03-12 15:50:58 -05:00
alexlebens 4ef43534a0 feat: add robots 2026-03-12 15:49:44 -05:00
alexlebens 74138302a4 feat: switch to bun 2026-03-12 15:49:32 -05:00
renovate-bot 6161f58468 chore(deps): update astro monorepo (#185)
test-build / build (push) Successful in 49s
test-build / guarddog (push) Successful in 23s
renovate / renovate (push) Successful in 1m34s
2026-03-10 19:28:23 +00:00
renovate-bot eb76550fb0 chore(deps): update typescript-eslint monorepo to v8.57.0 (#184)
test-build / guarddog (push) Successful in 17s
renovate / renovate (push) Successful in 1m7s
test-build / build (push) Successful in 1m24s
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|---|---|
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`8.56.1` → `8.57.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.56.1/8.57.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/8.57.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/8.57.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/8.56.1/8.57.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/8.56.1/8.57.0?slim=true) |
| [typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)) | [`8.56.1` → `8.57.0`](https://renovatebot.com/diffs/npm/typescript-eslint/8.56.1/8.57.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/typescript-eslint/8.57.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript-eslint/8.57.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript-eslint/8.56.1/8.57.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript-eslint/8.56.1/8.57.0?slim=true) |

---

### Release Notes

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/parser)</summary>

### [`v8.57.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8570-2026-03-09)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.56.1...v8.57.0)

This was a version bump only for parser to align it with other projects, there were no code changes.

See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.0) for more information.

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

</details>

<details>
<summary>typescript-eslint/typescript-eslint (typescript-eslint)</summary>

### [`v8.57.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8570-2026-03-09)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.56.1...v8.57.0)

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.0) for more information.

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jeSJdfQ==-->

Reviewed-on: #184
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-10 18:45:56 +00:00
renovate-bot 2b7b853962 chore(deps): update dependency motion to v12.35.2 (#183)
test-build / guarddog (push) Successful in 28s
renovate / renovate (push) Successful in 1m18s
test-build / build (push) Successful in 1m31s
2026-03-10 03:26:01 +00:00
renovate-bot 63e6ecd824 chore(deps): update dependency motion to v12.35.1 (#182)
test-build / guarddog (push) Successful in 16s
test-build / build (push) Successful in 1m39s
renovate / renovate (push) Successful in 1m25s
2026-03-09 00:02:46 +00:00
renovate-bot 1304c0c745 chore(deps): update dependency eslint to v10.0.3 (#181)
test-build / guarddog (push) Successful in 26s
test-build / build (push) Successful in 40s
renovate / renovate (push) Successful in 2m10s
2026-03-07 01:09:35 +00:00
renovate-bot 7aef8cac08 chore(deps): update dependency @astrojs/starlight to v0.37.7 (#180)
test-build / build (push) Successful in 40s
renovate / renovate (push) Has been cancelled
test-build / guarddog (push) Has been cancelled
2026-03-07 01:08:49 +00:00
alexlebens 3516726458 feat: release 0.1.7
test-build / guarddog (push) Successful in 42s
test-build / build (push) Successful in 1m7s
release-image-gitea / build (push) Successful in 1m9s
release-image-harbor / build (push) Successful in 1m25s
release-image-gitea / release (push) Successful in 3m0s
release-image-harbor / release (push) Successful in 3m36s
renovate / renovate (push) Successful in 1m1s
2026-03-05 17:25:04 -06:00
renovate-bot fbf40dca3b chore(deps): update docker/setup-buildx-action action to v4 (#179)
test-build / build (push) Successful in 47s
renovate / renovate (push) Successful in 1m17s
test-build / guarddog (push) Successful in 1m49s
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) | action | major | `v3` → `v4` |

---

### Release Notes

<details>
<summary>docker/setup-buildx-action (docker/setup-buildx-action)</summary>

### [`v4`](https://github.com/docker/setup-buildx-action/compare/v3...v4)

[Compare Source](https://github.com/docker/setup-buildx-action/compare/v3...v4)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41MS4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTEuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: #179
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-05 23:20:17 +00:00
renovate-bot 9dd9cc9d47 chore(deps): update docker/metadata-action action to v6 (#178)
renovate / renovate (push) Successful in 1m11s
test-build / guarddog (push) Successful in 27s
test-build / build (push) Has been cancelled
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [docker/metadata-action](https://github.com/docker/metadata-action) | action | major | `v5` → `v6` |

---

### Release Notes

<details>
<summary>docker/metadata-action (docker/metadata-action)</summary>

### [`v6`](https://github.com/docker/metadata-action/compare/v5...v6)

[Compare Source](https://github.com/docker/metadata-action/compare/v5...v6)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41MS4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTEuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: #178
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-05 23:18:16 +00:00
renovate-bot 069edc7348 chore(deps): update docker/build-push-action action to v7 (#177)
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
test-build / guarddog (push) Has been cancelled
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [docker/build-push-action](https://github.com/docker/build-push-action) | action | major | `v6` → `v7` |

---

### Release Notes

<details>
<summary>docker/build-push-action (docker/build-push-action)</summary>

### [`v7`](https://github.com/docker/build-push-action/compare/v6...v7)

[Compare Source](https://github.com/docker/build-push-action/compare/v6...v7)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41MS4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTEuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: #177
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-05 23:17:07 +00:00
renovate-bot 1dea5221d1 chore(deps): update dependency motion to v12.35.0 (#176)
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
test-build / guarddog (push) Has been cancelled
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|---|---|
| [motion](https://github.com/motiondivision/motion) | [`12.34.5` → `12.35.0`](https://renovatebot.com/diffs/npm/motion/12.34.5/12.35.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/motion/12.35.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/motion/12.35.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/motion/12.34.5/12.35.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/motion/12.34.5/12.35.0?slim=true) |

---

### Release Notes

<details>
<summary>motiondivision/motion (motion)</summary>

### [`v12.35.0`](https://github.com/motiondivision/motion/blob/HEAD/CHANGELOG.md#12350-2026-03-03)

[Compare Source](https://github.com/motiondivision/motion/compare/v12.34.5...v12.35.0)

##### Added

- `ViewTimeline` support for `scroll` and `useScroll`.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41MS4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTEuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jeSJdfQ==-->

Reviewed-on: #176
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-05 23:16:14 +00:00
renovate-bot eac9c5d7a2 chore(deps): update docker/login-action action to v4 (#175)
test-build / guarddog (push) Successful in 37s
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [docker/login-action](https://github.com/docker/login-action) | action | major | `v3` → `v4` |

---

### Release Notes

<details>
<summary>docker/login-action (docker/login-action)</summary>

### [`v4`](https://github.com/docker/login-action/compare/v3...v4)

[Compare Source](https://github.com/docker/login-action/compare/v3...v4)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41MS4xIiwidXBkYXRlZEluVmVyIjoiNDMuNTEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: #175
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-05 23:13:30 +00:00
renovate-bot 7167994edc chore(deps): update dependency motion to v12.34.5 (#174)
test-build / build (push) Successful in 2m20s
test-build / guarddog (push) Successful in 3m52s
renovate / renovate (push) Successful in 1m19s
2026-03-03 22:09:50 +00:00
renovate-bot 6ae2eaf62d chore(deps): update dependency motion to v12.34.4 (#173)
renovate / renovate (push) Successful in 1m7s
test-build / guarddog (push) Successful in 4m9s
test-build / build (push) Successful in 4m29s
2026-03-03 21:09:29 +00:00
alexlebens b04f0c8654 feat: release 0.1.6
test-build / guarddog (push) Successful in 45s
test-build / build (push) Successful in 1m38s
release-image-harbor / build (push) Successful in 2m57s
release-image-gitea / build (push) Successful in 44s
release-image-harbor / release (push) Successful in 6m24s
release-image-gitea / release (push) Successful in 4m11s
renovate / renovate (push) Successful in 1m34s
2026-02-25 20:00:01 -06:00
alexlebens 6c7eb8f043 chore(deps): update node 2026-02-25 19:59:44 -06:00
alexlebens cf71334b60 chore(deps): update deps 2026-02-25 19:59:44 -06:00
renovate-bot 8abf649510 chore(deps): update dependency node to v24.14.0 (#171)
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
test-build / guarddog (push) Has been cancelled
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [node](https://github.com/actions/node-versions) | uses-with | minor | `24.13.1` → `24.14.0` |

---

### Release Notes

<details>
<summary>actions/node-versions (node)</summary>

### [`v24.14.0`](https://github.com/actions/node-versions/releases/tag/24.14.0-22380502845): 24.14.0

[Compare Source](https://github.com/actions/node-versions/compare/24.13.1-21889660756...24.14.0-22380502845)

Node.js 24.14.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNS43IiwidXBkYXRlZEluVmVyIjoiNDMuMjUuNyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: #171
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-02-26 01:59:11 +00:00
renovate-bot ddb3aaa186 chore(deps): update dependency astro to v5.18.0 (#172)
renovate / renovate (push) Successful in 1m47s
test-build / guarddog (push) Successful in 1m5s
test-build / build (push) Successful in 1m49s
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|---|---|
| [astro](https://astro.build) ([source](https://github.com/withastro/astro/tree/HEAD/packages/astro)) | [`5.17.3` → `5.18.0`](https://renovatebot.com/diffs/npm/astro/5.17.3/5.18.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/astro/5.18.0?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/astro/5.18.0?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/astro/5.17.3/5.18.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/astro/5.17.3/5.18.0?slim=true) |

---

### Release Notes

<details>
<summary>withastro/astro (astro)</summary>

### [`v5.18.0`](https://github.com/withastro/astro/releases/tag/astro%405.18.0)

[Compare Source](https://github.com/withastro/astro/compare/astro@5.17.3...astro@5.18.0)

##### Minor Changes

- [#&#8203;15589](https://github.com/withastro/astro/pull/15589) [`b7dd447`](https://github.com/withastro/astro/commit/b7dd447e319a7b435c01ccd69347e5261bd9dc14) Thanks [@&#8203;qzio](https://github.com/qzio)! - Adds a new `security.actionBodySizeLimit` option to configure the maximum size of Astro Actions request bodies.

  This lets you increase the default 1 MB limit when your actions need to accept larger payloads. For example, actions that handle file uploads or large JSON payloads can now opt in to a higher limit.

  If you do not set this option, Astro continues to enforce the 1 MB default to help prevent abuse.

  ```js
  // astro.config.mjs
  export default defineConfig({
    security: {
      actionBodySizeLimit: 10 * 1024 * 1024, // set to 10 MB
    },
  });
  ```

##### Patch Changes

- [#&#8203;15594](https://github.com/withastro/astro/pull/15594) [`efae11c`](https://github.com/withastro/astro/commit/efae11cef1ebe1f2f54ceb55db0d1ff1938351c6) Thanks [@&#8203;qzio](https://github.com/qzio)! - Fix X-Forwarded-Proto validation when allowedDomains includes both protocol and hostname fields. The protocol check no longer fails due to hostname mismatch against the hardcoded test URL.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNS43IiwidXBkYXRlZEluVmVyIjoiNDMuMjUuNyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jeSJdfQ==-->

Reviewed-on: #172
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-02-26 01:55:45 +00:00
renovate-bot 98f84f892d chore(deps): update typescript-eslint monorepo to v8.56.1 (#169)
test-build / guarddog (push) Successful in 41s
test-build / build (push) Successful in 1m24s
renovate / renovate (push) Successful in 2m56s
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|---|---|
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`8.56.0` → `8.56.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/8.56.0/8.56.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/8.56.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/8.56.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/8.56.0/8.56.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/8.56.0/8.56.1?slim=true) |
| [typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)) | [`8.56.0` → `8.56.1`](https://renovatebot.com/diffs/npm/typescript-eslint/8.56.0/8.56.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/typescript-eslint/8.56.1?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript-eslint/8.56.1?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript-eslint/8.56.0/8.56.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript-eslint/8.56.0/8.56.1?slim=true) |

---

### Release Notes

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/parser)</summary>

### [`v8.56.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#8561-2026-02-23)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.56.0...v8.56.1)

This was a version bump only for parser to align it with other projects, there were no code changes.

See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.56.1) for more information.

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

</details>

<details>
<summary>typescript-eslint/typescript-eslint (typescript-eslint)</summary>

### [`v8.56.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8561-2026-02-23)

[Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v8.56.0...v8.56.1)

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

See [GitHub Releases](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.56.1) for more information.

You can read about our [versioning strategy](https://typescript-eslint.io/users/versioning) and [releases](https://typescript-eslint.io/users/releases) on our website.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNS43IiwidXBkYXRlZEluVmVyIjoiNDMuMjUuNyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiYXV0b21lcmdlIiwiZGVwZW5kZW5jeSJdfQ==-->

Reviewed-on: #169
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-02-26 01:46:41 +00:00
renovate-bot 274681e4e6 chore(deps): update tailwindcss monorepo to v4.2.1 (#168)
test-build / guarddog (push) Successful in 57s
test-build / build (push) Successful in 2m0s
renovate / renovate (push) Successful in 3m35s
2026-02-25 00:03:53 +00:00
renovate-bot 1726f627c2 chore(deps): update dependency eslint to v10.0.2 (#167)
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
test-build / guarddog (push) Has been cancelled
2026-02-25 00:02:56 +00:00
renovate-bot e341150328 chore(deps): update dependency motion to v12.34.3 (#166)
test-build / build (push) Successful in 31s
test-build / guarddog (push) Successful in 1m23s
renovate / renovate (push) Successful in 5m18s
2026-02-21 20:21:00 +00:00
renovate-bot 0824b3246b chore(deps): update dependency eslint to v10.0.1 (#165)
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
test-build / guarddog (push) Has been cancelled
2026-02-21 20:19:44 +00:00
86 changed files with 4187 additions and 6482 deletions
-136
View File
@@ -1,136 +0,0 @@
name: release-image-gitea
on:
push:
tags:
- 0.*
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-js
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Set up pnpm
uses: pnpm/action-setup@v4
with:
version: 10.x
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: 24.13.1
cache: pnpm
- name: Install Dependencies
run: pnpm install
# - name: Lint Code
# run: pnpm lint
- name: Build Project
run: pnpm build
release:
runs-on: ubuntu-js
needs: build
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Login to Registry
uses: docker/login-action@v3
with:
registry: ${{ vars.REPOSITORY_HOST }}
username: ${{ gitea.actor }}
password: ${{ secrets.REPOSITORY_TOKEN }}
- name: Create Kubeconfig
run: |
mkdir $HOME/.kube
echo "${{ secrets.KUBECONFIG_BUILDX }}" > $HOME/.kube/config
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
with:
driver: kubernetes
driver-opts: |
namespace=gitea
qemu.install=true
buildkitd-config-inline: |
[registry."docker.io"]
mirrors = ["harbor.alexlebens.net/proxy-hub.docker/"]
- name: Available Platforms
run: echo ${{ steps.buildx.outputs.platforms }}
- name: Extract Metadata
id: meta
uses: docker/metadata-action@v5
with:
tags: |
type=ref,event=branch
type=ref,event=tag
type=sha,format=long
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
images: |
${{ vars.REPOSITORY_HOST }}/${{ gitea.repository }}
- name: Get Version Info
id: version
run: |
echo "version=$(git describe --tags --always)" >> $GITHUB_OUTPUT
echo "commit=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
if git describe --tags --exact-match HEAD 2>/dev/null; then
echo "is_release=true" >> $GITHUB_OUTPUT
else
echo "is_release=false" >> $GITHUB_OUTPUT
fi
- name: Build and Push Image
uses: docker/build-push-action@v6
with:
context: .
push: true
platforms: linux/amd64
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
VERSION=${{ steps.version.outputs.version }}
COMMIT_SHA=${{ steps.version.outputs.commit }}
IS_RELEASE=${{ steps.version.outputs.is_release }}
file: ./Dockerfile
- name: ntfy Success
uses: niniyas/ntfy-action@master
if: success()
with:
url: '${{ secrets.NTFY_URL }}'
topic: '${{ secrets.NTFY_TOPIC }}'
title: 'Release Success - Site Documentation'
priority: 3
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,successfully,completed
details: 'Image for Site Documentation has been released!'
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
- name: ntfy Failed
uses: niniyas/ntfy-action@master
if: failure()
with:
url: '${{ secrets.NTFY_URL }}'
topic: '${{ secrets.NTFY_TOPIC }}'
title: 'Release Failure - Site Documentation'
priority: 4
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,failed
details: 'Image for Site Documentation has failed to be released.'
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/site-documentation/actions?workflow=release-image.yml", "clear": true}]'
image: true
-136
View File
@@ -1,136 +0,0 @@
name: release-image-harbor
on:
push:
tags:
- 0.*
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-js
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Set up pnpm
uses: pnpm/action-setup@v4
with:
version: 10.x
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: 24.13.1
cache: pnpm
- name: Install Dependencies
run: pnpm install
# - name: Lint Code
# run: pnpm lint
- name: Build Project
run: pnpm build
release:
runs-on: ubuntu-js
needs: build
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Login to Registry
uses: docker/login-action@v3
with:
registry: ${{ vars.REGISTRY_HOST }}
username: ${{ vars.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_SECRET }}
- name: Create Kubeconfig
run: |
mkdir $HOME/.kube
echo "${{ secrets.KUBECONFIG_BUILDX }}" > $HOME/.kube/config
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
with:
driver: kubernetes
driver-opts: |
namespace=gitea
qemu.install=true
buildkitd-config-inline: |
[registry."docker.io"]
mirrors = ["harbor.alexlebens.net/proxy-hub.docker/"]
- name: Available Platforms
run: echo ${{ steps.buildx.outputs.platforms }}
- name: Extract Metadata
id: meta
uses: docker/metadata-action@v5
with:
tags: |
type=ref,event=branch
type=ref,event=tag
type=sha,format=long
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
images: |
${{ vars.REGISTRY_HOST }}/images/site-documentation
- name: Get Version Info
id: version
run: |
echo "version=$(git describe --tags --always)" >> $GITHUB_OUTPUT
echo "commit=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
if git describe --tags --exact-match HEAD 2>/dev/null; then
echo "is_release=true" >> $GITHUB_OUTPUT
else
echo "is_release=false" >> $GITHUB_OUTPUT
fi
- name: Build and Push Image
uses: docker/build-push-action@v6
with:
context: .
push: true
platforms: linux/amd64
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
VERSION=${{ steps.version.outputs.version }}
COMMIT_SHA=${{ steps.version.outputs.commit }}
IS_RELEASE=${{ steps.version.outputs.is_release }}
file: ./Dockerfile
- name: ntfy Success
uses: niniyas/ntfy-action@master
if: success()
with:
url: '${{ secrets.NTFY_URL }}'
topic: '${{ secrets.NTFY_TOPIC }}'
title: 'Release Success - Site Documentation'
priority: 3
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,successfully,completed
details: 'Image for Site Documentation has been released!'
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
- name: ntfy Failed
uses: niniyas/ntfy-action@master
if: failure()
with:
url: '${{ secrets.NTFY_URL }}'
topic: '${{ secrets.NTFY_TOPIC }}'
title: 'Release Failure - Site Documentation'
priority: 4
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,failed
details: 'Image for Site Documentation has failed to be released.'
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/site-documentation/actions?workflow=release-image.yml", "clear": true}]'
image: true
+340
View File
@@ -0,0 +1,340 @@
name: release-image
on:
push:
branches:
- release
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-js
steps:
- name: Checkout
uses: actions/checkout@v6
with:
ref: release
- name: Set up Node
uses: actions/setup-node@v6
with:
node-version: 24.14.1
- name: Set up Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.11
- name: Install Dependencies
run: bun install --frozen-lockfile
- name: Cache Astro Build Cache
uses: actions/cache@v5
with:
path: |
.astro
node_modules/.vite
key: ${{ runner.os }}-astro-${{ hashFiles('**/*.astro', 'astro.config.mjs') }}
restore-keys: |
${{ runner.os }}-astro-
# - name: Lint Code
# run: bun run lint
- name: Build Project
run: bun run build
- name: ntfy Failed
uses: niniyas/ntfy-action@master
if: failure()
with:
url: '${{ secrets.NTFY_URL }}'
topic: '${{ secrets.NTFY_TOPIC }}'
title: 'Test Failure - Site Documentation'
priority: 4
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,failed
details: 'During release tests failed for building Site Documentation'
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/site-documentation/actions?workflow=release-image.yaml", "clear": true}]'
image: true
guarddog:
runs-on: ubuntu-js
steps:
- name: Checkout
uses: actions/checkout@v6
with:
ref: release
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: '3.12.13'
- name: Install GuardDog
run: |
python3 -m pip install --upgrade pip
python3 -m pip install guarddog
- name: Run GuardDog
run: |
guarddog npm scan ./
- name: ntfy Failed
uses: niniyas/ntfy-action@master
if: failure()
with:
url: '${{ secrets.NTFY_URL }}'
topic: '${{ secrets.NTFY_TOPIC }}'
title: 'Security Failure - Site Documentation'
priority: 4
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,failed
details: 'During release guarddog scan failed for Site Documentation'
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/site-documentation/actions?workflow=release-image.yaml", "clear": true}]'
image: true
semantic-release:
needs: [ build, guarddog ]
runs-on: ubuntu-js
outputs:
new-release-published: ${{ steps.semantic.outputs.new-release-published }}
new-release-version: ${{ steps.semantic.outputs.new-release-version }}
new-release-git-tag: ${{ steps.semantic.outputs.new-release-git-tag }}
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
token: ${{ secrets.BOT_TOKEN }}
- name: Set up Node
uses: actions/setup-node@v6
with:
node-version: 24.14.1
- name: Set up Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.11
- name: Install Dependencies
run: bun install --frozen-lockfile
- name: Run Semantic Release
id: semantic
env:
GITEA_TOKEN: ${{ secrets.BOT_TOKEN }}
GITHUB_TOKEN: ${{ secrets.BOT_TOKEN }}
NODE_PATH: ${{ github.workspace }}/node_modules
run: |
bun run semantic-release
release-harbor:
runs-on: ubuntu-js
needs: semantic-release
if: ${{ needs.semantic-release.outputs.new-release-published == 'true' }}
steps:
- name: Checkout
uses: actions/checkout@v6
with:
ref: release
- name: Login to Harbor Registry
uses: docker/login-action@v4
with:
registry: ${{ vars.REGISTRY_HOST }}
username: ${{ vars.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_SECRET }}
- name: Login to Docker
uses: docker/login-action@v4
with:
registry: ${{ vars.DH_REGISTRY }}
username: ${{ secrets.DH_USERNAME }}
password: ${{ secrets.DH_TOKEN }}
- name: Create Kubeconfig
run: |
mkdir $HOME/.kube
echo "${{ secrets.KUBECONFIG_BUILDX }}" > $HOME/.kube/config
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v4
with:
driver: kubernetes
driver-opts: |
namespace=gitea
qemu.install=true
buildkitd-config-inline: |
[registry."docker.io"]
mirrors = ["harbor.alexlebens.net/proxy-hub.docker/"]
- name: Available Platforms
run: echo ${{ steps.buildx.outputs.platforms }}
- name: Extract Metadata
id: meta
uses: docker/metadata-action@v6
with:
images: |
${{ vars.REGISTRY_HOST }}/images/site-documentation
tags: |
type=ref,event=branch
type=sha,format=long
type=raw,value=latest,enable=${{ needs.semantic-release.outputs.new-release-published == 'true' }}
type=semver,pattern={{version}},value=${{ needs.semantic-release.outputs.new-release-version }}
type=semver,pattern={{major}}.{{minor}},value=${{ needs.semantic-release.outputs.new-release-version }}
type=semver,pattern={{major}},value=${{ needs.semantic-release.outputs.new-release-version }}
- name: Build and Push Image
uses: docker/build-push-action@v7
with:
context: .
push: true
platforms: linux/amd64
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
APP_VERSION=${{ needs.semantic-release.outputs.new-release-version }}
COMMIT_SHA=${{ github.sha }}
IS_RELEASE=true
file: ./Dockerfile
cache-from: type=gha
cache-to: type=gha,mode=max
- name: ntfy Success
uses: niniyas/ntfy-action@master
if: success()
with:
url: '${{ secrets.NTFY_URL }}'
topic: '${{ secrets.NTFY_TOPIC }}'
title: 'Release Success - Site Documentation'
priority: 3
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,successfully,completed
details: 'Harbor Image for Site Documentation has been released!'
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
- name: ntfy Failed
uses: niniyas/ntfy-action@master
if: failure()
with:
url: '${{ secrets.NTFY_URL }}'
topic: '${{ secrets.NTFY_TOPIC }}'
title: 'Release Failure - Site Documentation'
priority: 4
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,failed
details: 'Harbor Image for Site Documentation has failed to be released.'
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/site-documentation/actions?workflow=release-image.yml", "clear": true}]'
image: true
release-gitea:
runs-on: ubuntu-js
needs: [ semantic-release, release-harbor ]
if: |
always() &&
needs.semantic-release.outputs.new-release-published == 'true'
steps:
- name: Checkout
uses: actions/checkout@v6
with:
ref: release
- name: Login to Gitea Registry
uses: docker/login-action@v4
with:
registry: ${{ vars.REPOSITORY_HOST }}
username: ${{ gitea.actor }}
password: ${{ secrets.REPOSITORY_TOKEN }}
- name: Login to Docker
uses: docker/login-action@v4
with:
registry: ${{ vars.DH_REGISTRY }}
username: ${{ secrets.DH_USERNAME }}
password: ${{ secrets.DH_TOKEN }}
- name: Create Kubeconfig
run: |
mkdir $HOME/.kube
echo "${{ secrets.KUBECONFIG_BUILDX }}" > $HOME/.kube/config
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v4
with:
driver: kubernetes
driver-opts: |
namespace=gitea
qemu.install=true
buildkitd-config-inline: |
[registry."docker.io"]
mirrors = ["harbor.alexlebens.net/proxy-hub.docker/"]
- name: Available Platforms
run: echo ${{ steps.buildx.outputs.platforms }}
- name: Extract Metadata
id: meta
uses: docker/metadata-action@v6
with:
images: |
${{ vars.REPOSITORY_HOST }}/${{ gitea.repository }}
tags: |
type=ref,event=branch
type=sha,format=long
type=raw,value=latest,enable=${{ needs.semantic-release.outputs.new-release-published == 'true' }}
type=semver,pattern={{version}},value=${{ needs.semantic-release.outputs.new-release-version }}
type=semver,pattern={{major}}.{{minor}},value=${{ needs.semantic-release.outputs.new-release-version }}
type=semver,pattern={{major}},value=${{ needs.semantic-release.outputs.new-release-version }}
- name: Build and Push Image
uses: docker/build-push-action@v7
with:
context: .
push: true
platforms: linux/amd64
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
APP_VERSION=${{ needs.semantic-release.outputs.new-release-version }}
COMMIT_SHA=${{ github.sha }}
IS_RELEASE=true
file: ./Dockerfile
cache-from: type=gha
cache-to: type=gha,mode=max
- name: ntfy Success
uses: niniyas/ntfy-action@master
if: success()
with:
url: '${{ secrets.NTFY_URL }}'
topic: '${{ secrets.NTFY_TOPIC }}'
title: 'Release Success - Site Documentation'
priority: 3
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,successfully,completed
details: 'Gitea Image for Site Documentation has been released!'
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
- name: ntfy Failed
uses: niniyas/ntfy-action@master
if: failure()
with:
url: '${{ secrets.NTFY_URL }}'
topic: '${{ secrets.NTFY_TOPIC }}'
title: 'Release Failure - Site Documentation'
priority: 4
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,failed
details: 'Gitea Image for Site Documentation has failed to be released.'
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/site-documentation/actions?workflow=release-image.yaml", "clear": true}]'
image: true
+5 -7
View File
@@ -2,11 +2,7 @@ name: renovate
on: on:
schedule: schedule:
- cron: '@daily' - cron: '0 */6 * * *'
push:
branches:
- main
workflow_dispatch: workflow_dispatch:
@@ -25,8 +21,10 @@ jobs:
RENOVATE_ENDPOINT: ${{ vars.INSTANCE_URL }} RENOVATE_ENDPOINT: ${{ vars.INSTANCE_URL }}
RENOVATE_REPOSITORIES: alexlebens/site-documentation RENOVATE_REPOSITORIES: alexlebens/site-documentation
RENOVATE_GIT_AUTHOR: Renovate Bot <renovate-bot@alexlebens.net> RENOVATE_GIT_AUTHOR: Renovate Bot <renovate-bot@alexlebens.net>
LOG_LEVEL: info RENOVATE_REDIS_URL: ${{ vars.RENOVATE_REDIS_URL }}
LOG_LEVEL: debug
RENOVATE_TOKEN: ${{ secrets.RENOVATE_TOKEN }} RENOVATE_TOKEN: ${{ secrets.RENOVATE_TOKEN }}
RENOVATE_GIT_PRIVATE_KEY: ${{ secrets.RENOVATE_GIT_PRIVATE_KEY }} RENOVATE_GIT_PRIVATE_KEY: ${{ secrets.RENOVATE_GIT_PRIVATE_KEY }}
RENOVATE_GITHUB_COM_TOKEN: ${{ secrets.RENOVATE_GITHUB_COM_TOKEN }} RENOVATE_GITHUB_COM_TOKEN: ${{ secrets.RENOVATE_GITHUB_COM_TOKEN }}
RENOVATE_REDIS_URL: ${{ vars.RENOVATE_REDIS_URL }} RENOVATE_REGISTRY_ALIASES: '{"dhi.io": "dhi.io"}'
RENOVATE_HOST_RULES: '[{"matchHost":"dhi.io","hostType":"docker","username":"${{ secrets.RENOVATE_DHI_USER }}","password":"${{ secrets.RENOVATE_DHI_TOKEN }}"}]'
+24 -12
View File
@@ -4,6 +4,9 @@ on:
push: push:
branches: branches:
- main - main
paths-ignore:
- '.gitea/workflows/**'
- '**.md'
pull_request: pull_request:
branches: branches:
@@ -16,25 +19,34 @@ jobs:
- name: Checkout - name: Checkout
uses: actions/checkout@v6 uses: actions/checkout@v6
- name: Set up pnpm - name: Set up Node
uses: pnpm/action-setup@v4
with:
version: 10.x
- name: Set up Node.js
uses: actions/setup-node@v6 uses: actions/setup-node@v6
with: with:
node-version: 24.13.1 node-version: 24.14.1
cache: pnpm
- name: Set up Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.11
- name: Install Dependencies - name: Install Dependencies
run: pnpm install run: bun install --frozen-lockfile
- name: Cache Astro Build Cache
uses: actions/cache@v5
with:
path: |
.astro
node_modules/.vite
key: ${{ runner.os }}-astro-${{ hashFiles('**/*.astro', 'astro.config.mjs') }}
restore-keys: |
${{ runner.os }}-astro-
# - name: Lint Code # - name: Lint Code
# run: pnpm lint # run: bun run lint
- name: Build Project - name: Build Project
run: pnpm build run: bun run build
- name: ntfy Failed - name: ntfy Failed
uses: niniyas/ntfy-action@master uses: niniyas/ntfy-action@master
@@ -60,7 +72,7 @@ jobs:
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v6 uses: actions/setup-python@v6
with: with:
python-version: '3.12' python-version: '3.12.13'
- name: Install GuardDog - name: Install GuardDog
run: | run: |
-2
View File
@@ -1,2 +0,0 @@
engine-strict=true
save-exact=true
+17
View File
@@ -0,0 +1,17 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0
hooks:
- id: end-of-file-fixer
- id: trailing-whitespace
- id: check-merge-conflict
- id: check-json
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v4.0.0-alpha.11
hooks:
- id: prettier
types_or: [javascript, typescript, css, scss, html, json, yaml, markdown]
additional_dependencies:
- prettier
- prettier-plugin-astro
- prettier-plugin-tailwindcss
+18
View File
@@ -0,0 +1,18 @@
{
"branches": ["release"],
"tagFormat": "${version}",
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/changelog",
"semantic-release-export-data",
["@semantic-release/npm", { "npmPublish": false }],
["@semantic-release/git", {
"assets": ["package.json", "CHANGELOG.md"],
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
}],
["@saithodev/semantic-release-gitea", {
"giteaUrl": "https://gitea.alexlebens.dev"
}]
]
}
+155
View File
@@ -0,0 +1,155 @@
# [0.19.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.18.0...0.19.0) (2026-04-06)
### Features
* add more apps ([9b906fa](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/9b906fa18fd2cb4888bccc1bf0ba51ea795a12c3))
* change to mdx ([53cbb04](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/53cbb049ed717e3b4890af864c0ce0cd205c751e))
# [0.18.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.17.0...0.18.0) (2026-04-05)
### Features
* add more apps ([58a8faf](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/58a8faf79563a7570f69a1863a3f4b056352dc2f))
* add more apps ([3f3e353](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/3f3e35396e56a91662807971e5b09e6c25bb067a))
# [0.17.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.16.0...0.17.0) (2026-04-05)
### Features
* add more apps ([f627fbe](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/f627fbe3165af551a546fff41ef26431a919ea02))
* add ntfy ([89649f9](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/89649f904f0304b5e1f41eaec4faa07a409f679d))
# [0.16.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.15.0...0.16.0) (2026-04-04)
### Features
* add more apps ([57aec90](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/57aec90c9e0c9b51c238a76a82f7d4f0a3a14195))
* add more apps ([425651b](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/425651bd309ba215ec1fbd618882e98b3fad17b4))
* add more apps ([2ccfeca](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/2ccfecaf63b623c0fc7a847d5d81ca8d54c991bd))
* add more apps ([76a568a](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/76a568a61bb35511d84deaeb86eadc2a4643b473))
* add more apps ([09567e2](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/09567e2c266fd1d2f66ba42f5ed6d3cb134216ae))
# [0.15.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.14.0...0.15.0) (2026-04-02)
### Features
* add more apps ([3ce50ce](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/3ce50ceccd12c8059f3c5146f6c0ad90d75c47b7))
# [0.14.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.13.0...0.14.0) (2026-04-01)
### Bug Fixes
* **deps:** pin dependencies ([75a9af6](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/75a9af6d0b907c90dba7b0969624c1daee8a0435))
### Features
* add homepage ([d894615](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/d8946158b04f49876cc9aff79004f92ccbea6a1c))
* change code theme ([dbe3d5c](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/dbe3d5cdd20321ef276c3e36ca8877ada7739486))
# [0.13.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.12.0...0.13.0) (2026-03-31)
### Features
* documentation on vault ssh ([648fb31](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/648fb319b192ecd7826fe03599f7a0ee55a419ea))
# [0.12.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.11.0...0.12.0) (2026-03-30)
### Features
* add more apps ([e13f3e3](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/e13f3e30e2a73a712008f65cc5932cbe1e71adb2))
* add more apps ([ef4ff67](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/ef4ff67818d2758e21b9f0076519ca9221f74bb0))
* add more apps ([32eacf8](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/32eacf8df7cd07eaf33a46d9df88e22f22d0cbf6))
# [0.11.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.10.0...0.11.0) (2026-03-27)
### Features
* add more apps ([2221cbb](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/2221cbb0993595d7b8641fa4ffbc2fe874cdff39))
* add more apps ([82736ec](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/82736ec2a95db97abc7337ec1849dbb97a0fca5e))
# [0.10.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.9.0...0.10.0) (2026-03-26)
### Features
* add more apps ([33b64b0](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/33b64b0122a8ff734e632d0fdcaf92a474e1d631))
# [0.9.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.8.0...0.9.0) (2026-03-26)
### Features
* add more apps ([28910c8](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/28910c8ee57a2436cbe1ca01e95b85d8600f360e))
* collapse apps by default, too many ([79b2f0d](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/79b2f0d1c89da74693ffddd78460197cd3d91bd5))
# [0.8.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.7.0...0.8.0) (2026-03-25)
### Features
* add more apps ([c69fde3](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/c69fde38f93cd8f8fe50503c7e3b0523eeb73775))
# [0.7.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.6.0...0.7.0) (2026-03-25)
### Features
* add more apps ([8e49a12](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/8e49a12511f26de4060ff2aaef0f707446e210bd))
* change schedule ([4077d32](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/4077d3289cd2a87d8499b31eb6a70fd460aa72e4))
# [0.6.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.5.0...0.6.0) (2026-03-23)
### Features
* add more apps ([ce3d1a4](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/ce3d1a4a27d3e7850f05cc91fd3e1bae42ef5cea))
# [0.5.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.4.0...0.5.0) (2026-03-23)
### Features
* add argo-cd ([36be56e](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/36be56e4502cbc40a7380ef1f7124b002ba7c583))
# [0.4.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.3.0...0.4.0) (2026-03-23)
### Bug Fixes
* remove react deps ([5e97a52](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/5e97a524ba045398267f80f55c40288ab40f0d47))
### Features
* add and update pre-commit ([95805dc](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/95805dcd071dd08e1e6451d96b2d0d1058abedaf))
* add applications, actual ([e21d142](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/e21d1426d23c7deee7ccd415e8ad528f3a9c0b08))
* add argo-workflows ([abde3db](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/abde3db3c76a37ffda8232f8293b8b402eaef81e))
* merge ([a3e6e65](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/a3e6e65c79a92d34cc4b0fffdbba7719bcb14b5d))
* remove splash template ([3fecb72](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/3fecb72e89af7eac1d4fa04e7ec5280c6cf546c8))
# [0.3.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.2.0...0.3.0) (2026-03-15)
### Features
* add and update pre-commit ([972bbff](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/972bbffb41020489508660c261559b0e6c806ca6))
# [0.2.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.1.7...0.2.0) (2026-03-12)
### Features
* add robots ([4ef4353](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/4ef43534a0f26bc5593258c9cd6a31d62283929d))
* switch to bun ([7413830](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/74138302a4c2ad45a850459c47a17dd09014f3ad))
* trigger minor version update ([7a9b62d](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/7a9b62dc048ffd947bb6dd41523091bbc9346e84))
* use alpine-dev for bun builder ([4575bfb](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/4575bfb9138bc9ca5f9d93e845155fc56d3a8491))
+17 -17
View File
@@ -1,35 +1,35 @@
ARG REGISTRY=docker.io ARG REGISTRY=dhi.io
FROM ${REGISTRY}/node:24.13.1-alpine AS base FROM ${REGISTRY}/bun:1.3.11-alpine3.22-dev AS builder
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
WORKDIR /app WORKDIR /app
COPY package.json pnpm-lock.yaml ./ COPY package.json bun.lock ./
FROM base AS prod-deps FROM builder AS prod-deps
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile RUN --mount=type=cache,id=bun,target=/root/.bun/install/cache \
bun install --production --frozen-lockfile
FROM prod-deps AS build-deps FROM builder AS build-deps
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile RUN --mount=type=cache,id=bun,target=/root/.bun/install/cache \
bun install --frozen-lockfile
FROM build-deps AS build FROM build-deps AS build
COPY . . COPY . .
RUN pnpm run build RUN bun run build
RUN pnpm prune --prod
FROM base AS runtime FROM ${REGISTRY}/bun:1.3.11-alpine3.22 AS runtime
WORKDIR /app
COPY --from=prod-deps /app/node_modules /app/node_modules COPY --from=prod-deps /app/node_modules /app/node_modules
COPY --from=build /app/dist /app/dist COPY --from=build /app/dist /app/dist
ARG APP_VERSION=latest
ARG APP_VERSION
ENV HOST=0.0.0.0 ENV HOST=0.0.0.0
ENV SITE_URL=https://docs.alexlebens.dev
ENV PORT=4321 ENV PORT=4321
LABEL version="0.1.5" LABEL version=$APP_VERSION
LABEL description="Astro based documentation website" LABEL description="Astro based documentation website"
EXPOSE $PORT EXPOSE $PORT
CMD ["node", "./dist/server/entry.mjs"] CMD ["bun", "run", "./dist/server/entry.mjs"]
+5 -8
View File
@@ -6,7 +6,7 @@
pnpm create astro@latest -- --template starlight pnpm create astro@latest -- --template starlight
``` ```
## 🚀 Project Structure ## Project Structure
Inside of your Astro + Starlight project, you'll see the following folders and files: Inside of your Astro + Starlight project, you'll see the following folders and files:
@@ -29,15 +29,12 @@ Images can be added to `src/assets/` and embedded in Markdown with a relative li
Static assets, like favicons, can be placed in the `public/` directory. Static assets, like favicons, can be placed in the `public/` directory.
## 🧞 Commands ## Commands
All commands are run from the root of the project, from a terminal: All commands are run from the root of the project, from a terminal:
| Command | Action | | Command | Action |
| :--------------------- | :----------------------------------------------- | | :--------------------- | :----------------------------------------------- |
| `pnpm install` | Installs dependencies | | `bun install` | Installs dependencies |
| `pnpm dev` | Starts local dev server at `localhost:4321` | | `bun run dev` | Starts local dev server at `localhost:4321` |
| `pnpm build` | Build your production site to `./dist/` | | `bun run build` | Build your production site to `./dist/` |
| `pnpm preview` | Preview your build locally, before deploying |
| `pnpm astro ...` | Run CLI commands like `astro add`, `astro check` |
| `pnpm astro -- --help` | Get help using the Astro CLI |
+13 -12
View File
@@ -2,7 +2,7 @@
import { defineConfig } from "astro/config"; import { defineConfig } from "astro/config";
import node from "@astrojs/node"; import node from "@astrojs/node";
import tailwindcss from "@tailwindcss/vite"; import sitemap from '@astrojs/sitemap';
import starlight from "@astrojs/starlight"; import starlight from "@astrojs/starlight";
import starlightThemeRapide from 'starlight-theme-rapide' import starlightThemeRapide from 'starlight-theme-rapide'
@@ -13,17 +13,23 @@ const getSiteURL = () => {
return "http://localhost:4321"; return "http://localhost:4321";
}; };
// https://astro.build/config
export default defineConfig({ export default defineConfig({
site: getSiteURL(), site: getSiteURL(),
security: { csp: true },
prefetch: true,
integrations: [ integrations: [
tailwindcss(), sitemap(),
starlight({ starlight({
title: "Alex Lebens Docs", title: "Alex Lebens Docs",
customCss: [ customCss: [
'./src/styles/custom.css', './src/styles/custom.css',
], ],
expressiveCode: {
themes: ['vitesse-light', 'vitesse-dark'],
},
social: [ social: [
{ {
icon: "external", icon: "external",
@@ -45,21 +51,16 @@ export default defineConfig({
}, },
{ {
label: "Applications", label: "Applications",
collapsed: true,
autogenerate: { directory: "applications" }, autogenerate: { directory: "applications" },
}, },
], ],
}), })
], ],
plugins: { output: 'static',
"@tailwindcss/postcss": {},
},
vite: {
plugins: [tailwindcss()],
},
adapter: node({ adapter: node({
mode: "standalone", mode: 'standalone',
}), }),
}); });
+2464
View File
File diff suppressed because it is too large Load Diff
+31 -21
View File
@@ -1,7 +1,7 @@
{ {
"name": "site-documentation", "name": "site-documentation",
"type": "module", "type": "module",
"version": "0.1.5", "version": "0.19.0",
"scripts": { "scripts": {
"dev": "astro dev", "dev": "astro dev",
"build": "astro build", "build": "astro build",
@@ -12,27 +12,37 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"@astrojs/mdx": "^4.3.13", "@astrojs/mdx": "5.0.3",
"@astrojs/node": "^9.5.4", "@astrojs/node": "10.0.4",
"@astrojs/starlight": "^0.37.6", "@astrojs/sitemap": "3.7.2",
"@tailwindcss/postcss": "^4.2.0", "@astrojs/starlight": "0.38.2",
"@tailwindcss/vite": "^4.2.0", "@tailwindcss/postcss": "4.2.2",
"astro": "^5.17.3", "@tailwindcss/vite": "4.2.2",
"motion": "^12.34.2", "astro": "6.1.3",
"sanitize-html": "^2.17.1", "sanitize-html": "2.17.2",
"sharp": "^0.34.5", "sharp": "0.34.5",
"starlight-theme-rapide": "^0.5.2", "starlight-theme-rapide": "0.5.2",
"tailwindcss": "^4.2.0" "tailwindcss": "4.2.2"
}, },
"devDependencies": { "devDependencies": {
"@tailwindcss/typography": "^0.5.19", "@saithodev/semantic-release-gitea": "2.1.0",
"@typescript-eslint/parser": "^8.56.0", "@semantic-release/changelog": "6.0.3",
"eslint": "^10.0.0", "@semantic-release/commit-analyzer": "13.0.1",
"eslint-config-prettier": "^10.1.8", "@semantic-release/git": "10.0.1",
"eslint-plugin-astro": "^1.6.0", "@semantic-release/npm": "13.1.5",
"prettier": "^3.8.1", "@semantic-release/release-notes-generator": "14.1.0",
"prettier-plugin-astro": "^0.14.1", "@tailwindcss/forms": "0.5.11",
"prettier-plugin-tailwindcss": "^0.7.2", "@tailwindcss/typography": "0.5.19",
"typescript-eslint": "^8.56.0" "@typescript-eslint/parser": "8.58.0",
"eslint": "10.2.0",
"eslint-config-prettier": "10.1.8",
"eslint-plugin-astro": "1.6.0",
"prettier": "3.8.1",
"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"
} }
} }
-6128
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -9,6 +9,7 @@
"labels": [], "labels": [],
"prHourlyLimit": 0, "prHourlyLimit": 0,
"prConcurrentLimit": 0, "prConcurrentLimit": 0,
"rangeStrategy": "pin",
"packageRules": [ "packageRules": [
{ {
"description": "Label dependency", "description": "Label dependency",
+15
View File
@@ -0,0 +1,15 @@
---
title: Actual
description: Actual Budget is a super fast and privacy-focused app for managing finances.
hero:
tagline: Actual Budget is a super fast and privacy-focused app for managing finances.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/actual-budget.webp
actions:
- text: Source
link: https://github.com/actualbudget/actual
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/actual
icon: right-arrow
---
+15
View File
@@ -0,0 +1,15 @@
---
title: Argo CD
description: Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes.
hero:
tagline: Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes.
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/argocd
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Audiobookshelf
description: Audiobookshelf is a self-hosted audiobook and podcast server.
hero:
tagline: Audiobookshelf is a self-hosted audiobook and podcast server.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/audiobookshelf.webp
actions:
- text: Source
link: https://github.com/advplyr/audiobookshelf
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/audiobookshelf
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Authentik
description: Authentik is an open-source Identity Provider (IdP) for modern SSO. It supports SAML, OAuth2/OIDC, LDAP, RADIUS, and more, designed for self-hosting from small labs to large production clusters.
hero:
tagline: Authentik is an open-source Identity Provider (IdP) for modern SSO. It supports SAML, OAuth2/OIDC, LDAP, RADIUS, and more, designed for self-hosting from small labs to large production clusters.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/authentik.webp
actions:
- text: Source
link: https://github.com/goauthentik/authentik
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/authentik
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Backrest
description: Backrest is a web-accessible backup solution built on top of restic.
hero:
tagline: Backrest is a web-accessible backup solution built on top of restic.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/backrest.webp
actions:
- text: Source
link: https://github.com/garethgeorge/backrest
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/backrest
icon: right-arrow
---
+15
View File
@@ -0,0 +1,15 @@
---
title: Bazarr
description: Bazarr is a companion application to Sonarr and Radarr. It manages and downloads subtitles based on your requirements.
hero:
tagline: Bazarr is a companion application to Sonarr and Radarr. It manages and downloads subtitles based on your requirements.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/bazarr.webp
actions:
- text: Source
link: https://github.com/morpheus65535/bazarr
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/bazarr
icon: right-arrow
---
+15
View File
@@ -0,0 +1,15 @@
---
title: Blocky
description: Blocky is a DNS proxy and ad-blocker for the local network written in Go with following features.
hero:
tagline: Blocky is a DNS proxy and ad-blocker for the local network written in Go with following features.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/blocky.webp
actions:
- text: Source
link: https://github.com/0xERR0R/blocky
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/blocky
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Cert Manager
description: Cert Manager adds certificates and certificate issuers as resource types in Kubernetes clusters, and simplifies the process of obtaining, renewing and using those certificates.
hero:
tagline: Cert Manager adds certificates and certificate issuers as resource types in Kubernetes clusters, and simplifies the process of obtaining, renewing and using those certificates.
image:
file: https://raw.githubusercontent.com/cert-manager/cert-manager/52bddefde7b2d44841c77cf15038d51330cb9748/logo/logo.svg
actions:
- text: Source
link: https://github.com/cert-manager/cert-manager
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/cert-manager
icon: right-arrow
---
+15
View File
@@ -0,0 +1,15 @@
---
title: Cilium
description: Cilium is a networking, observability, and security solution with an eBPF-based dataplane.
hero:
tagline: Cilium is a networking, observability, and security solution with an eBPF-based dataplane.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/cilium.webp
actions:
- text: Source
link: https://github.com/cilium/cilium
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/cilium
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: CloudNativePG
description: CloudNativePG (CNPG) is an open-source platform designed to seamlessly manage PostgreSQL databases in Kubernetes environments.
hero:
tagline: CloudNativePG (CNPG) is an open-source platform designed to seamlessly manage PostgreSQL databases in Kubernetes environments.
image:
file: https://raw.githubusercontent.com/cloudnative-pg/cloudnative-pg.github.io/0c2d2ff561b7b8ddb6bc06ddb91bd20b73d3f82d/assets/images/hero_image.svg
actions:
- text: Source
link: https://github.com/cloudnative-pg/cloudnative-pg
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/cloudnative-pg
icon: right-arrow
---
+15
View File
@@ -0,0 +1,15 @@
---
title: CoreDNS
description: CoreDNS is a DNS server/forwarder, written in Go, that chains plugins.
hero:
tagline: CoreDNS is a DNS server/forwarder, written in Go, that chains plugins.
image:
file: https://raw.githubusercontent.com/coredns/coredns.io/refs/heads/master/static/images/favicon.png
actions:
- text: Source
link: https://github.com/coredns/coredns
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/coredns
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Dawarich
description: Dawarich is a self-hostable web app designed to replace Google Timeline (aka Google Location History).
hero:
tagline: Dawarich is a self-hostable web app designed to replace Google Timeline (aka Google Location History).
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/dawarich.webp
actions:
- text: Source
link: https://github.com/Freika/dawarich
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/dawarich
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Democratic CSI
description: Democratic CSI implements the csi (container storage interface) spec providing storage for various container orchestration systems.
hero:
tagline: Democratic CSI implements the csi (container storage interface) spec providing storage for various container orchestration systems.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/kubernetes.webp
actions:
- text: Source
link: https://github.com/democratic-csi/democratic-csi
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/democratic-csi-synology-iscsi
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
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
---
@@ -0,0 +1,15 @@
---
title: Descheduler
description: Descheduler, based on its policy, finds pods that can be moved and evicts them.
hero:
tagline: Descheduler, based on its policy, finds pods that can be moved and evicts them.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/kubernetes.webp
actions:
- text: Source
link: https://github.com/kubernetes-sigs/descheduler
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/descheduler
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Directus
description: Directus is a real-time API and App dashboard for managing SQL database content.
hero:
tagline: Directus is a real-time API and App dashboard for managing SQL database content.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/directus.webp
actions:
- text: Source
link: https://github.com/directus/directus
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/directus
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Elastic Cloud on Kubernetes
description: Elastic Cloud on Kubernetes automates the deployment, provisioning, management, and orchestration of Elasticsearch, Kibana, APM Server, Enterprise Search, Beats, Elastic Agent, Elastic Maps Server, Logstash, Elastic AutoOps Agent, and Elastic Package Registry on Kubernetes based on the operator pattern.
hero:
tagline: Elastic Cloud on Kubernetes automates the deployment, provisioning, management, and orchestration of Elasticsearch, Kibana, APM Server, Enterprise Search, Beats, Elastic Agent, Elastic Maps Server, Logstash, Elastic AutoOps Agent, and Elastic Package Registry on Kubernetes based on the operator pattern.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/elastic.webp
actions:
- text: Source
link: https://github.com/elastic/cloud-on-k8s
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/elastic-operator
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Element Web
description: Element (formerly known as Vector and Riot) is a Matrix web & desktop client built using the Matrix JS SDK.
hero:
tagline: Element (formerly known as Vector and Riot) is a Matrix web & desktop client built using the Matrix JS SDK.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/element.webp
actions:
- text: Source
link: https://github.com/element-hq/element-web
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/element-web
icon: right-arrow
---
+15
View File
@@ -0,0 +1,15 @@
---
title: Eraser
description: Eraser helps Kubernetes admins remove a list of non-running images from all Kubernetes nodes in a cluster.
hero:
tagline: Eraser helps Kubernetes admins remove a list of non-running images from all Kubernetes nodes in a cluster.
image:
file: https://raw.githubusercontent.com/eraser-dev/eraser/20576a24c512feb83c26ed867353d4143717d798/docs/static/img/eraser.svg
actions:
- text: Source
link: https://github.com/eraser-dev/eraser
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/eraser
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Excalidraw
description: Excalidraw is an open source virtual hand-drawn style whiteboard.
hero:
tagline: Excalidraw is an open source virtual hand-drawn style whiteboard.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/excalidraw.webp
actions:
- text: Source
link: https://github.com/excalidraw/excalidraw
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/excalidraw
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: ExternalDNS
description: ExternalDNS synchronizes exposed Kubernetes Services and Ingresses with DNS providers.
hero:
tagline: ExternalDNS synchronizes exposed Kubernetes Services and Ingresses with DNS providers.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/kubernetes.webp
actions:
- text: Source
link: https://github.com/kubernetes-sigs/external-dns
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/external-dns
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: External Secrets Operator
description: External Secrets Operator is a Kubernetes operator that integrates external secret management systems.
hero:
tagline: External Secrets Operator is a Kubernetes operator that integrates external secret management systems.
image:
file: https://raw.githubusercontent.com/external-secrets/external-secrets/a16e618c8607b599a2360dd08725015e78cafa1a/assets/eso-round-logo.svg
actions:
- text: Source
link: https://github.com/external-secrets/external-secrets
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/external-secrets
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Foldergram
description: Local-only photo and video gallery for folders, with an Instagram-inspired browsing pattern.
hero:
tagline: Local-only photo and video gallery for folders, with an Instagram-inspired browsing pattern.
image:
file: https://raw.githubusercontent.com/foldergram/foldergram/263f2c2c48e4362bf46fc349040d6376737d512b/client/public/favicon.svg
actions:
- text: Source
link: https://github.com/foldergram/foldergram
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/foldergram
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: FreshRSS
description: FreshRSS is a self-hosted RSS feed aggregator. It is lightweight, easy to work with, powerful, customizable, and has been translated into many languages.
hero:
tagline: FreshRSS is a self-hosted RSS feed aggregator. It is lightweight, easy to work with, powerful, customizable, and has been translated into many languages.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/freshrss.webp
actions:
- text: Source
link: https://github.com/FreshRSS/FreshRSS
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/freshrss
icon: right-arrow
---
+15
View File
@@ -0,0 +1,15 @@
---
title: Garage
description: Garage is an S3-compatible distributed object storage service designed for self-hosting at a small-to-medium scale.
hero:
tagline: Garage is an S3-compatible distributed object storage service designed for self-hosting at a small-to-medium scale.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/garage.webp
actions:
- text: Source
link: https://git.deuxfleurs.fr/Deuxfleurs/garage
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/garage
icon: right-arrow
---
+15
View File
@@ -0,0 +1,15 @@
---
title: Gatus
description: Gatus is a developer-oriented health dashboard that gives you the ability to monitor your services using HTTP, ICMP, TCP, and even DNS queries as well as evaluate the result of said queries by using a list of conditions on values like the status code, the response time, the certificate expiration, the body and many others.
hero:
tagline: Gatus is a developer-oriented health dashboard that gives you the ability to monitor your services using HTTP, ICMP, TCP, and even DNS queries as well as evaluate the result of said queries by using a list of conditions on values like the status code, the response time, the certificate expiration, the body and many others.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/gatus.webp
actions:
- text: Source
link: https://github.com/TwiN/gatus
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/gatus
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Generic Device Plugin
description: Generic Device Plugin enables allocating generic Linux devices, such as serial devices, the FUSE device, or video cameras, to Kubernetes Pods.
hero:
tagline: Generic Device Plugin enables allocating generic Linux devices, such as serial devices, the FUSE device, or video cameras, to Kubernetes Pods.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/kubernetes.webp
actions:
- text: Source
link: https://github.com/squat/generic-device-plugin
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/generic-device-plugin
icon: right-arrow
---
+15
View File
@@ -0,0 +1,15 @@
---
title: Gitea
description: Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD
hero:
tagline: Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/gitea.webp
actions:
- text: Source
link: https://github.com/go-gitea/gitea
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/gitea
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Grafana Operator
description: Grafana Operator is a Kubernetes operator built to help you manage your Grafana instances and its resources in and outside of Kubernetes.
hero:
tagline: Grafana Operator is a Kubernetes operator built to help you manage your Grafana instances and its resources in and outside of Kubernetes.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/grafana.webp
actions:
- text: Source
link: https://github.com/grafana/grafana-operator
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/grafana-operator
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Grimmory
description: Grimmory is a self-hosted application for managing your entire book collection in one place.
hero:
tagline: Grimmory is a self-hosted application for managing your entire book collection in one place.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/booklore.webp
actions:
- text: Source
link: https://github.com/grimmory-tools/grimmory
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/grimmory
icon: right-arrow
---
+15
View File
@@ -0,0 +1,15 @@
---
title: Harbor
description: Harbor is an open source trusted cloud native registry project that stores, signs, and scans content.
hero:
tagline: Harbor is an open source trusted cloud native registry project that stores, signs, and scans content.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/harbor.webp
actions:
- text: Source
link: https://github.com/goharbor/harbor
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/harbor
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Headlamp
description: Headlamp is an easy-to-use and extensible Kubernetes web UI and was created to blend the traditional feature set of other web UIs/dashboards with added functionality.
hero:
tagline: Headlamp is an easy-to-use and extensible Kubernetes web UI and was created to blend the traditional feature set of other web UIs/dashboards with added functionality.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/headlamp.webp
actions:
- text: Source
link: https://github.com/kubernetes-sigs/headlamp
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/headlamp
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Home Assistant
description: Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts.
hero:
tagline: Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/home-assistant.webp
actions:
- text: Source
link: https://github.com/home-assistant/core
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/home-assistant
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Homepage
description: A highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations.
hero:
tagline: A highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/homepage.webp
actions:
- text: Source
link: https://github.com/gethomepage/homepage
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/homepage
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Houndarr
description: Automated missing-media search for your *arr stack. Small batches. Polite intervals. Zero indexer abuse.
hero:
tagline: Automated missing-media search for your *arr stack. Small batches. Polite intervals. Zero indexer abuse.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/houndarr.webp
actions:
- text: Source
link: https://github.com/av1155/houndarr
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/houndarr
icon: right-arrow
---
+15
View File
@@ -0,0 +1,15 @@
---
title: Immich
description: High performance self-hosted photo and video management solution.
hero:
tagline: High performance self-hosted photo and video management solution.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/immich.webp
actions:
- text: Source
link: https://github.com/immich-app/immich
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/immich
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Intel Device Plugins Operator
description: Intel Device Plugins Operator manages plugins, then the GPU device plugin provides access to discrete and integrated Intel GPU device files.
hero:
tagline: Intel Device Plugins Operator manages plugins, then the GPU device plugin provides access to discrete and integrated Intel GPU device files.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/kubernetes.webp
actions:
- text: Source
link: https://github.com/intel/intel-device-plugins-for-kubernetes
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/intel-device-plugin
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Jellyfin
description: Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media.
hero:
tagline: Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/jellyfin.webp
actions:
- text: Source
link: https://github.com/jellyfin/jellyfin
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/jellyfin
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Jellystat
description: Jellystat is a free and open source Statistics App for Jellyfin!
hero:
tagline: Jellystat is a free and open source Statistics App for Jellyfin!
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/jellystat.webp
actions:
- text: Source
link: https://github.com/CyferShepard/Jellystat
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/jellystat
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Karakeep
description: Karakeep is a self-hostable bookmark-everything app with a touch of AI for the data hoarders out there.
hero:
tagline: Karakeep is a self-hostable bookmark-everything app with a touch of AI for the data hoarders out there.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/karakeep.webp
actions:
- text: Source
link: https://github.com/karakeep-app/karakeep
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/karakeep
icon: right-arrow
---
+15
View File
@@ -0,0 +1,15 @@
---
title: Kiwix
description: Kiwix is an open-source software that allows you to have the whole Wikipedia at your fingertips.
hero:
tagline: Kiwix is an open-source software that allows you to have the whole Wikipedia at your fingertips.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/kiwix.webp
actions:
- text: Source
link: https://github.com/kiwix
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/kiwix
icon: right-arrow
---
+15
View File
@@ -0,0 +1,15 @@
---
title: Komodo
description: Komodo is a tool to build and deploy software across many servers.
hero:
tagline: Komodo is a tool to build and deploy software across many servers.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/komodo.webp
actions:
- text: Source
link: https://github.com/moghtech/komodo
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/komodo
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Prometheus
description: Prometheus, a Cloud Native Computing Foundation project, is a systems and service monitoring system.
hero:
tagline: Prometheus, a Cloud Native Computing Foundation project, is a systems and service monitoring system.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/prometheus.webp
actions:
- text: Source
link: https://github.com/prometheus/prometheus
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/kube-prometheus-stack
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Kubelet Serving Certificate Approver
description: Kubelet Serving Certificate Approver is a custom approving controller which approves kubernetes.io/kubelet-serving Certificate Signing Request that kubelet use to serve TLS endpoints.
hero:
tagline: Kubelet Serving Certificate Approver is a custom approving controller which approves kubernetes.io/kubelet-serving Certificate Signing Request that kubelet use to serve TLS endpoints.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/kubernetes.webp
actions:
- text: Source
link: https://github.com/alex1989hu/kubelet-serving-cert-approver
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/kubelet-serving-cert-approver
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Kubernetes Cloudflare DDNS
description: This is a simple Kubernetes cronjob which can be used for updating a DNS record on Cloudflare.
hero:
tagline: This is a simple Kubernetes cronjob which can be used for updating a DNS record on Cloudflare.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/cloudflare.webp
actions:
- text: Source
link: https://github.com/kubitodev/kubernetes-cloudflare-ddns
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/kubernetes-cloudflare-ddns
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: LanguageTool
description: LanguageTool is open-source proofreading software for English, Spanish, French, German, Portuguese, Polish, Dutch, and more than 20 other languages. It finds many errors that a simple spell checker cannot detect.
hero:
tagline: LanguageTool is open-source proofreading software for English, Spanish, French, German, Portuguese, Polish, Dutch, and more than 20 other languages. It finds many errors that a simple spell checker cannot detect.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/languagetool.webp
actions:
- text: Source
link: https://github.com/languagetool-org/languagetool
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/languagetool
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Libation
description: Libation is a free, open-source application for downloading and managing your Audible audiobooks. It decrypts your library, removes DRM, and lets you own your audiobooks forever.
hero:
tagline: Libation is a free, open-source application for downloading and managing your Audible audiobooks. It decrypts your library, removes DRM, and lets you own your audiobooks forever.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/libation.webp
actions:
- text: Source
link: https://github.com/rmcrackan/Libation
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/libation
icon: right-arrow
---
+15
View File
@@ -0,0 +1,15 @@
---
title: Lidarr
description: Lidarr is a music collection manager for Usenet and BitTorrent users.
hero:
tagline: Lidarr is a music collection manager for Usenet and BitTorrent users.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/lidarr.webp
actions:
- text: Source
link: https://github.com/Lidarr/Lidarr
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/lidarr
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Local Path Provisioner
description: Dynamically provisioning persistent local storage with Kubernetes
hero:
tagline: Dynamically provisioning persistent local storage with Kubernetes
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/kubernetes.webp
actions:
- text: Source
link: https://github.com/rancher/local-path-provisioner
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/local-path-provisioner
icon: right-arrow
---
+15
View File
@@ -0,0 +1,15 @@
---
title: Loki
description: Loki is a horizontally-scalable, highly-available, multi-tenant log aggregation system inspired by Prometheus.
hero:
tagline: Loki is a horizontally-scalable, highly-available, multi-tenant log aggregation system inspired by Prometheus.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/loki.webp
actions:
- text: Source
link: https://github.com/grafana/loki
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/loki
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: MariaDB Operator
description: Run and operate MariaDB in a cloud native way. Declaratively manage your MariaDB using Kubernetes CRDs rather than imperative commands.
hero:
tagline: Run and operate MariaDB in a cloud native way. Declaratively manage your MariaDB using Kubernetes CRDs rather than imperative commands.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/mariadb.webp
actions:
- text: Source
link: https://github.com/mariadb-operator/mariadb-operator
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/mariadb-operator
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Matrix Synapse
description: Matrix is the open standard for secure and interoperable real-time communications. Synapse is an open source Matrix homeserver implementation, written and maintained by Element.
hero:
tagline: Matrix is the open standard for secure and interoperable real-time communications. Synapse is an open source Matrix homeserver implementation, written and maintained by Element.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/matrix.webp
actions:
- text: Source
link: https://github.com/element-hq/synapse
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/matrix-synapse
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: MediaLyze
description: Self-hosted media library analysis for large video collections.
hero:
tagline: Self-hosted media library analysis for large video collections.
image:
file: https://raw.githubusercontent.com/frederikemmer/MediaLyze/d8f69c0628bac7c047b90f91a66341648029c273/frontend/public/favicon.svg
actions:
- text: Source
link: https://github.com/frederikemmer/MediaLyze
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/mediaLyze
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Metrics Server
description: Metrics Server is a scalable, efficient source of container resource metrics for Kubernetes built-in autoscaling pipelines.
hero:
tagline: Metrics Server is a scalable, efficient source of container resource metrics for Kubernetes built-in autoscaling pipelines.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/kubernetes.webp
actions:
- text: Source
link: https://github.com/kubernetes-sigs/metrics-server
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/metrics-server
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Music Grabber
description: A self-hosted music acquisition service. Search YouTube, SoundCloud, Soulseek, MP3Phoenix and Monochrome (Tidal lossless), tap a result and it downloads the best quality audio straight into your music library.
hero:
tagline: A self-hosted music acquisition service. Search YouTube, SoundCloud, Soulseek, MP3Phoenix and Monochrome (Tidal lossless), tap a result and it downloads the best quality audio straight into your music library.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/music-grabber.webp
actions:
- text: Source
link: https://gitlab.com/g33kphr33k/musicgrabber
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/music-grabber
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Navidrome
description: Navidrome is an open source web-based music collection server and streamer. It gives you freedom to listen to your music collection from any browser or mobile device.
hero:
tagline: Navidrome is an open source web-based music collection server and streamer. It gives you freedom to listen to your music collection from any browser or mobile device.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/navidrome.webp
actions:
- text: Source
link: https://github.com/navidrome/navidrome
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/navidrome
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Node Feature Discovery
description: Node Feature Discovery is a Kubernetes add-on for detecting hardware features and system configuration.
hero:
tagline: Node Feature Discovery is a Kubernetes add-on for detecting hardware features and system configuration.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/kubernetes.webp
actions:
- text: Source
link: https://github.com/kubernetes-sigs/node-feature-discovery
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/node-feature-discovery
icon: right-arrow
---
+15
View File
@@ -0,0 +1,15 @@
---
title: ntfy
description: ntfy (pronounced "notify") is a simple HTTP-based pub-sub notification service.
hero:
tagline: ntfy (pronounced "notify") is a simple HTTP-based pub-sub notification service.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/ntfy.webp
actions:
- text: Source
link: https://github.com/binwiederhier/ntfy
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/ntfy
icon: right-arrow
---
+15
View File
@@ -0,0 +1,15 @@
---
title: Ollama
description: Get up and running with Kimi-K2.5, GLM-5, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models.
hero:
tagline: Get up and running with Kimi-K2.5, GLM-5, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/ollama.webp
actions:
- text: Source
link: https://github.com/ollama/ollama
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/ollama
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: OmniTools
description: Self-hosted collection of powerful web-based tools for everyday tasks. No ads, no tracking, just fast, accessible utilities right from your browser!
hero:
tagline: Self-hosted collection of powerful web-based tools for everyday tasks. No ads, no tracking, just fast, accessible utilities right from your browser!
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/omnitools.webp
actions:
- text: Source
link: https://github.com/iib0011/omni-tools
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/omni-tools
icon: right-arrow
---
+15
View File
@@ -0,0 +1,15 @@
---
title: Outline
description: A fast, collaborative, knowledge base for your team built using React and Node.js.
hero:
tagline: A fast, collaborative, knowledge base for your team built using React and Node.js.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/outline.webp
actions:
- text: Source
link: https://github.com/outline/outline
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/outline
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Paperless-ngx
description: A community-supported supercharged document management system; scan, index and archive all your documents.
hero:
tagline: A community-supported supercharged document management system; scan, index and archive all your documents.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/paperless-ngx.webp
actions:
- text: Source
link: https://github.com/paperless-ngx/paperless-ngx
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/paperless-ngx
icon: right-arrow
---
+15
View File
@@ -0,0 +1,15 @@
---
title: Plex
description: Plex organizes video, music and photos from personal media libraries and streams them to smart TVs, streaming boxes and mobile devices.
hero:
tagline: Plex organizes video, music and photos from personal media libraries and streams them to smart TVs, streaming boxes and mobile devices.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/plex.webp
actions:
- text: Source
link: https://github.com/linuxserver/docker-plex
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/plex
icon: right-arrow
---
@@ -0,0 +1,15 @@
---
title: Version Checker
description: Kubernetes utility for exposing image versions in use, compared to latest available upstream, as metrics.
hero:
tagline: Kubernetes utility for exposing image versions in use, compared to latest available upstream, as metrics.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/kubernetes.webp
actions:
- text: Source
link: https://github.com/jetstack/version-checker
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/version-checker
icon: right-arrow
---
@@ -1,6 +1,10 @@
--- ---
title: Talos Upgrade 1.12.0 title: Talos Upgrade 1.12.0
description: Steps followed for the v1.12.0 upgrade process description: Steps followed for the v1.12.0 upgrade process
hero:
tagline: Steps followed for the v1.12.0 upgrade process
image:
file: https://raw.githubusercontent.com/siderolabs/docs/3989ed11f0622252d7cee03b3ba3a3052be242d7/public/images/talos.svg
--- ---
The upgrade to this version was more extension as there have been migrations to using configuration documents. This required rewriting the configuration document to a series of patches and provide a deterministic generation command for the different host types. In addition there was also a change to storage layout to separate ceph, local-path, and ephemeral storage on the NUC hosts. The upgrade to this version was more extension as there have been migrations to using configuration documents. This required rewriting the configuration document to a series of patches and provide a deterministic generation command for the different host types. In addition there was also a change to storage layout to separate ceph, local-path, and ephemeral storage on the NUC hosts.
@@ -1,6 +1,10 @@
--- ---
title: Talos Upgrade Generic title: Talos Upgrade Generic
description: Steps followed for the standard upgrade process description: Steps followed for the standard upgrade process
hero:
tagline: Steps followed for the v1.12.0 upgrade process
image:
file: https://raw.githubusercontent.com/siderolabs/docs/3989ed11f0622252d7cee03b3ba3a3052be242d7/public/images/talos.svg
--- ---
This is the standard upgrade process for Talos. Relatively simple, just verify, run commands, and verify. This is the standard upgrade process for Talos. Relatively simple, just verify, run commands, and verify.
+109
View File
@@ -0,0 +1,109 @@
---
title: Vault SSH Certificate Authority
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
---
# Setup
[Reference Vault Documentation](https://developer.hashicorp.com/vault/docs/secrets/ssh/signed-ssh-certificates#host-key-signing)
I have set the documenation to use my own defaults and configuration. This also assumes a running and active Vault instance.
## Enable the SSH CA
I followed the defaults mostly in the docs, reference the above link for details. Use either root or a role with permissions for the endpoints.
Start with enabling the mount.
```bash
vault secrets enable -path=ssh-client-signer ssh
```
Generate a key. This will be used only for signing and not for client authentication. Keep it in a secure location, rename the path the key will be written to.
```bash
ssh-keygen -t rsa -C "alexanderlebens@gmail.com"
```
Add the above signing key.
```bash
vault write ssh-client-signer/config/ca private_key="..." public_key="..."
```
## Create Client Role and Key
Once the above is complete, create a role to use to sign your own client cert. I used my common username and configurations. This can also be done in the Vault UI.
```bash
vault write ssh-client-signer/roles/alexlebens -<<"EOH"
{
"algorithm_signer": "rsa-sha2-256",
"allow_user_certificates": true,
"allowed_users": "*",
"allowed_extensions": "permit-pty,permit-port-forwarding",
"default_extensions": {
"permit-pty": ""
},
"key_type": "ca",
"default_user": "alexlebens",
"ttl": "30m0s"
}
EOH
```
## Create Client Key
Generate the ssh key to use to authenticate to your hosts. This is the one to keep in ~/.ssh.
```bash
ssh-keygen -t rsa -C "alexanderlebens@gmail.com"
```
## Configure SSH to use the Key and Cert
SSH will defailt to using the cert when using the matching name "id_rsa_host-cert.pub" as shown in the renewal certificate section. Use the principal as signed by Vault as the User and set the IdentityFile to the Key as generated above.
```
Host ps08rp
Hostname 10.232.1.51
User alexlebens
IdentityFile ~/.ssh/id_rsa_host
```
# Operations
## Prepare Target Host
Download the public cert from the endpoint.
```bash
curl -o /etc/ssh/trusted-user-ca-keys.pem https://vault.alexlebens.net/v1/ssh-client-signer/public_key
```
Then add that file to the sshd config.
```
TrustedUserCAKeys /etc/ssh/trusted-user-ca-keys.pem
```
### Automation
This step is currently manual as I have few hosts that I need ssh for. The most common tool for automation would be Ansible. But this would only be useful for my RaspberyPis and I plan to migrate those to Talos and Kubernetes in the future.
## Renew Client Certificate
Sign the client cert, on your machine, with the Vault CA.
```bash
vault write -field=signed_key ssh-client-signer/sign/alexlebens public_key=@$HOME/.ssh/id_rsa_host.pub > ~/.ssh/id_rsa_host-cert.pub
```
I added the following to my .zshrc to make this easier. So now I just run "vault-renew" before I need to ssh.
```
# Vault
export VAULT_ADDR="https://vault.alexlebens.net"
alias vault-renew='vault write -field=signed_key ssh-client-signer/sign/alexlebens public_key=@$HOME/.ssh/id_rsa_host.pub > ~/.ssh/id_rsa_host-cert.pub'
```
### View Cert Details
For troubleshooting purposes or clafification use the follow to inspect the cert.
```bash
ssh-keygen -Lf ~/.ssh/id_rsa_host-cert.pub
```
-1
View File
@@ -1,7 +1,6 @@
--- ---
title: Documentation for my Homelab title: Documentation for my Homelab
description: Guides and reference for my homelab infrastructure. description: Guides and reference for my homelab infrastructure.
template: splash
hero: hero:
tagline: Guides and reference for my homelab infrastructure. tagline: Guides and reference for my homelab infrastructure.
image: image:
@@ -1,6 +1,10 @@
--- ---
title: Introduction title: Introduction
description: Overiew of the homelab description: Overiew of the homelab
hero:
tagline: Steps followed for the v1.12.0 upgrade process
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/docs-collaboration.webp
sidebar: sidebar:
order: 1 order: 1
--- ---
+14
View File
@@ -0,0 +1,14 @@
// https://docs.astro.build/en/guides/integrations-guide/sitemap/#usage
import type { APIRoute } from 'astro';
const getRobotsTxt = (sitemapURL: URL) => `\
User-agent: *
Allow: /
Sitemap: ${sitemapURL.href}
`;
export const GET: APIRoute = ({ site }) => {
const sitemapURL = new URL('sitemap-index.xml', site);
return new Response(getRobotsTxt(sitemapURL));
};