Secure AlmaLinux Server setup with LUKS encryption, TPM, and mdadm RAID1 for Hetzner Dedicated Servers.
Go to file
2025-08-24 19:01:06 +02:00
dotfiles Fix Python 3.13 pip and improve user installations 2025-08-18 22:35:37 +02:00
.gitignore rewrote everything 2025-05-18 18:31:20 +02:00
cluster-setup.sh Properly implement remote nodes as GlusterFS clients 2025-08-24 18:45:53 +02:00
get.sh seperate install and get scripts... 2025-08-17 23:47:07 +02:00
icon_cluster.svg better icon for nullpoint cluster 2025-08-24 19:01:06 +02:00
icon.svg fixed the iucon 2025-05-18 16:09:51 +02:00
install.conf fixes (dropbear etc) 2025-08-18 00:10:29 +02:00
install.sh fixes (dropbear etc) 2025-08-18 00:10:29 +02:00
MASTER_README.md check out raven 2025-05-13 21:23:55 +02:00
post-install.sh Fix Python 3.13 pip and improve user installations 2025-08-18 22:35:37 +02:00
README.md README h3 -> h2 2025-08-24 18:47:00 +02:00

nullpoint


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

  1. 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
  2. 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


Encrypted network and storage pool using Nebula mesh VPN and GlusterFS distributed filesystem.

Features

  • Encrypted mesh network - All traffic encrypted via Nebula overlay (192.168.100.0/24)
  • Distributed storage - Data replicated across all storage nodes
  • Simple joining - Single preshared secret + lighthouse endpoint
  • Flexible nodes - Full nodes (replicate data) or remote nodes (no storage)

Setup

wget -qO- https://git.dominik-roth.eu/dodox/nullpoint/raw/branch/master/cluster-setup.sh | sudo bash

Choose your node type:

  • Full node - Runs GlusterFS server, contributes storage, acts as lighthouse
    • Use for servers in same datacenter/region with low latency
  • Remote node - GlusterFS client only, no storage contribution
    • Use for edge locations, different regions, or high-latency connections
    • Avoids replication delays since writes don't wait for this node

Storage mounted at /data/storage/ on all nodes.