depot/third_party/nixpkgs/pkgs/servers/monitoring/uptime-kuma/default.nix
Default email 9c6ee729d6 Project import generated by Copybara.
GitOrigin-RevId: 6cee3b5893090b0f5f0a06b4cf42ca4e60e5d222
2023-07-15 19:15:38 +02:00

47 lines
1.4 KiB
Nix

{ lib, stdenv, fetchFromGitHub, buildNpmPackage, python3, nodejs, nixosTests }:
buildNpmPackage rec {
pname = "uptime-kuma";
version = "1.22.1";
src = fetchFromGitHub {
owner = "louislam";
repo = "uptime-kuma";
rev = version;
hash = "sha256-thLhJF6+DS4plqKWYidb1e/KW5PvPf/Gc2iH2SEooYw=";
};
npmDepsHash = "sha256-CZfWsjtooxa6BJ5ieptUuYSQ7Ve/uVbdMPLEn2+WAX4=";
patches = [
# Fixes the permissions of the database being not set correctly
# See https://github.com/louislam/uptime-kuma/pull/2119
./fix-database-permissions.patch
];
nativeBuildInputs = [ python3 ];
CYPRESS_INSTALL_BINARY = 0; # Stops Cypress from trying to download binaries
postInstall = ''
cp -r dist $out/lib/node_modules/uptime-kuma/
'';
postFixup = ''
makeWrapper ${nodejs}/bin/node $out/bin/uptime-kuma-server \
--add-flags $out/lib/node_modules/uptime-kuma/server/server.js \
--chdir $out/lib/node_modules/uptime-kuma
'';
passthru.tests.uptime-kuma = nixosTests.uptime-kuma;
meta = with lib; {
description = "A fancy self-hosted monitoring tool";
homepage = "https://github.com/louislam/uptime-kuma";
changelog = "https://github.com/louislam/uptime-kuma/releases/tag/${version}";
license = licenses.mit;
maintainers = with maintainers; [ julienmalka ];
# FileNotFoundError: [Errno 2] No such file or directory: 'xcrun'
broken = stdenv.isDarwin;
};
}