No description
Find a file
padreug e399130072 Refactor shared Nix configuration to use domain parameter
Updated the shared Nix configuration to replace the hostname parameter with a domain parameter, allowing for more flexible virtual host configurations. Adjusted machine1 and machine2 configurations to reflect this change, ensuring proper domain usage for Nginx virtual hosts, including new entries for web-app, LNbits, and image services.
2025-10-08 17:11:27 +02:00
config Refactor shared Nix configuration to use domain parameter 2025-10-08 17:11:27 +02:00
web-app Add web-app with machine-specific builds 2025-09-30 11:15:31 +02:00
.gitignore Refactor to build web-app locally before deployment 2025-10-01 17:26:01 +02:00
DEPLOYMENT-GUIDE.md Refactor to build web-app locally before deployment 2025-10-01 17:26:01 +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