What is Clan?
Clan is a setup tool that centralizes machine configurations for peer-to-peer self-hosted networks.
Unified Git Repository: Centralize secrets & configurations in a single repository
Clan uses a single Git repository to define everything about your machines. This central repository utilizes Nix or JSON files to specify configurations, including disk formatting. This streamlined and unified approach gives you the power to manage your servers from a central point without relying on a centralized provider, scaling your IT infrastructure on your own terms.
Automated Secret Management: Auto-generate and share secrets with your peers
Passwords and other sensitive information are encrypted within the Git repository and automatically decrypted during deployment. This keeps your secrets safe while also simplifying their management. Clan supports sharing secrets between admins, fostering collaboration and maintaining reproducibility and convenience without sacrificing security.
Automated Service Setup: Install services as if they were applications
Setting up a service can be quite complex: many server adjustments need to be made, from setting up a database to adjusting webserver configurations and generating the correct private keys. Clan aims to make setting up a service as easy as installing an application. Through the Modules system, everything down to secrets can be set up through a smooth automated process.
Automated Backups: Syncronize state and backup to other peers automatically
Each clan service specifies a state directory where all service state data is stored. This setup allows for the automatic backup of every service to other peers, including Postgres databases. With the Syncthing clan module you can have perfect replicas of your laptop.
Peer-to-peer Mesh VPN: Securely connect machines over a private network.
All machines in your Clan are interconnected through a self-configuring peer-to-peer mesh VPN. This additional layer of protection ensures that sensitive services, which might have too much attack surface to be hosted on the public internet, can still be made available on your Clan's network.
Live Overwrites: Deploy configurations over existing Linux distributions via SSH.
With Clan, you can skip the cumbersome task of bootstrapping specific installation images. Clan allows you to overwrite any existing Linux distribution live over SSH, eliminating time-consuming setup processes. Deploy updates or new configurations swiftly and efficiently, maximizing uptime and minimizing hassle.