Compare commits

...

59 Commits

Author SHA1 Message Date
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
37 changed files with 3271 additions and 6440 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.14.0
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@v4
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@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:
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@v7
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.14.0
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@v4
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@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:
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@v7
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'
- 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
+4 -6
View File
@@ -2,11 +2,7 @@ name: renovate
on:
schedule:
- cron: '@daily'
push:
branches:
- main
- cron: '0 */6 * * *'
workflow_dispatch:
@@ -25,8 +21,10 @@ jobs:
RENOVATE_ENDPOINT: ${{ vars.INSTANCE_URL }}
RENOVATE_REPOSITORIES: alexlebens/site-documentation
RENOVATE_GIT_AUTHOR: Renovate Bot <renovate-bot@alexlebens.net>
RENOVATE_REDIS_URL: ${{ vars.RENOVATE_REDIS_URL }}
LOG_LEVEL: info
RENOVATE_TOKEN: ${{ secrets.RENOVATE_TOKEN }}
RENOVATE_GIT_PRIVATE_KEY: ${{ secrets.RENOVATE_GIT_PRIVATE_KEY }}
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 }}"}]'
+23 -11
View File
@@ -4,6 +4,9 @@ on:
push:
branches:
- main
paths-ignore:
- '.gitea/workflows/**'
- '**.md'
pull_request:
branches:
@@ -16,25 +19,34 @@ jobs:
- name: Checkout
uses: actions/checkout@v6
- name: Set up pnpm
uses: pnpm/action-setup@v4
with:
version: 10.x
- name: Set up Node.js
- name: Set up Node
uses: actions/setup-node@v6
with:
node-version: 24.14.0
cache: pnpm
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: 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
# run: pnpm lint
# run: bun run lint
- name: Build Project
run: pnpm build
run: bun run build
- name: ntfy Failed
uses: niniyas/ntfy-action@master
-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"
}]
]
}
+76
View File
@@ -0,0 +1,76 @@
# [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
FROM ${REGISTRY}/node:24.14.0-alpine AS base
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
ARG REGISTRY=dhi.io
FROM ${REGISTRY}/bun:1.3.11-alpine3.22-dev AS builder
WORKDIR /app
COPY package.json pnpm-lock.yaml ./
COPY package.json bun.lock ./
FROM base AS prod-deps
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile
FROM builder AS prod-deps
RUN --mount=type=cache,id=bun,target=/root/.bun/install/cache \
bun install --production --frozen-lockfile
FROM prod-deps AS build-deps
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
FROM builder AS build-deps
RUN --mount=type=cache,id=bun,target=/root/.bun/install/cache \
bun install --frozen-lockfile
FROM build-deps AS build
COPY . .
RUN pnpm run build
RUN pnpm prune --prod
RUN bun run build
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=build /app/dist /app/dist
ARG APP_VERSION=latest
ARG APP_VERSION
ENV HOST=0.0.0.0
ENV SITE_URL=https://docs.alexlebens.dev
ENV PORT=4321
LABEL version="0.1.7"
LABEL version=$APP_VERSION
LABEL description="Astro based documentation website"
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
```
## 🚀 Project Structure
## Project Structure
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.
## 🧞 Commands
## Commands
All commands are run from the root of the project, from a terminal:
| Command | Action |
| :--------------------- | :----------------------------------------------- |
| `pnpm install` | Installs dependencies |
| `pnpm dev` | Starts local dev server at `localhost:4321` |
| `pnpm 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 |
| `bun install` | Installs dependencies |
| `bun run dev` | Starts local dev server at `localhost:4321` |
| `bun run build` | Build your production site to `./dist/` |
+17 -5
View File
@@ -2,10 +2,12 @@
import { defineConfig } from "astro/config";
import node from "@astrojs/node";
import tailwindcss from "@tailwindcss/vite";
import sitemap from '@astrojs/sitemap';
import starlight from "@astrojs/starlight";
import starlightThemeRapide from 'starlight-theme-rapide'
import tailwindcss from '@tailwindcss/vite';
const getSiteURL = () => {
if (process.env.SITE_URL) {
return `https://${process.env.SITE_URL}`;
@@ -13,12 +15,15 @@ const getSiteURL = () => {
return "http://localhost:4321";
};
// https://astro.build/config
export default defineConfig({
site: getSiteURL(),
security: { csp: true },
prefetch: true,
integrations: [
tailwindcss(),
sitemap(),
starlight({
title: "Alex Lebens Docs",
customCss: [
@@ -45,21 +50,28 @@ export default defineConfig({
},
{
label: "Applications",
collapsed: true,
autogenerate: { directory: "applications" },
},
],
}),
],
markdown: {
syntaxHighlight: false,
},
plugins: {
"@tailwindcss/postcss": {},
'@tailwindcss/postcss': {},
},
vite: {
plugins: [tailwindcss()],
},
output: 'static',
adapter: node({
mode: "standalone",
mode: 'standalone',
}),
});
+2420
View File
File diff suppressed because it is too large Load Diff
+20 -10
View File
@@ -1,7 +1,7 @@
{
"name": "site-documentation",
"type": "module",
"version": "0.1.7",
"version": "0.10.0",
"scripts": {
"dev": "astro dev",
"build": "astro build",
@@ -12,27 +12,37 @@
"astro": "astro"
},
"dependencies": {
"@astrojs/mdx": "^4.3.13",
"@astrojs/node": "^9.5.4",
"@astrojs/starlight": "^0.37.6",
"@astrojs/mdx": "^5.0.0",
"@astrojs/node": "^10.0.1",
"@astrojs/sitemap": "^3.7.1",
"@astrojs/starlight": "^0.38.1",
"@tailwindcss/postcss": "^4.2.1",
"@tailwindcss/vite": "^4.2.1",
"astro": "^5.18.0",
"motion": "^12.34.3",
"astro": "^6.0.4",
"sanitize-html": "^2.17.1",
"sharp": "^0.34.5",
"starlight-theme-rapide": "^0.5.2",
"tailwindcss": "^4.2.1"
},
"devDependencies": {
"@saithodev/semantic-release-gitea": "^2.1.0",
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/commit-analyzer": "^13.0.1",
"@semantic-release/git": "^10.0.1",
"@semantic-release/npm": "^13.1.5",
"@semantic-release/release-notes-generator": "^14.1.0",
"@tailwindcss/forms": "^0.5.11",
"@tailwindcss/typography": "^0.5.19",
"@typescript-eslint/parser": "^8.56.1",
"eslint": "^10.0.2",
"@typescript-eslint/parser": "^8.57.0",
"eslint": "^10.0.3",
"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",
"typescript-eslint": "^8.56.1"
"semantic-release": "^25.0.3",
"semantic-release-export-data": "^1.2.0",
"typescript": "^6.0.0",
"typescript-eslint": "^8.57.0"
}
}
}
-6108
View File
File diff suppressed because it is too large Load Diff
+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: Argo Workflows
description: Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes.
hero:
tagline: Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/argo-cd.webp
actions:
- text: Source
link: https://github.com/argoproj/argo-workflows
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/argo-workflows
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
---
@@ -0,0 +1,15 @@
---
title: Code Server
description: Run VS Code on any machine anywhere and access it in the browser.
hero:
tagline: Run VS Code on any machine anywhere and access it in the browser.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/visual-studio-code.webp
actions:
- text: Source
link: https://github.com/coder/code-server
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/code-server
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: 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
---
@@ -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
---
-1
View File
@@ -1,7 +1,6 @@
---
title: Documentation for my Homelab
description: Guides and reference for my homelab infrastructure.
template: splash
hero:
tagline: Guides and reference for my homelab infrastructure.
image:
+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));
};