Commit Graph
54 Commits
Author SHA1 Message Date
awkawbandClaude Sonnet 5 fef9406b63 nixos-module: add scheduler timer for artisan schedule:run
Invoice Ninja relies on Laravel's scheduler for recurring invoices,
scheduled reports, and other internal cron-driven jobs. Without a
systemd unit invoking `artisan schedule:run` periodically, the app's
dashboard reports "cron jobs are not enabled" after login.

Adds invoiceninja-scheduler.timer (every minute, matching upstream's
documented cron cadence) and its oneshot service, and extends the
automated test to assert the timer is active and schedule:run succeeds.

Note: the app's own is_scheduler_running flag only flips on a 5-minute
wall-clock boundary (app/Console/Kernel.php's everyFiveMinutes() job),
so the dashboard warning can take a few minutes to clear after boot -
confirmed working via the "Refresh Data" button in that same modal.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-26 13:06:00 -04:00
awkawbandClaude Sonnet 5 2c0a48b899 Add automated NixOS VM test and CLAUDE.md
Adds a pkgs.testers.nixosTest (checks.<system>.invoiceninja) that boots
the module end-to-end and checks that mysql/redis/phpfpm/queue-worker/
nginx come up, the one-time migrate/seed/admin-create setup completed,
the app shell and /login page are served, invoiceninja-manage works,
and the seeded admin can log in via the API.

Factors the shared services.invoiceninja config used by both the
interactive VM and the new test into tests/common.nix, and satisfies
NixOS's fileSystems/bootloader assertions in the interactive VM config
so `nix flake check` evaluates nixosConfigurations.test cleanly (the
qemu-vm module already overrides both when actually building
config.system.build.vm, so this only affects the toplevel-eval path).

Also adds a `just test` recipe, a CLAUDE.md codebase overview, and a
.gitignore for the result/nixos.qcow2 build artifacts.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-26 12:10:41 -04:00
awkawb d7633e66ce flake.lock: updated nixpkgs input 2026-08-14 16:18:30 -04:00
awkawb f6e5c15afd flake.nix: updated nixpkgs input to latest NixOS release 2026-08-14 16:18:03 -04:00
awkawb df90f25778 tests/default.nix: removed user test, added password declaration for root user
This makes testing/debugging easier by allowing to login as root
directly. The previous test system configuration added a step to this
process by forcing devs to login as test and use sudo to escalate to
root.
2026-08-14 16:15:55 -04:00
awkawb 554f73d477 tests/default.nix: removed system.stateVersion declaration
Having the declaration of system.stateVersion just adds more
maintainance for devs. For example, changing the nixpkgs value in
flake.nix requires a change of system.stateVersion in tests/default.nix.
2026-08-14 16:15:55 -04:00
awkawb 5de2563c0f flake.lock: updated flake inputs 2026-05-25 19:12:41 -04:00
awkawb b37f121f06 flake.nix: updated nixpkgs input to version 25.11 2026-05-25 19:11:06 -04:00
awkawb 878134dd4b nixos-module/invoiceninja.nix: update nginx to work with Invoice Ninja 2026-05-25 19:09:49 -04:00
awkawb 808b9a7fe9 Replaced Makefile with justfile 2026-05-25 19:02:53 -04:00
awkawb 6b0f38d59e tests/default.nix: updated system.stateVersion 2026-05-25 19:02:21 -04:00
awkawb fd776bb9b7 package.nix: updated to build Invoice Ninja with React frontend 2026-05-25 19:01:26 -04:00
awkawb a42d01edd3 package.nix: bumped version to 5.12.13 2025-08-13 18:34:59 -04:00
awkawb 1df11adbde Merge branch 'master' of gitea.awkawb.cloud:awkawb/invoiceninja-nixos 2025-03-01 11:11:58 -05:00
awkawb e8b208accb flake.lock: updated flake inputs 2025-02-24 17:32:32 -05:00
awkawb 295b299fdd package.nix: bumped version to 5.11.41 2025-02-24 17:29:51 -05:00
awkawb d898e26cb1 package.nix: bumped version to 5.11.24 2025-01-14 16:54:51 -05:00
awkawb 7b2072e5b0 package.nix: remove unneeded move and link statements 2025-01-02 16:55:02 -05:00
awkawb 611709cb62 nixos-module/invoiceninja.nix: changed nixos module definition for nginx to allow local development, removed unneeded link in data setup service 2025-01-02 16:53:58 -05:00
awkawb 730715014e tests/default.nix: modified to reflect package name change 2025-01-02 16:22:09 -05:00
awkawb 4bddba21da flake.nix: fixed attribute name 2025-01-01 16:15:10 -05:00
awkawb 8549d2f23d Makefile: build-vm now reflects the repo being a flake 2025-01-01 12:19:25 -05:00
awkawb 91d8d8a908 flake.nix: modified to reflect package name change, add nixos config for development 2025-01-01 12:17:55 -05:00
awkawb 2b98375f9b tests/default.nix: added stateVersion, added import of nixos module, fixed typo 2025-01-01 12:12:59 -05:00
awkawb 4cb4a1c05d Package is now 'invoiceninja', modified code to reflect name change, changed nixos module definition for caddy to allow local development 2025-01-01 12:11:18 -05:00
awkawb 14976fdae9 Added tests directory for testing in vm 2024-12-30 10:19:29 -05:00
awkawb 1e48f190da Removed unused files and directories 2024-12-28 16:19:55 -05:00
awkawb 85de24655f packages.nix: bumped version to 5.11.7 5.11.7 2024-12-28 16:11:25 -05:00
awkawb 9bb2d8f352 package.nix: bumped version to 5.11.6 5.11.6 2024-12-28 16:09:49 -05:00
awkawb e043ebbaea package.nix: bumped version to 5.11.5 5.11.5 2024-12-28 15:40:58 -05:00
awkawb 5178b6b7cb package.nix: bumped version to 5.11.4 5.11.4 2024-12-28 14:30:08 -05:00
awkawb 79b5fa07eb nixos-module/invoice-ninja.nix: fixed typo 5.11.3 2024-12-28 11:51:42 -05:00
awkawb 4f71751bfb nixos-module/invoice-ninja.nix: proxys are now imported using modulesPath 2024-12-28 11:50:00 -05:00
awkawb e49ffa479b nixos-module/default.nix: fixed typo 2024-12-28 11:28:32 -05:00
awkawb 86c794f84b nixos-module/default.nix: fixed typo 2024-12-27 17:20:08 -05:00
awkawb 209f5d3454 Updated repo to make it a Nix Flake 2024-12-27 16:18:59 -05:00
awkawb 038d6fb3bf Merge branch 'master' of gitea.awkawb.cloud:awkawb/invoice-ninja-nixos 2024-12-27 16:00:24 -05:00
awkawb 1b5a64e29a invoice-ninja.nix: a bunch of updates and changes 2024-12-27 15:51:15 -05:00
awkawb f866421659 default.nix: updated Invoice Ninja version, added patch to disable react 2024-12-27 15:50:00 -05:00
awkawb 25b54cd352 Refactored NixOS module
* Admin account configuration
* Proxy server configuration
2024-10-16 09:30:39 -04:00
awkawb 6b016669ec Merge pull request 'working merges with master' (#2) from working into master
Reviewed-on: awkawb/invoice-ninja-nixos#2
2024-10-14 16:30:45 -04:00
awkawb 449c52239a Updated test-config to use modules sendmail feature 2024-10-14 16:26:43 -04:00
awkawb 3a5c532992 Updated NixOS module to support sending emails with msmtp 2024-10-14 16:26:08 -04:00
awkawb 91a0d4e71a Work on sendmail to send emails 2024-10-13 13:08:04 -04:00
awkawb 048ca07f4b Work on Laravel queue 2024-10-11 14:41:42 -04:00
awkawb e6f752704f Updated Invoice Ninja derivation to v5.10.34 2024-10-11 14:41:19 -04:00
awkawb eb0326f1d4 Changes to nixos module
* removed package call
* changed systemd queue worker name
* changed interval option name
* changed assertions
* changed app environment file defaults
* changed app data setup systemd job to only run database seeder on
initial setup
2024-10-10 18:10:22 -04:00
awkawb d7ee5fa774 Changed phpfpm setting refactoring
* moved listen.owner from config to implemetation
* moved listen.group from config to implementation
* moved catch_workers_output from config to implementation
2024-10-06 22:33:57 -04:00
awkawb 5f862fe8d3 Updated Invoice Ninja to v5.10.31
* Changed php environment packages
* Added patch to switch back to Flutter
* Added patch to fix storage permissions
2024-10-06 21:48:09 -04:00
awkawb 1abeb7dc5a Added Nginx as a proxy server option
* Nginx is the default proxy server
2024-10-06 13:30:32 -04:00