Commit 84a86b60 authored by Savyasachee Jha's avatar Savyasachee Jha
Browse files

nixosTests.bookstack: init

parent c75204d9
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -254,6 +254,7 @@ in
  bittorrent = runTest ./bittorrent.nix;
  blockbook-frontend = runTest ./blockbook-frontend.nix;
  blocky = handleTest ./blocky.nix { };
  bookstack = runTest ./bookstack.nix;
  boot = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./boot.nix { };
  bootspec = handleTestOn [ "x86_64-linux" ] ./bootspec.nix { };
  boot-stage1 = runTest ./boot-stage1.nix;
+45 −0
Original line number Diff line number Diff line
{ pkgs, ... }:

let
  db-pass = "Test2Test2";
  app-key = "TestTestTestTestTestTestTestTest";
in
{
  name = "bookstack";
  meta.maintainers = [ pkgs.lib.maintainers.savyajha ];

  nodes.bookstackMysql = {
    services.bookstack = {
      enable = true;
      hostname = "localhost";
      nginx.onlySSL = false;
      settings = {
        APP_KEY_FILE = pkgs.writeText "bookstack-appkey" app-key;
        LOG_CHANNEL = "stdout";
        SITE_OWNER = "mail@example.com";
        DB_DATABASE = "bookstack";
        DB_USERNAME = "bookstack";
        DB_PASSWORD_FILE = pkgs.writeText "mysql-pass" db-pass;
        DB_SOCKET = "/run/mysqld/mysqld.sock";
      };
    };

    services.mysql = {
      enable = true;
      package = pkgs.mariadb;
      initialScript = pkgs.writeText "bookstack-init.sql" ''
        create database bookstack DEFAULT CHARACTER SET utf8mb4;
        create user 'bookstack'@'localhost' identified by '${db-pass}';
        grant all on bookstack.* to 'bookstack'@'localhost';
      '';
      settings.mysqld.character-set-server = "utf8mb4";
    };
  };

  testScript = ''
    bookstackMysql.wait_for_unit("phpfpm-bookstack.service")
    bookstackMysql.wait_for_unit("nginx.service")
    bookstackMysql.wait_for_unit("mysql.service")
    bookstackMysql.succeed("curl -fvvv -Ls http://localhost/ | grep 'Log In'")
  '';
}