Updated the shared Nix configuration to replace dots in the domain with hyphens for hostname setting, enhancing clarity. Additionally, enabled experimental Nix features, including 'nix-command' and 'flakes', to improve functionality and flexibility in the NixOS setup.
Updated the shared Nix configuration to extract the hostname from the domain, enhancing clarity in the setup. Reordered module imports to ensure proper dependency management, including the addition of module arguments for better customization. This change improves the overall organization and maintainability of the NixOS configuration.
Enhanced the DEPLOYMENT-GUIDE.md by adding clarity to the steps for adding new machines, updating environment variables, images, and web-app code. Adjusted formatting for better readability. In krops.nix, updated the target hostname for machine1 to 'root@cathare-node' and changed the Nixpkgs reference from 'nixos-25.05' to '25.05' for consistency. These changes improve the documentation and configuration management for the deployment process.
Introduced a new configuration for the LNBits service, enabling it with customizable options such as host, port, and environment variables. The Nginx configuration has been updated to include WebSocket support and proxy settings for LNBits, ensuring secure and efficient handling of requests. This enhances the overall web service management and modularity of the NixOS setup.
Introduced separate configuration files for Nginx and pict-rs, enabling a streamlined setup for web services. The Nginx configuration includes reverse proxy settings, automatic SSL certificate generation with Let's Encrypt, and fail2ban for security. The pict-rs configuration facilitates image service management with CORS support. Updated the shared configuration to import these new files, improving modularity and maintainability of the NixOS setup.
Enhanced the shared Nix configuration by adding recommended settings for Nginx, including Gzip, optimization, and TLS settings. Disabled proxy settings to prevent interference with WebSocket. Additionally, enabled automatic SSL certificate generation using Let's Encrypt and configured fail2ban for improved security.
This update aims to strengthen the web application's security and performance while maintaining flexibility in the Nginx setup.
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.
Introduces a shared configuration file to streamline machine-specific settings for NixOS deployments. This includes:
- Hostname configuration
- Common system packages (vim, git, htop)
- SSH service enablement
- Nginx setup with virtual host configuration
- Firewall rules for HTTP/HTTPS access
Updates machine-specific configurations to import shared settings, reducing redundancy and improving maintainability.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Changes build strategy from building on target machines to building
locally and deploying pre-built artifacts. This simplifies target
machine configuration and improves deployment speed.
- Add build-local.nix for local machine-specific builds
- Update krops.nix to deploy built artifacts from ./build/{machine}/dist
- Remove build-helper.nix and build dependencies from machine configs
- Update documentation with new build-then-deploy workflow
- Add .gitignore for build directories
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Implements per-machine customization for web-app deployment:
- Shared web-app source code deployed to all machines
- Machine-specific .env files and images
- Build helper script to assemble and build on target machines
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Sets up deployment infrastructure for two NixOS machines using krops,
with individual and combined deployment targets.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>