Commit graph

23 commits

Author SHA1 Message Date
1b1820fc09 Configures custom frontend URL
Sets the custom frontend URL to dynamically point to a subdomain based on the domain configuration. This ensures correct routing and accessibility of the application's frontend.
2025-11-01 11:30:17 +01:00
9d7d3b97a9 Adds extensions for admin/user
Adds satmachineadmin extension to the list of default admin extensions.

Adds lndhub extension to the list of default user extensions.
2025-11-01 11:30:09 +01:00
95ae96147d Removes workaround for extension directory permissions
Removes the systemd tmpfiles rule and service that attempted to fix
permissions for extensions deployed to `/var/lib/lnbits/extensions`.

This change is necessary because the initial approach of fixing
permissions was not reliable and caused more issues than it solved.
The intended approach is to provide a better method for managing
extensions in a future update.
2025-11-01 11:29:35 +01:00
17ac393c32 Adds LNbits Borg backup module
Implements a new module for backing up LNbits data using Borg.

This module automates hourly backups, encrypts the data, and provides point-in-time recovery. It includes scripts for listing, restoring, and mounting backups. A comprehensive setup guide is provided in the documentation.

The configuration allows specifying the Borg repository location, schedule, compression settings, retention policy, and SSH key for secure access.
2025-11-01 11:25:36 +01:00
253890ac16 Extends websocket location matching
Updates the Nginx configuration to correctly route websocket
requests by extending the location matching regular expression.

This change ensures that all websocket endpoints, including those
with a '/ws' suffix, are properly proxied to the backend server.
2025-11-01 11:25:36 +01:00
c2586e5814 Configures base URL and default extensions
Sets the LNBITS_BASEURL based on the domain variable
and configures forwarded IPs.

Removes default installation of extensions and keeps
admin and user extensions configuration to streamline
the initial setup.
2025-11-01 11:25:36 +01:00
f0385dbeb9 Fixes LNBits extension ownership and deployment
Ensures correct ownership for LNBits extensions deployed via krops.
Creates a systemd service to fix ownership issues and sets up a symlink.
This allows LNBits to properly access and use extensions, preventing permission-related errors.
2025-11-01 11:25:35 +01:00
e98ef2e13f make openssh and ssh-pass available to lnbits 2025-11-01 11:25:35 +01:00
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
d794cf4394 Enhance deployment configuration with machine-specific templates and secrets management
Updated the .gitignore to include machine-specific configurations and secrets handling. Expanded the DEPLOYMENT-GUIDE.md to provide detailed instructions for adding new machines using a template, along with steps for managing encrypted secrets. Introduced example configuration files for boot settings and a sample WireGuard service, improving modularity and flexibility in the NixOS deployment process. Adjusted krops.nix to reference the correct path for machine-specific configurations.
2025-10-12 08:16:43 +02:00
78dcba25ec FIX: directory permissions and symlink management
Updated the lnbits.nix configuration to set appropriate permissions on the extensions directory and create a symlink for LNBits extensions, improving security and functionality.
2025-10-12 07:35:28 +02:00
aa0381c42b Refactor LNBits configuration to utilize flake imports and enhance modularity
Updated the lnbits.nix configuration to import the LNBits service module from a flake, improving maintainability and alignment with deployment practices. Adjusted the shared configuration to make the 'domain' parameter accessible to all imported modules, and removed the deprecated lnbits-service.nix file to streamline the setup.
2025-10-11 10:28:58 +02:00
30209458f7 Add support for handling machine-specific secrets in the deployment process
Expanded the DEPLOYMENT-GUIDE.md to include a comprehensive section on managing encrypted secrets using Passage and Pass. Detailed steps for setting up, creating, and deploying machine-specific secrets, along with security notes. Updated krops.nix and config/lnbits.nix to include configurations for deploying custom LNBits extensions, enhancing the flexibility and security of the NixOS deployment process.
2025-10-10 01:15:42 +02:00
d27bdd3005 Add machine-specific service configuration for WireGuard and related templates
Introduced a comprehensive guide for adding machine-specific services in the DEPLOYMENT-GUIDE.md, including steps to configure WireGuard for specific machines. Added example configuration files for boot settings, machine-specific configurations, and an example service for WireGuard. This enhances the modularity and flexibility of the NixOS deployment process, allowing for tailored configurations per machine.
2025-10-10 00:49:22 +02:00
4170340d28 Update Nix configuration to use git-based nixpkgs and adjust module imports
Modified krops.nix to switch to a git-based nixpkgs source, noting the initial download cost. Updated shared.nix to change module imports to absolute paths and enabled experimental Nix features. Adjusted configuration.nix to import shared configuration from an absolute path and updated the domain name for machine1. These changes enhance clarity, maintainability, and functionality in the NixOS setup.
2025-10-09 22:38:42 +02:00
f6c7a1c3f6 Update LNBits configuration to use deployed flake source and improve package management
Modified the LNBits service configuration to accept 'pkgs' as an argument and updated the package reference to use the deployed flake source located at '/var/src/lnbits-src'. This change enhances the flexibility and maintainability of the configuration by ensuring it aligns with the current deployment structure.
2025-10-09 18:07:46 +02:00
c27fb73f3e Refactor shared Nix configuration to improve hostname handling and enable experimental features
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.
2025-10-09 18:07:46 +02:00
c858eebb93 Refactor shared Nix configuration to improve hostname handling and module imports
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.
2025-10-09 18:07:46 +02:00
0c22db4d7b Add LNBits service configuration and Nginx integration
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.
2025-10-08 17:50:12 +02:00
ef87fc5906 Add Nginx and pict-rs configurations for enhanced web service management
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.
2025-10-08 17:19:39 +02:00
667912e732 Add recommended Nginx settings and enable automatic SSL with Let's Encrypt
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.
2025-10-08 17:16:33 +02:00
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
ea697275ba Add shared Nix configuration for machine setups
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)
2025-10-08 16:46:52 +02:00