Compare commits

...

4 Commits

Author SHA1 Message Date
semantic-release-bot
720efcec9f chore(release): 0.33.0 [skip ci]
# [0.33.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.32.0...0.33.0) (2026-05-13)

### Features

* spell check pass ([a4dcf85](a4dcf8515d))
2026-05-13 20:17:11 +00:00
a4dcf8515d feat: spell check pass
All checks were successful
test-build / guarddog (push) Successful in 54s
test-build / build (push) Successful in 1m37s
release-image / guarddog (push) Successful in 42s
release-image / build (push) Successful in 1m16s
release-image / semantic-release (push) Successful in 35s
release-image / release-harbor (push) Has been skipped
release-image / release-gitea (push) Has been skipped
2026-05-13 14:59:09 -05:00
semantic-release-bot
c6d9a3d9da chore(release): 0.32.0 [skip ci]
# [0.32.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.31.0...0.32.0) (2026-05-13)

### Features

* change logo ([1d021e3](1d021e3095))
2026-05-13 17:39:17 +00:00
1d021e3095 feat: change logo
All checks were successful
test-build / guarddog (push) Successful in 1m24s
test-build / build (push) Successful in 2m3s
release-image / guarddog (push) Successful in 18s
release-image / build (push) Successful in 1m9s
release-image / semantic-release (push) Successful in 26s
release-image / release-harbor (push) Successful in 8m1s
release-image / release-gitea (push) Successful in 1m56s
renovate / renovate (push) Successful in 57s
2026-05-12 19:03:53 -05:00
45 changed files with 67 additions and 156 deletions

View File

