Secure AlmaLinux Server setup with LUKS encryption, TPM, and mdadm RAID1 for Hetzner Dedicated Servers.
- Accept list of lighthouse endpoints (DNS names or IPs) - Remove specific HA setup references from README - Add recommendation for redundant DNS in script prompts - Add links to Nebula and GlusterFS documentation - Support multiple lighthouse endpoints separated by commas - More generic language suitable for any infrastructure setup |
||
---|---|---|
dotfiles | ||
.gitignore | ||
cluster-setup.sh | ||
get.sh | ||
icon.svg | ||
install.conf | ||
install.sh | ||
MASTER_README.md | ||
post-install.sh | ||
README.md |
Secure AlmaLinux (RHEL) Server setup with LUKS encryption, Tang, TPM and RAID1 for Hetzner Dedicated Servers.
Features
- AlmaLinux Server base
- Full disk encryption with LUKS
- Remote unlock via Tang server
- TPM-based boot verification
- mdadm RAID1 + XFS (RHEL standard)
- SSH key-only access with early boot SSH via dropbear
- Best-in-class terminal: zsh + powerlevel10k + evil tmux
Unlock Strategy
-
Automatic unlock via Tang/TPM (default):
- Configure TPM2 and/or Tang servers in post-install.sh
- System unlocks automatically if conditions are met
- No manual intervention required
-
Manual unlock via SSH (fallback):
- SSH to server on port 22 (dropbear in early boot)
- Enter LUKS passphrase when prompted (twice, once per disk)
- Used when automatic unlock fails or is not configured
Install
Boot your Hetzner server into rescue mode and run:
wget -qO- https://git.dominik-roth.eu/dodox/nullpoint/raw/branch/master/get.sh | bash
The installer will:
- Detect your SSH key from the current session
- Ask for hostname and username
- Generate a secure LUKS passphrase (SAVE IT!)
- Download and configure everything
- Run Hetzner's installimage automatically
Nullpoint Cluster
Create or join a distributed storage cluster with Nebula mesh networking and GlusterFS. Start with a single node and scale up by adding more servers.
wget -qO- https://git.dominik-roth.eu/dodox/nullpoint/raw/branch/master/cluster-setup.sh | sudo bash
- Storage mounted at:
/data/storage/
- all data replicated to all nodes - Encrypted mesh network - certificate-based trust with Nebula overlay
- Flexible lighthouse setup - use DNS names or direct IPs
- All nodes are lighthouses - full redundancy by default
- Simple secret sharing - just share lighthouse endpoints and CA cert to join