···
-
import ./make-test-python.nix (
-
db-pass = "Test2Test2";
-
app-key = "TestTestTestTestTestTestTestTest";
-
meta.maintainers = [ lib.maintainers.savyajha ];
-
"firefly-iii-appkey".text = app-key;
-
services.firefly-iii = {
-
APP_KEY_FILE = "/etc/firefly-iii-appkey";
-
LOG_CHANNEL = "stdout";
-
SITE_OWNER = "mail@example.com";
-
nodes.fireflyPostgresql =
-
"firefly-iii-appkey".text = app-key;
-
"postgres-pass".text = db-pass;
-
services.firefly-iii = {
-
APP_KEY_FILE = "/etc/firefly-iii-appkey";
-
LOG_CHANNEL = "stdout";
-
SITE_OWNER = "mail@example.com";
-
DB_CONNECTION = "pgsql";
-
DB_DATABASE = "firefly";
-
DB_USERNAME = "firefly";
-
DB_PASSWORD_FILE = "/etc/postgres-pass";
-
PGSQL_SCHEMA = "firefly";
-
services.postgresql = {
-
package = pkgs.postgresql_16;
-
local all postgres peer
-
local firefly firefly password
-
initialScript = pkgs.writeText "firefly-init.sql" ''
-
CREATE USER "firefly" WITH LOGIN PASSWORD '${db-pass}';
-
CREATE DATABASE "firefly" WITH OWNER "firefly";
-
CREATE SCHEMA AUTHORIZATION firefly;
-
"firefly-iii-appkey".text = app-key;
-
"mysql-pass".text = db-pass;
-
services.firefly-iii = {
-
APP_KEY_FILE = "/etc/firefly-iii-appkey";
-
LOG_CHANNEL = "stdout";
-
SITE_OWNER = "mail@example.com";
-
DB_CONNECTION = "mysql";
-
DB_DATABASE = "firefly";
-
DB_USERNAME = "firefly";
-
DB_PASSWORD_FILE = "/etc/mysql-pass";
-
DB_SOCKET = "/run/mysqld/mysqld.sock";
-
package = pkgs.mariadb;
-
initialScript = pkgs.writeText "firefly-init.sql" ''
-
create database firefly DEFAULT CHARACTER SET utf8mb4;
-
create user 'firefly'@'localhost' identified by '${db-pass}';
-
grant all on firefly.* to 'firefly'@'localhost';
-
settings.mysqld.character-set-server = "utf8mb4";
-
fireflySqlite.wait_for_unit("phpfpm-firefly-iii.service")
-
fireflySqlite.wait_for_unit("nginx.service")
-
fireflySqlite.succeed("curl -fvvv -Ls http://localhost/ | grep 'Firefly III'")
-
fireflySqlite.succeed("curl -fvvv -Ls http://localhost/v1/js/app.js")
-
fireflySqlite.succeed("systemctl start firefly-iii-cron.service")
-
fireflyPostgresql.wait_for_unit("phpfpm-firefly-iii.service")
-
fireflyPostgresql.wait_for_unit("nginx.service")
-
fireflyPostgresql.wait_for_unit("postgresql.service")
-
fireflyPostgresql.succeed("curl -fvvv -Ls http://localhost/ | grep 'Firefly III'")
-
fireflyPostgresql.succeed("systemctl start firefly-iii-cron.service")
-
fireflyMysql.wait_for_unit("phpfpm-firefly-iii.service")
-
fireflyMysql.wait_for_unit("nginx.service")
-
fireflyMysql.wait_for_unit("mysql.service")
-
fireflyMysql.succeed("curl -fvvv -Ls http://localhost/ | grep 'Firefly III'")
-
fireflyMysql.succeed("systemctl start firefly-iii-cron.service")