@@ -1,3 +1,17 @@
# [0.33.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.32.0...0.33.0) (2026-05-13)
### Features
* spell check pass ([a4dcf85](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/a4dcf8515da4f3eb81a5b09f7cb719c95d99f804))
# [0.32.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.31.0...0.32.0) (2026-05-13)
### Features
* change logo ([1d021e3](http://gitea-http.gitea:3000/alexlebens/site-documentation/commit/1d021e309587bf58daa88957d5d92714c7d4509f))
# [0.31.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.30.0...0.31.0) (2026-05-13) # [0.31.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.30.0...0.31.0) (2026-05-13)

View File

@@ -1,7 +1,7 @@
{ {
"name": "site-documentation", "name": "site-documentation",
"type": "module", "type": "module",
"version": "0.31.0", "version": "0.33.0",
"scripts": { "scripts": {
"dev": "astro dev", "dev": "astro dev",
"build": "astro build", "build": "astro build",

View File

@@ -26,4 +26,4 @@ Deploying and managing resources within Kubernetes clusters.
Syncs from templates defined in the [infrastructure](https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/manifests/) repo, manifests branch. Deeply integrated with Gitea and the rendered manifests system. Syncs from templates defined in the [infrastructure](https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/manifests/) repo, manifests branch. Deeply integrated with Gitea and the rendered manifests system.
Also used as a dashboard for resources, mostly for logs and restarting deployments. This is also done in [Headlamp](https://docs.alexlebens.dev/applications/headlamp/), which is the full featured dashboard. Also used as a dashboard for resources, mostly for logs and restarting deployments. This is also done in [Headlamp](https://docs.alexlebens.dev/applications/headlamp/), which is the full-featured dashboard.

View File

@@ -16,7 +16,7 @@ hero:
# Purpose # Purpose
Podcasts, Audiobbooks, and Books. Podcasts, Audiobooks, and Books.
# Notes # Notes

View File

@@ -26,4 +26,4 @@ Single sign on authentication for applications that support OIDC.
# Notes # Notes
Available at public, local, and Tailscale endpoints. Apps are configured for their like endppoints. Available at public, local, and Tailscale endpoints. Apps are configured for their like endpoints.

View File

@@ -16,10 +16,10 @@ hero:
# Purpose # Purpose
Backup system for files on the NAS. For size contraint reasons, does not backup most video content. Backup system for files on the NAS. For size constraint reasons, does not backup most video content.
# Notes # Notes
Must be manually configured in the app. Has been setup for targets at the remote - PiBox - or the Digital Ocean S3 buckets. Must be manually configured in the app. Has been set up for targets at the remote - PiBox - or the Digital Ocean S3 buckets.
Mainly just for irreplacable files. Mainly just for irreplaceable files.

View File

@@ -20,10 +20,10 @@ import { Aside } from '@astrojs/starlight/components';
# Purpose # Purpose
Very fast and declarative config DNS with built in adblocking. Used for local domain name configuration as well. Very fast and declarative config DNS with built-in ad blocking. Used for local domain name configuration as well.
# Notes # Notes
Deployments in cluster, on RaspberryPis, and the PiBox. Cluster and Tailscale use the cluster endpoint, clients use the RaspberyPis, and home network used the PiBox. Deployments in cluster, on RaspberryPis, and the PiBox. Cluster and Tailscale use the cluster endpoint, clients use the RaspberyPis, and home network used the PiBox.
DNS over TLS to Cloudflare servers and somewhat agressive blocking. DNS over TLS to Cloudflare servers and somewhat aggressive blocking.

View File

@@ -26,6 +26,6 @@ Operator that manages PostgreSQL deployments in cluster.
A very important application since many core services and applications depend on PostgreSQL databases. A very important application since many core services and applications depend on PostgreSQL databases.
Backups to the NAS with replication of the base backups to remote and DigialOcean S3 endpoints. Backups to the NAS with replication of the base backups to remote and DigitalOcean S3 endpoints.
Used in conjunction with [this](https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster) Helm Chart to easily deploy and manage the application PostgreSQL instances. Used in conjunction with [this](https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster) Helm Chart to easily deploy and manage the application PostgreSQL instances.

View File

@@ -24,6 +24,6 @@ DNS server just for cluster services, such as pod and service routing.
# Notes # Notes
Upstreams to [Blocky](https://docs.alexlebens.dev/applications/blocky/) for external DNS queries and also to the [Tailscale](https://docs.alexlebens.dev/applications/tailscale-operator/) DNS server for Tailnet access. Upstream to [Blocky](https://docs.alexlebens.dev/applications/blocky/) for external DNS queries and also to the [Tailscale](https://docs.alexlebens.dev/applications/tailscale-operator/) DNS server for Tailnet access.
Deploys as part of the Talos upgrades, but managed by Helm chart for the above custom configuration. Deploys as part of the Talos upgrades, but managed by Helm chart for the above custom configuration.

View File

@@ -26,7 +26,7 @@ Used for applications that need to store a lot of data, but not over the NFS con
## Resizing the Prometheus disk ## Resizing the Prometheus disk
There is an issue resizing iSCSI disks. The following Github issue has instructions on how to manually resize if a permissions error is thrown. There is an issue resizing iSCSI disks. The following GitHub issue has instructions on how to manually resize if a permissions error is thrown.
https://github.com/democratic-csi/democratic-csi/issues/491#issuecomment-3778463893 https://github.com/democratic-csi/democratic-csi/issues/491#issuecomment-3778463893

View File

@@ -20,4 +20,4 @@ Automatic service that cleans up local caches of images.
# Notes # Notes
Removes all non running images. This does cause a startup delay, but [Harbor](https://docs.alexlebens.dev/applications/harbor/) is configured as a generic pull through cache, so pulls for new images should be quick. Removes all non-running images. This does cause a startup delay, but [Harbor](https://docs.alexlebens.dev/applications/harbor/) is configured as a generic pull through cache, so pulls for new images should be quick.

View File

@@ -20,7 +20,7 @@ import { Aside } from '@astrojs/starlight/components';
# Purpose # Purpose
Very useful, decalarative way to make Kubernetes Secrets from an external provider. Very useful, declarative way to make Kubernetes Secrets from an external provider.
# Notes # Notes

View File

@@ -24,4 +24,4 @@ RSS reader for various news sites as well as software releases.
# Notes # Notes
A little finicky to setup, predates popular use of containers, but still functions quite well. I mostly use it with an Android app. A little finicky to set up, predates popular use of containers, but still functions quite well. I mostly use it with an Android app.

View File

@@ -20,7 +20,7 @@ import { Aside } from '@astrojs/starlight/components';
# Purpose # Purpose
Uptime and down notifications for all endpoints, both local and public. Up time and down notifications for all endpoints, both local and public.
# Notes # Notes

View File

@@ -20,4 +20,4 @@ Plugin used to give devices to pods, specifically tun devices for networking.
# Notes # Notes
Used by recomendation in [Tailscale Docs](https://docs.siderolabs.com/kubernetes-guides/advanced-guides/device-plugins). Used by recommendation in [Tailscale Docs](https://docs.siderolabs.com/kubernetes-guides/advanced-guides/device-plugins).

View File

@@ -24,8 +24,8 @@ import { Aside } from '@astrojs/starlight/components';
# Purpose # Purpose
Git repoistory for storing all my code. Git repository for storing all my code.
# Notes # Notes
Primary code repo, repositories set to replicate to a PiBox as well as Github for a layer of backup. Primary code repo, repositories set to replicate to a PiBox as well as GitHub for a layer of backup.

View File

@@ -24,6 +24,6 @@ Pull through cache and registry for personal images built in Gitea.
# Notes # Notes
Talos is configured to direct pulls to Docker, Github, and others to Harbor first. Stores these images as a cache to avoid rate limiting, primarily by Docker hub. Talos is configured to direct pulls to Docker, GitHub, and others to Harbor first. Stores these images as a cache to avoid rate limiting, primarily by Docker hub.
Any of my own images also get stored here to deploy. Any of my own images also get stored here to deploy.

View File

@@ -16,7 +16,7 @@ hero:
# Purpose # Purpose
Local copies of various wikis and other datasets. Local copies of various wikis and other data sets.
# Notes # Notes

View File

@@ -20,6 +20,6 @@ Manages deployments of single nodes hosts with docker compose stacks.
# Notes # Notes
Manual setup, but follows Gitops with webhook triggered updates from Gitea. Manual setup, but follows Git ops with webhook triggered updates from Gitea.
Compose files are placed in [infrastructure](https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/hosts) under the hosts dir. Compose files are placed in [infrastructure](https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/hosts) under the hosts dir.

View File

@@ -16,7 +16,7 @@ hero:
# Purpose # Purpose
Provides higher level grammer and spell checking service. Provides higher level grammar and spell checking service.
# Notes # Notes

View File

@@ -20,6 +20,6 @@ Servarr app that manages the metadata and organization of music.
# Notes # Notes
Connects to [qbittorrent](https://docs.alexlebens.dev/applications/qbittorrent), [slskd](https://docs.alexlebens.dev/applications/slskd) with support from [prowlarr](https://docs.alexlebens.dev/applications/prowlarr) and [unpackerr](https://docs.alexlebens.dev/applications/unpackerr). Connects to [qbittorrent](https://docs.alexlebens.dev/applications/qbittorrent), [slskd](https://docs.alexlebens.dev/applications/slskd) with support from [Prowlarr](https://docs.alexlebens.dev/applications/prowlarr) and [Unpackerr](https://docs.alexlebens.dev/applications/unpackerr).
Runs on nightly branch to integrate plugins. Runs on nightly branch to integrate plugins.

View File

@@ -16,7 +16,7 @@ hero:
# Purpose # Purpose
Storage for paths on the local node's NVME drive. When high performance, but non redundant storage is required. Storage for paths on the local node's NVME drive. When high performance, but non-redundant storage is required.
# Notes # Notes

View File

@@ -20,12 +20,12 @@ import { Aside } from '@astrojs/starlight/components';
# Purpose # Purpose
Collects logs from pods and makes them availabile in Grafana. Collects logs from pods and makes them available in Grafana.
# Notes # Notes
Uses iSCSI for log storage. Uses iSCSI for log storage.
Generally unused as I inspect most logs in [ArgoCD](https://docs.alexlebens.dev/applications/argo-cd/) or [Headlamp](https://docs.alexlebens.dev/applications/headlamp/). But this does keep them for longer rentention. Generally unused as I inspect most logs in [ArgoCD](https://docs.alexlebens.dev/applications/argo-cd/) or [Headlamp](https://docs.alexlebens.dev/applications/headlamp/). But this does keep them for longer retention
Maybe someday will integrate AI from [Ollama](https://docs.alexlebens.dev/applications/ollama/) to monitor and report on logs. Maybe someday will integrate AI from [Ollama](https://docs.alexlebens.dev/applications/ollama/) to monitor and report on logs.

View File

@@ -16,7 +16,7 @@ hero:
# Purpose # Purpose
Core Kubernetes service that provides basic metrics on cpu, memory, and disk that is used by Kubernetes for tooling such as scaling. Also what is seen in [Headlamp](https://docs.alexlebens.dev/applications/headlamp) for live stats. Core Kubernetes service that provides basic metrics on CPU, memory, and disk that is used by Kubernetes for tooling such as scaling. Also, what is seen in [Headlamp](https://docs.alexlebens.dev/applications/headlamp) for live stats.
# Notes # Notes

View File

@@ -24,6 +24,6 @@ Music server that uses the subsonic protocol.
# Notes # Notes
Chart also deploys a webclient of [Feishin](https://github.com/jeffvli/feishin), but I mostly use the desktop app. On Android I use [Symfonium](https://symfonium.app/). Chart also deploys a web client of [Feishin](https://github.com/jeffvli/feishin), but I mostly use the desktop app. On Android I use [Symfonium](https://symfonium.app/).
While I can use [Jellyfin](https://docs.alexlebens.dev/applications/jellyfin) for music, I prefer separation for dedicated media types. While I can use [Jellyfin](https://docs.alexlebens.dev/applications/jellyfin) for music, I prefer separation for dedicated media types.

View File

@@ -24,4 +24,4 @@ Notification service based on a Pub/Sub model.
# Notes # Notes
Very useful service that sends notifications to my phone and is widely addopted by a lot of other apps or has bridging support such as through [apprise](https://github.com/caronc/apprise). Very useful service that sends notifications to my phone and is widely adopted by a lot of other apps or has bridging support such as through [apprise](https://github.com/caronc/apprise).

View File

@@ -24,4 +24,4 @@ Local AI servers.
Configured mostly to run the Gemma models. Configured mostly to run the Gemma models.
Tailscale connction to the desktop GPU for larger model processing. Tailscale connection to the desktop GPU for larger model processing.

View File

@@ -24,8 +24,8 @@ Secrets manager.
# Notes # Notes
Retrieved by [External Secrets](https://docs.alexlebens.dev/applications/external-secrets/) for making them availible in cluster. Retrieved by [External Secrets](https://docs.alexlebens.dev/applications/external-secrets/) for making them available in cluster.
Can store other secrets, but primarily used for cluster secrets. Can store other secrets, but primarily used for cluster secrets.
And by 'secrets' this means passwords, keys, etc, that are confidential and non public. And by 'secrets' this means passwords, keys, etc, that are confidential and non-public.

View File

@@ -24,6 +24,6 @@ Automates social media posting.
# Notes # Notes
So dumb and complex to setup, has hard dependency on [Temporal](https://github.com/temporalio). So dumb and complex to set up, has hard dependency on [Temporal](https://github.com/temporalio).
Haven't begun to use, but want to connect to automate posting of my blog. Haven't begun to use, but want to connect to automate posting of my blog.

View File

@@ -20,4 +20,4 @@ Simple service that will ensure a restart of services if their mounted ConfigMap
# Notes # Notes
Used by a few apps, such as homepage where its entirely configured by ConfigMap. Used by a few apps, such as homepage where it's entirely configured by ConfigMap.

View File

@@ -22,7 +22,7 @@ import { Aside } from '@astrojs/starlight/components';
# Purpose # Purpose
Clustered storage that runs on the SSDs in cluster to provide durable and reliable block and filesystem volumes. Clustered storage that runs on the SSDs in cluster to provide durable and reliable block and file system volumes.
# Notes # Notes
@@ -30,4 +30,4 @@ Runs [Ceph](https://ceph.io/en/) underneath and managed by Rook pods.
Ensure this system is healthy before any upgrades and restarts. Ensure this system is healthy before any upgrades and restarts.
One of the main pressures to increase node count to expand host and disk count of this cluster for more space as well as durabiliy during node outages. One of the main pressures to increase node count to expand host and disk count of this cluster for more space as well as durability during node outages.

View File

@@ -1,27 +0,0 @@
---
title: Roundcube
description: Roundcube Webmail is a browser-based multilingual IMAP client with an application-like user interface.
hero:
tagline: Roundcube Webmail is a browser-based multilingual IMAP client with an application-like user interface.
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/roundcube.webp
actions:
- text: Source
link: https://github.com/roundcube/roundcubemail
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/roundcube
icon: right-arrow
---
# Purpose
Internal client for email.
# Notes
Connected to [Stalwart](https://docs.alexlebens.dev/applications/stalwart/).
Generally unsued as I have not configured any services for sending email.
This is NOT used for external email, such as gmail.

View File

@@ -20,7 +20,7 @@ import { Aside } from '@astrojs/starlight/components';
# Purpose # Purpose
Analytics service for my websites. Analytic service for my websites.
# Notes # Notes

View File

@@ -24,4 +24,4 @@ Metrics from the Shelly Plug.
# Notes # Notes
Can provide historical wattage use of the shelly plug which the entire homelab's electricity passes through. Can provide historical wattage use of the Shelly plug which the entire homelab's electricity passes through.

View File

@@ -26,7 +26,7 @@ import { Aside } from '@astrojs/starlight/components';
# Purpose # Purpose
Manages metadata for tv shows. Manages metadata for TV shows.
# Notes # Notes

View File

@@ -1,25 +0,0 @@
---
title: Stalwart
description: All-in-one Mail & Collaboration server. Secure, scalable and fluent in every protocol (IMAP, JMAP, SMTP, CalDAV, CardDAV, WebDAV).
hero:
tagline: All-in-one Mail & Collaboration server. Secure, scalable and fluent in every protocol (IMAP, JMAP, SMTP, CalDAV, CardDAV, WebDAV).
image:
file: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/stalwart.webp
actions:
- text: Source
link: https://github.com/stalwartlabs/mail-server
icon: right-arrow
- text: Deployment Chart
link: https://gitea.alexlebens.dev/alexlebens/infrastructure/src/branch/main/clusters/cl01tl/helm/stalwart
icon: right-arrow
---
# Purpose
Email server.
# Notes
Configuration seems to be only through UI.
Not currently used.

View File

@@ -20,10 +20,10 @@ import { Aside } from '@astrojs/starlight/components';
# Purpose # Purpose
Runs healthchecks on media files. Runs health checks on media files.
# Notes # Notes
Need to check the error queue, sometimes there are false errors. Need to check the error queue, sometimes there are false errors.
Runs the files through ffmpeg on either cpu or gpu, but gpu generates more false errors. Runs the files through ffmpeg on either CPU or GPU, but GPU generates more false errors.

View File

@@ -24,4 +24,4 @@ Gateway for the cluster, enables external access of the webpages for both host r
# Notes # Notes
Really want to swap it out for Cillium's built in Gateway implementation. Really want to swap it out for Cillium's built-in Gateway implementation.

View File

@@ -16,8 +16,8 @@ hero:
# Purpose # Purpose
Archives Youtube videos. Archives YouTube videos.
# Notes # Notes
Mostly to ensure I get to keep videos that may be deleted or removed from Youtube. Also for videos I want to save to watch locally. Mostly to ensure I get to keep videos that may be deleted or removed from YouTube. Also for videos I want to save to watch locally.

View File

@@ -20,7 +20,7 @@ import { Aside } from '@astrojs/starlight/components';
# Purpose # Purpose
Geneates metrics from the Ubqituiy network devices. Generates metrics from the Ubiquity network devices.
# Notes # Notes

View File

@@ -24,8 +24,8 @@ Secrets manager.
# Notes # Notes
Retrieved by [External Secrets](https://docs.alexlebens.dev/applications/external-secrets/) for making them availible in cluster. Retrieved by [External Secrets](https://docs.alexlebens.dev/applications/external-secrets/) for making them available in cluster.
Can store other secrets, but primarily used for cluster secrets. Can store other secrets, but primarily used for cluster secrets.
And by 'secrets' this means passwords, keys, etc, that are confidential and non public. And by 'secrets' this means passwords, keys, etc, that are confidential and non-public.

View File

@@ -1,51 +0,0 @@
---
title: 3D Printer Overview
description: Specifications and basic information about the 3D printer
hero:
tagline: Specifications and basic information about the 3D printer
image:
file: https://cdn.shopify.com/s/files/1/0893/0603/8637/files/K1-_02-2.png?v=1762200477
---
import { Aside } from '@astrojs/starlight/components';
<Aside type="tip">Quickly connect to its web page [here](http://printer.lebens-home.net/).</Aside>
# Overview
The 3D printer is a [Creality K1C](https://www.creality.com/products/k1c-carbon-3d-printer) which has several features that make it somewhat more user-friendly, such as auto leveling. Notably this model does not include automatic multi filament switching that newer versions have. It does use open source software and [Mainsail](https://docs.mainsail.xyz/) is installed as its web interface.
In order to print objects you first need a model, usually a stl file, then the model needs to be 'sliced' into instructions for the printer, then print. These guides document the process for this 3D printer.
## Specifications
| Atttribute| Size|
|---|----|
| Filament Diameter | 1.75mm |
| Nozzle Diameter | 0.4mm |
| Layer Height | 0.1-0.35mm |
| Printing Accuracy | 100±0.1mm |
| Build Volume | 220\*220\*250mm |
## Supported filament types
- ABS
- PLA
- PLA-CF
- PETG
- PET
- PET-CF
- TPU
- PA
- ASA
- PC
## Slicing file formats
- STL
- OBJ
- 3MF
## Printable file formats
- G-Code

View File

@@ -4,7 +4,7 @@ description: Load model into OrcaSlicer
hero: hero:
tagline: Load model into OrcaSlicer tagline: Load model into OrcaSlicer
image: image:
file: https://cdn.shopify.com/s/files/1/0893/0603/8637/files/K1-_02-2.png?v=1762200477 file: https://raw.githubusercontent.com/OrcaSlicer/OrcaSlicer/a167702038496b97e8495cc79f0c62660063ac87/resources/images/studio_logo.svg
--- ---
import { Aside } from '@astrojs/starlight/components'; import { Aside } from '@astrojs/starlight/components';

View File

@@ -11,7 +11,7 @@ hero:
[Reference OpenBao Documentation](https://openbao.org/docs/secrets/ssh/signed-ssh-certificates/) [Reference OpenBao Documentation](https://openbao.org/docs/secrets/ssh/signed-ssh-certificates/)
I have set the documenation to use my own defaults and configuration. This also assumes a running and active OpenBao instance. I have set the documentation to use my own defaults and configuration. This also assumes a running and active OpenBao instance.
## Enable the SSH CA ## Enable the SSH CA
@@ -103,7 +103,7 @@ alias bao-renew='bao write -field=signed_key ssh-client-signer/sign/alexlebens p
### View Cert Details ### View Cert Details
For troubleshooting purposes or clafification use the follow to inspect the cert. For troubleshooting purposes or clarification use the follow to inspect the cert.
```bash ```bash
ssh-keygen -Lf ~/.ssh/id_rsa_host-cert.pub ssh-keygen -Lf ~/.ssh/id_rsa_host-cert.pub
``` ```

View File

@@ -13,7 +13,7 @@ hero:
import { Card, CardGrid, LinkCard } from '@astrojs/starlight/components'; import { Card, CardGrid, LinkCard } from '@astrojs/starlight/components';
## Hightlights ## Highlights
<CardGrid stagger> <CardGrid stagger>
<LinkCard <LinkCard
@@ -30,5 +30,5 @@ import { Card, CardGrid, LinkCard } from '@astrojs/starlight/components';
title="Get started with the 3D Printer" title="Get started with the 3D Printer"
description="Guide for setting up OrcaSlicer" description="Guide for setting up OrcaSlicer"
href="https://docs.alexlebens.dev/guides/3d-printer/orcaslicer/" href="https://docs.alexlebens.dev/guides/3d-printer/orcaslicer/"
></LinkCard> ></LinkCard>
</CardGrid> </CardGrid>