mirror of
https://github.com/gensokyo-zone/infrastructure.git
synced 2026-02-09 12:29:19 -08:00
47 lines
1.3 KiB
Nix
47 lines
1.3 KiB
Nix
{ config, gensokyo-zone, ... }: let
|
|
inherit (config.services) motion;
|
|
inherit (gensokyo-zone.lib) domain;
|
|
in {
|
|
services = {
|
|
moonraker = {
|
|
enable = true;
|
|
address = "0.0.0.0";
|
|
user = "octoprint";
|
|
port = 7125; # it's the default but i'm specifying it anyway
|
|
settings = {
|
|
octoprint_compat = { };
|
|
history = { };
|
|
"webcam printer" = {
|
|
location = "printer";
|
|
enabled = true;
|
|
service = "mjpegstreamer";
|
|
icon = "mdiPrinter3d";
|
|
target_fps = 5;
|
|
target_fps_idle = 1;
|
|
stream_url = let
|
|
inherit (motion.cameras) printercam;
|
|
inherit (printercam.settings) camera_id;
|
|
in "https://kitchen.local.${domain}/${toString camera_id}/stream";
|
|
snapshot_url = let
|
|
inherit (motion.cameras) printercam;
|
|
inherit (printercam.settings) camera_id;
|
|
in "https://kitchen.local.${domain}/${toString camera_id}/current";
|
|
aspect_ratio = "16:9";
|
|
};
|
|
authorization = {
|
|
force_logins = true;
|
|
cors_domains = [
|
|
"*.local"
|
|
"*.lan"
|
|
"*.gensokyo.zone"
|
|
];
|
|
trusted_clients = [
|
|
"10.0.0.0/8"
|
|
"127.0.0.0/8"
|
|
"::1/128"
|
|
];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|