92 lines
1.7 KiB
Nix
92 lines
1.7 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}: {
|
|
services.n8n = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
|
|
environment = {
|
|
host = "0.0.0.0";
|
|
port = 5678;
|
|
protocol = "http";
|
|
};
|
|
|
|
environment = {
|
|
N8N_SECURE_COOKIE = "false";
|
|
|
|
N8N_EXECUTE_COMMAND_ENABLED = "true";
|
|
N8N_ENABLE_EXECUTE_COMMAND = "true";
|
|
NODES_EXCLUDE = "[]";
|
|
N8N_NODES_INCLUDE = "n8n-nodes-base.executeCommand";
|
|
|
|
N8N_BINARY_DATA_STORAGE_PATH = "/srv/slopfarm";
|
|
};
|
|
};
|
|
|
|
systemd.services.n8n.serviceConfig = {
|
|
ReadWritePaths = ["/srv/slopfarm"];
|
|
|
|
SupplementaryGroups = ["video" "render"];
|
|
|
|
PrivateDevices = lib.mkForce false;
|
|
DevicePolicy = lib.mkForce "auto";
|
|
DeviceAllow = [
|
|
"/dev/nvidiactl rw"
|
|
"/dev/nvidia0 rw"
|
|
"/dev/nvidia-uvm rw"
|
|
"/dev/nvidia-uvm-tools rw"
|
|
"/dev/nvidia-modeset rw"
|
|
];
|
|
};
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
ffmpeg
|
|
piper-tts
|
|
git
|
|
yt-dlp
|
|
cudaPackages.cudatoolkit
|
|
|
|
(python3.withPackages (ps:
|
|
with ps; [
|
|
requests
|
|
aiohttp
|
|
praw
|
|
|
|
torch
|
|
torchvision
|
|
transformers
|
|
accelerate
|
|
sentencepiece
|
|
safetensors
|
|
|
|
soundfile
|
|
librosa
|
|
pydub
|
|
scipy
|
|
|
|
pillow
|
|
moviepy
|
|
imageio
|
|
imageio-ffmpeg
|
|
opencv4
|
|
|
|
numpy
|
|
tqdm
|
|
regex
|
|
python-dotenv
|
|
pysrt
|
|
flask
|
|
]))
|
|
];
|
|
|
|
systemd.tmpfiles.rules = [
|
|
"d /srv/slopfarm 0755 n8n n8n -"
|
|
"d /srv/slopfarm/input 0755 n8n n8n -"
|
|
"d /srv/slopfarm/output 0755 n8n n8n -"
|
|
"d /srv/slopfarm/scripts 0755 n8n n8n -"
|
|
"d /srv/slopfarm/backgrounds 0755 n8n n8n -"
|
|
"d /srv/slopfarm/voices 0755 n8n n8n -"
|
|
];
|
|
}
|