adding nornsight.nix
treefmt / nix fmt (pull_request) Successful in 6s
build_systems / build-brain (pull_request) Successful in 51s
build_systems / build-bob (pull_request) Successful in 56s
pytest / pytest (pull_request) Successful in 28s
build_systems / build-leviathan (pull_request) Successful in 1m24s
build_systems / build-rhapsody-in-green (pull_request) Successful in 1m30s
build_systems / build-jeeves (pull_request) Successful in 2m45s
treefmt / nix fmt (pull_request) Successful in 6s
build_systems / build-brain (pull_request) Successful in 51s
build_systems / build-bob (pull_request) Successful in 56s
pytest / pytest (pull_request) Successful in 28s
build_systems / build-leviathan (pull_request) Successful in 1m24s
build_systems / build-rhapsody-in-green (pull_request) Successful in 1m30s
build_systems / build-jeeves (pull_request) Successful in 2m45s
This commit is contained in:
@@ -44,6 +44,7 @@
|
|||||||
tiktoken
|
tiktoken
|
||||||
tinytuya
|
tinytuya
|
||||||
typer
|
typer
|
||||||
|
uvicorn
|
||||||
websockets
|
websockets
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -3,7 +3,10 @@ let
|
|||||||
vars = import ../vars.nix;
|
vars = import ../vars.nix;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
services.audiobookshelf.enable = true;
|
services.audiobookshelf = {
|
||||||
|
enable = true;
|
||||||
|
port = 8000;
|
||||||
|
};
|
||||||
systemd.services.audiobookshelf.serviceConfig.WorkingDirectory =
|
systemd.services.audiobookshelf.serviceConfig.WorkingDirectory =
|
||||||
lib.mkForce "${vars.docker_configs}/audiobookshelf";
|
lib.mkForce "${vars.docker_configs}/audiobookshelf";
|
||||||
users.users.audiobookshelf.home = lib.mkForce "${vars.docker_configs}/audiobookshelf";
|
users.users.audiobookshelf.home = lib.mkForce "${vars.docker_configs}/audiobookshelf";
|
||||||
|
|||||||
@@ -0,0 +1,83 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
let
|
||||||
|
vars = import ../vars.nix;
|
||||||
|
stateDir = "${vars.services}/nornsight";
|
||||||
|
appDir = "${stateDir}/app";
|
||||||
|
libraryPath = pkgs.lib.makeLibraryPath [
|
||||||
|
pkgs.libpq
|
||||||
|
pkgs.postgresql.lib
|
||||||
|
];
|
||||||
|
in
|
||||||
|
{
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"d ${stateDir} 0750 nornsight nornsight - -"
|
||||||
|
];
|
||||||
|
|
||||||
|
users.users.nornsight = {
|
||||||
|
isSystemUser = true;
|
||||||
|
group = "nornsight";
|
||||||
|
home = stateDir;
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.nornsight = {
|
||||||
|
description = "Norn Sight";
|
||||||
|
after = [ "network-online.target" ];
|
||||||
|
wants = [ "network-online.target" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
HOME = stateDir;
|
||||||
|
LD_LIBRARY_PATH = libraryPath;
|
||||||
|
PYTHONPATH = appDir;
|
||||||
|
};
|
||||||
|
|
||||||
|
path = with pkgs; [
|
||||||
|
bash
|
||||||
|
coreutils
|
||||||
|
git
|
||||||
|
];
|
||||||
|
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "simple";
|
||||||
|
User = "nornsight";
|
||||||
|
Group = "nornsight";
|
||||||
|
EnvironmentFile = "-${vars.secrets}/services/nornsight";
|
||||||
|
WorkingDirectory = stateDir;
|
||||||
|
Restart = "on-failure";
|
||||||
|
RestartSec = "5s";
|
||||||
|
StandardOutput = "journal";
|
||||||
|
StandardError = "journal";
|
||||||
|
NoNewPrivileges = true;
|
||||||
|
PrivateTmp = true;
|
||||||
|
ProtectHome = true;
|
||||||
|
ProtectSystem = "strict";
|
||||||
|
ReadWritePaths = [ stateDir ];
|
||||||
|
};
|
||||||
|
|
||||||
|
script = ''
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
: "''${NORN_SIGHT_REPO_URL:?NORN_SIGHT_REPO_URL is required}"
|
||||||
|
branch="''${NORN_SIGHT_BRANCH:-main}"
|
||||||
|
|
||||||
|
if [ -d "${appDir}/.git" ]; then
|
||||||
|
current_origin="$(git -C "${appDir}" remote get-url origin)"
|
||||||
|
if [ "$current_origin" != "$NORN_SIGHT_REPO_URL" ]; then
|
||||||
|
rm -rf "${appDir}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d "${appDir}/.git" ]; then
|
||||||
|
git clone --branch "$branch" "$NORN_SIGHT_REPO_URL" "${appDir}"
|
||||||
|
else
|
||||||
|
cd "${appDir}"
|
||||||
|
git fetch origin "$branch"
|
||||||
|
git checkout "$branch"
|
||||||
|
git pull --ff-only origin "$branch"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "${appDir}"
|
||||||
|
exec ${pkgs.my_python}/bin/python -m uvicorn pipelines.web.main:app --reload --host 0.0.0.0 --port 8001
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -81,4 +81,4 @@ backend gitea
|
|||||||
|
|
||||||
backend norn_sight
|
backend norn_sight
|
||||||
mode http
|
mode http
|
||||||
server server 192.168.90.49:8000
|
server server 127.0.0.1:8001
|
||||||
|
|||||||
Reference in New Issue
Block a user