No description
Find a file
padreug 30a1ae28f7 Refactor shared configuration and update LNBits service for improved domain handling
Updated shared.nix to enhance domain parameter propagation and modified configuration.nix to utilize the inherited domain for machine-specific setups. Adjusted example-service.nix to accept the domain as an argument, improving modularity. Additionally, added a new documentation file explaining the LNBits flake deployment process, detailing architecture, key components, and deployment instructions for better onboarding and understanding of the system.
2025-10-12 08:52:56 +02:00
config Refactor shared configuration and update LNBits service for improved domain handling 2025-10-12 08:52:56 +02:00
docs Refactor shared configuration and update LNBits service for improved domain handling 2025-10-12 08:52:56 +02:00
.gitignore Add build-local.nix for machine-specific web-app builds and update deployment instructions 2025-10-12 08:34:58 +02:00
DEPLOYMENT-GUIDE.md Add build-local.nix for machine-specific web-app builds and update deployment instructions 2025-10-12 08:34:58 +02:00
example-build-local.nix Add build-local.nix for machine-specific web-app builds and update deployment instructions 2025-10-12 08:34:58 +02:00
example-krops.nix Add initial deployment configuration and setup instructions 2025-10-12 08:25:10 +02:00
README.md Add krops multi-machine deployment configuration for nix-25.05 2025-09-30 11:05:52 +02:00

Krops Multi-Machine Deployment

This project deploys NixOS configurations to two machines using krops with nix-25.05.

Structure

.
├── krops.nix                      # Main deployment configuration
└── config/
    ├── machine1/
    │   └── configuration.nix      # Machine 1 NixOS config
    └── machine2/
        └── configuration.nix      # Machine 2 NixOS config

Setup

  1. Update target hostnames/IPs in krops.nix:

    • Change root@machine1.example.com to your machine1 address
    • Change root@machine2.example.com to your machine2 address
  2. Customize NixOS configurations in config/machine1/configuration.nix and config/machine2/configuration.nix

Usage

Deploy to a single machine:

nix-build ./krops.nix -A machine1 && ./result
nix-build ./krops.nix -A machine2 && ./result

Deploy to all machines:

nix-build ./krops.nix -A all && ./result

Requirements

  • SSH access to target machines as root
  • Target machines running NixOS
  • nix installed on the deployment machine