Skip to content

Commit

Permalink
Initial config
Browse files Browse the repository at this point in the history
  • Loading branch information
petermein committed Dec 16, 2024
1 parent 03c0a32 commit 6c27a13
Show file tree
Hide file tree
Showing 36 changed files with 114 additions and 202 deletions.
23 changes: 22 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
.PHONY: *
.EXPORT_ALL_VARIABLES:

KUBECONFIG = $(shell pwd)/metal/kubeconfig.yaml
KUBECONFIG = ${HOME}/.kube/config
KUBE_CONFIG_PATH = $(KUBECONFIG)

default: metal system external smoke-test post-install clean
Expand All @@ -26,6 +26,7 @@ smoke-test:
post-install:
@./scripts/hacks

<<<<<<< HEAD
# TODO maybe there's a better way to manage backup with GitOps?
backup:
./scripts/backup --action setup --namespace=actualbudget --pvc=actualbudget-data
Expand All @@ -34,6 +35,26 @@ backup:
restore:
./scripts/backup --action restore --namespace=actualbudget --pvc=actualbudget-data
./scripts/backup --action restore --namespace=jellyfin --pvc=jellyfin-data
=======
tools:
@docker run \
--rm \
--interactive \
--tty \
--network host \
--volume "/var/run/docker.sock:/var/run/docker.sock" \
--volume $(shell pwd):$(shell pwd) \
--volume ${KUBECONFIG}:/root/.kube/config \
--volume ${HOME}/.ssh:/root/.ssh \
--volume ${HOME}/.terraform.d:/root/.terraform.d \
--volume homelab-tools-cache:/root/.cache \
--volume homelab-tools-nix:/nix \
--workdir $(shell pwd) \
--entrypoint /bin/sh \
docker.io/nixos/nix -c "\
git config --global --add safe.directory $(shell pwd) && \
nix --experimental-features 'nix-command flakes' develop"
>>>>>>> 162a814 (Initial config)

test:
make -C test
Expand Down
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Khue's Homelab

