52ec503dc42c642829471253caa36762ffa44b93
Haven
**A *forever-work-in-progress* self-hosted server setup**Based on a multi-node k3s cluster running on VMs and bare metal hardware.
The overall application configs are stored in a NFS share inside of a SSD that was purposed specifically for this. For that I'm using nfs-subdir-external-provisioner
as a dynamic storage provisioner with specified paths on each PVC. Some other data is stored on a NAS server with a NFS share as well.
The cluster is running on k3s
with nginx
as the ingress controller. For load balancing I'm using MetalLB
in layer 2 mode. I'm also using cert-manager
for local CA and certificates (as Vaultwarden requires it).
For more information on setup, check out SETUP.md.
Also, the repository name is a reference to my local TLD which is .haven
:)
Namespaces
- default
- ArchiveBox
- Homarr
- Homepage
- It-tools
- Notepad
- Searxng
- Uptimekuma
- Vaultwarden
- dns
- AdGuardHome
- AdGuardHome-2 (2nd instance)
- AdGuard-Sync
- infra
- Haven Notify (my own internal service)
- Beszel
- Beszel Agent (running as DaemonSet)
- Code Config (vscode for internal config editing)
- WireGuard Easy
- dev
- Gitea Runner (x64)
- Gitea Runner (arm64)
Miscellaneous namespaces
- lab (A playground/sandbox namespace)
- nfs-pod (for testing and accessing NFS mounts through NFS)
- metallb-system
- MetalLB components
- cert-manager
- Cert-Manager components
Todo:
- Move archivebox data to its own PVC on NAS
- Move uptimekuma to
infra
namespace - Add links to each application docs
- Add links to server scripts
Description
Languages
Markdown
100%