**[Features](#features)[Get Started](#get-started)[Documentation](https://homelab.khuedoan.com)**
**[Features](#features)[Get Started](#get-started)[Documentation](https://homelab.io.jupiter.mein.nl)**

[![tag](https://img.shields.io/github/v/tag/khuedoan/homelab?style=flat-square&logo=semver&logoColor=white)](https://github.com/khuedoan/homelab/tags)
[![document](https://img.shields.io/website?label=document&logo=gitbook&logoColor=white&style=flat-square&url=https%3A%2F%2Fhomelab.khuedoan.com)](https://homelab.khuedoan.com)
[![document](https://img.shields.io/website?label=document&logo=gitbook&logoColor=white&style=flat-square&url=https%3A%2F%2Fhomelab.io.jupiter.mein.nl)](https://homelab.io.jupiter.mein.nl)
[![license](https://img.shields.io/github/license/khuedoan/homelab?style=flat-square&logo=gnu&logoColor=white)](https://www.gnu.org/licenses/gpl-3.0.html)
[![stars](https://img.shields.io/github/stars/khuedoan/homelab?logo=github&logoColor=white&color=gold&style=flat-square)](https://github.com/khuedoan/homelab)

Expand Down Expand Up @@ -236,25 +236,25 @@ They can't capture all the project's features, but they are sufficient to get a

## Get Started

- [Try it out locally](https://homelab.khuedoan.com/installation/sandbox) without any hardware (just 4 commands!)
- [Deploy on real hardware](https://homelab.khuedoan.com/installation/production/prerequisites) for production workload
- [Try it out locally](https://homelab.io.jupiter.mein.nl/installation/sandbox) without any hardware (just 4 commands!)
- [Deploy on real hardware](https://homelab.io.jupiter.mein.nl/installation/production/prerequisites) for production workload

## Roadmap

See [roadmap](https://homelab.khuedoan.com/reference/roadmap) and [open issues](https://github.com/khuedoan/homelab/issues) for a list of proposed features and known issues.
See [roadmap](https://homelab.io.jupiter.mein.nl/reference/roadmap) and [open issues](https://github.com/khuedoan/homelab/issues) for a list of proposed features and known issues.

## Contributing

Any contributions you make are greatly appreciated.

Please see [contributing guide](https://homelab.khuedoan.com/reference/contributing) for more information.
Please see [contributing guide](https://homelab.io.jupiter.mein.nl/reference/contributing) for more information.

## License

Copyright &copy; 2020 - 2024 Khue Doan

Distributed under the GPLv3 License.
See [license page](https://homelab.khuedoan.com/reference/license) or `LICENSE.md` file for more information.
See [license page](https://homelab.io.jupiter.mein.nl/reference/license) or `LICENSE.md` file for more information.

## Acknowledgements

Expand Down
2 changes: 1 addition & 1 deletion apps/actualbudget/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ app-template:
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
hosts:
- host: &host budget.khuedoan.com
- host: &host budget.io.jupiter.mein.nl
paths:
- path: /
pathType: Prefix
Expand Down
6 changes: 3 additions & 3 deletions apps/blog/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ app-template:
containers:
main:
image:
repository: registry.khuedoan.com/blog
repository: registry.io.jupiter.mein.nl/blog
tag: latest
service:
main:
Expand All @@ -18,10 +18,10 @@ app-template:
className: nginx
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
external-dns.alpha.kubernetes.io/target: homelab-tunnel.khuedoan.com
external-dns.alpha.kubernetes.io/target: homelab-tunnel.io.jupiter.mein.nl
external-dns.alpha.kubernetes.io/cloudflare-proxied: 'true'
hosts:
- host: &host www.khuedoan.com
- host: &host www.io.jupiter.mein.nl
paths:
- path: /
pathType: Prefix
Expand Down
4 changes: 2 additions & 2 deletions apps/excalidraw/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ app-template:
className: nginx
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
external-dns.alpha.kubernetes.io/target: homelab-tunnel.khuedoan.com
external-dns.alpha.kubernetes.io/target: homelab-tunnel.io.jupiter.mein.nl
external-dns.alpha.kubernetes.io/cloudflare-proxied: 'true'
hosts:
- host: &host draw.khuedoan.com
- host: &host draw.io.jupiter.mein.nl
paths:
- path: /
pathType: Prefix
Expand Down
38 changes: 19 additions & 19 deletions apps/homepage/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ app-template:
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
hosts:
- host: &host home.khuedoan.com
- host: &host home.io.jupiter.mein.nl
paths:
- path: /
pathType: Prefix
Expand Down Expand Up @@ -61,76 +61,76 @@ app-template:
services.yaml: |
- Popular:
- Matrix:
href: https://chat.khuedoan.com
href: https://chat.io.jupiter.mein.nl
description: Chat client
icon: element.svg
- Jellyfin:
href: https://jellyfin.khuedoan.com
href: https://jellyfin.io.jupiter.mein.nl
description: Media system (movies, music, etc.)
icon: jellyfin.svg
- Jellyseerr:
href: https://jellyseerr.khuedoan.com
href: https://jellyseerr.io.jupiter.mein.nl
description: Request media
icon: jellyseerr.svg
- Paperless:
href: https://paperless.khuedoan.com
href: https://paperless.io.jupiter.mein.nl
description: Document management system
icon: paperless.svg
- Management:
- Transmission:
href: https://transmission.khuedoan.com
href: https://transmission.io.jupiter.mein.nl
description: Bittorrent client
icon: transmission.svg
- Prowlarr:
href: https://prowlarr.khuedoan.com
href: https://prowlarr.io.jupiter.mein.nl
description: Indexer manager
icon: prowlarr.svg
- Radarr:
href: https://radarr.khuedoan.com
href: https://radarr.io.jupiter.mein.nl
description: Movie manager
icon: radarr.svg
- Sonarr:
href: https://sonarr.khuedoan.com
href: https://sonarr.io.jupiter.mein.nl
description: TV show manager
icon: sonarr.svg
- Kanidm:
href: https://auth.khuedoan.com
href: https://auth.io.jupiter.mein.nl
description: Identity management
icon: https://auth.khuedoan.com/pkg/img/logo-square.svg
icon: https://auth.io.jupiter.mein.nl/pkg/img/logo-square.svg
- Development:
- Gitea:
href: https://git.khuedoan.com
href: https://git.io.jupiter.mein.nl
description: Git forge
icon: gitea.svg
- Woodpecker:
href: https://ci.khuedoan.com
href: https://ci.io.jupiter.mein.nl
description: Continuous integration
icon: woodpecker-ci.svg
- ArgoCD:
href: https://argocd.khuedoan.com
href: https://argocd.io.jupiter.mein.nl
description: Continuous deployment
icon: argocd.svg
- Registry:
href: https://registry.khuedoan.com
href: https://registry.io.jupiter.mein.nl
description: Container registry
icon: docker.svg
- Grafana:
href: https://grafana.khuedoan.com
href: https://grafana.io.jupiter.mein.nl
description: Observability dashboards
icon: grafana.svg
- Utilities:
- Excalidraw:
href: https://draw.khuedoan.com
href: https://draw.io.jupiter.mein.nl
description: Virtual whiteboard
icon: excalidraw.svg
- Speedtest:
href: https://speedtest.khuedoan.com
href: https://speedtest.io.jupiter.mein.nl
description: Internal network speed test
icon: openspeedtest.png
bookmarks.yaml: |
- Homelab:
- Documentation:
- href: https://homelab.khuedoan.com
- href: https://homelab.io.jupiter.mein.nl
icon: google-docs.svg
- Public homelab repository:
- href: https://github.com/khuedoan/homelab
Expand Down
12 changes: 6 additions & 6 deletions apps/jellyfin/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,42 +57,42 @@ app-template:
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
hosts:
- host: &jellyfinHost jellyfin.khuedoan.com
- host: &jellyfinHost jellyfin.io.jupiter.mein.nl
paths:
- path: /
pathType: Prefix
service:
name: main
port: http
- host: &transmissionHost transmission.khuedoan.com
- host: &transmissionHost transmission.io.jupiter.mein.nl
paths:
- path: /
pathType: Prefix
service:
name: main
port: transmission
- host: &prowlarrHost prowlarr.khuedoan.com
- host: &prowlarrHost prowlarr.io.jupiter.mein.nl
paths:
- path: /
pathType: Prefix
service:
name: main
port: prowlarr
- host: &radarrHost radarr.khuedoan.com
- host: &radarrHost radarr.io.jupiter.mein.nl
paths:
- path: /
pathType: Prefix
service:
name: main
port: radarr
- host: &sonarrHost sonarr.khuedoan.com
- host: &sonarrHost sonarr.io.jupiter.mein.nl
paths:
- path: /
pathType: Prefix
service:
name: main
port: sonarr
- host: &jellyseerrHost jellyseerr.khuedoan.com
- host: &jellyseerrHost jellyseerr.io.jupiter.mein.nl
paths:
- path: /
pathType: Prefix
Expand Down
14 changes: 7 additions & 7 deletions apps/matrix/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ elementweb:
className: nginx
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
external-dns.alpha.kubernetes.io/target: "homelab-tunnel.khuedoan.com"
external-dns.alpha.kubernetes.io/target: "homelab-tunnel.io.jupiter.mein.nl"
external-dns.alpha.kubernetes.io/cloudflare-proxied: "true"
hosts:
- host: &frontend_host chat.khuedoan.com
- host: &frontend_host chat.io.jupiter.mein.nl
paths:
- path: /
pathType: Prefix
Expand All @@ -17,22 +17,22 @@ elementweb:
- *frontend_host
config:
default:
base_url: https://matrix.khuedoan.com
server_name: khuedoan.com
base_url: https://matrix.io.jupiter.mein.nl
server_name: io.jupiter.mein.nl

dendrite:
dendrite_config:
global:
server_name: matrix.khuedoan.com
server_name: matrix.io.jupiter.mein.nl
ingress:
enabled: true
className: nginx
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
hostName: matrix.khuedoan.com
hostName: matrix.io.jupiter.mein.nl
tls:
- hosts:
- matrix.khuedoan.com
- matrix.io.jupiter.mein.nl
secretName: matrix-tls-certificate
postgresql:
enabled: true
4 changes: 2 additions & 2 deletions apps/ollama/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,14 @@ app-template:
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
hosts:
- host: &ollamaHost ollama.khuedoan.com
- host: &ollamaHost ollama.io.jupiter.mein.nl
paths:
- path: /
pathType: Prefix
service:
name: main
port: http
- host: &uiHost ai.khuedoan.com
- host: &uiHost ai.io.jupiter.mein.nl
paths:
- path: /
pathType: Prefix
Expand Down
2 changes: 1 addition & 1 deletion apps/pairdrop/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ app-template:
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
hosts:
- host: &host drop.khuedoan.com
- host: &host drop.io.jupiter.mein.nl
paths:
- path: /
pathType: Prefix
Expand Down
4 changes: 2 additions & 2 deletions apps/paperless/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ app-template:
env:
PAPERLESS_PORT: 8000
PAPERLESS_ADMIN_USER: admin
PAPERLESS_URL: https://paperless.khuedoan.com
PAPERLESS_URL: https://paperless.io.jupiter.mein.nl
envFrom:
- secret: "{{ .Release.Name }}-secret"
redis:
Expand All @@ -29,7 +29,7 @@ app-template:
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
hosts:
- host: &host paperless.khuedoan.com
- host: &host paperless.io.jupiter.mein.nl
paths:
- path: /
pathType: Prefix
Expand Down
2 changes: 1 addition & 1 deletion apps/speedtest/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ app-template:
nginx.ingress.kubernetes.io/proxy-body-size: 50m
cert-manager.io/cluster-issuer: letsencrypt-prod
hosts:
- host: &host speedtest.khuedoan.com
- host: &host speedtest.io.jupiter.mein.nl
paths:
- path: /
pathType: Prefix
Expand Down
4 changes: 2 additions & 2 deletions docs/how-to-guides/updating-documentation.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Updating documentation (this website)

This project uses the [Diátaxis](https://diataxis.fr) technical documentation framework.
The website is generated using [Material for MkDocs](https://squidfunk.github.io/mkdocs-material) and can be viewed at [homelab.khuedoan.com](https://homelab.khuedoan.com).
The website is generated using [Material for MkDocs](https://squidfunk.github.io/mkdocs-material) and can be viewed at [homelab.io.jupiter.mein.nl](https://homelab.io.jupiter.mein.nl).

There are 4 main parts:

Expand Down Expand Up @@ -34,7 +34,7 @@ It's running on my other cluster in the [khuedoan/horus](https://github.com/khue

<!-- - Add the following annotation to the Ingress on the new cluster: `TODO` -->
<!-- - Go to DNS config on Cloudflare dashboard -->
<!-- - Find the TXT record for `homelab.khuedoan.com` and switch the `ownerID` between `homelab` and `horus` -->
<!-- - Find the TXT record for `homelab.io.jupiter.mein.nl` and switch the `ownerID` between `homelab` and `horus` -->
<!-- - Wait for the matching CNAME or A record to change -->
<!-- - Check if you can still access the website -->
<!-- - Do what ever you want to do -->
Expand Down
Loading

0 comments on commit 6c27a13

Please sign in to comment.