restreamer setup

This commit is contained in:
m3tam3re 2025-03-15 14:23:47 +01:00
parent 779473317d
commit e93bdf20a3
6 changed files with 50 additions and 49 deletions

View File

@ -5,7 +5,7 @@
./littlelink.nix ./littlelink.nix
./matomo.nix ./matomo.nix
./n8n.nix ./n8n.nix
# ./restreamer.nix ./restreamer.nix
./slash.nix ./slash.nix
]; ];
system.activationScripts.createPodmanNetworkWeb = lib.mkAfter '' system.activationScripts.createPodmanNetworkWeb = lib.mkAfter ''

View File

@ -11,7 +11,7 @@
MYSQL_DATABASE = "matomo"; MYSQL_DATABASE = "matomo";
PHP_MEMORY_LIMIT = "2048M"; PHP_MEMORY_LIMIT = "2048M";
}; };
extraOptions = ["--add-host=mysql:10.89.0.1" "--ip=10.89.0.15" "--network=web"]; extraOptions = ["--add-host=mysql:10.89.0.1" "--ip=10.89.0.16" "--network=web"];
}; };
# Traefik configuration specific to ghost # Traefik configuration specific to ghost
services.traefik.dynamicConfigOptions.http = { services.traefik.dynamicConfigOptions.http = {
@ -21,13 +21,23 @@
} }
]; ];
routers.matomo = { routers = {
rule = "Host(`stats.nemoti.com`)"; matomo-nemoti = {
tls = { rule = "Host(`stats.nemoti.com`)";
certResolver = "godaddy"; tls = {
certResolver = "godaddy";
};
service = "matomo";
entrypoints = "websecure";
};
matomo-m3tam3re = {
rule = "Host(`stats.m3tam3re.com`)";
tls = {
certResolver = "godaddy";
};
service = "matomo";
entrypoints = "websecure";
}; };
service = "matomo";
entrypoints = "websecure";
}; };
}; };
} }

View File

@ -4,31 +4,18 @@
environmentFiles = [config.age.secrets.restreamer-env.path]; environmentFiles = [config.age.secrets.restreamer-env.path];
# Modified ports to include RTMPS # Modified ports to include RTMPS
ports = [ ports = [
"127.0.0.1:3006:8080" "127.0.0.1:3006:8080" # Web UI
"127.0.0.1:1935:1935" "127.0.0.1:1936:1935" # RTMP
"127.0.0.1:1945:1945" ];
volumes = [
"restreamer_data:/core/data"
"restreamer_config:/core/config"
]; ];
volumes = ["restreamer_data:/restreamer/db"];
extraOptions = ["--add-host=postgres:10.89.0.1" "--ip=10.89.0.13" "--network=web"]; extraOptions = ["--add-host=postgres:10.89.0.1" "--ip=10.89.0.13" "--network=web"];
}; };
# Traefik configuration # Traefik configuration
services.traefik = { services.traefik = {
# Add static configuration for entry points
staticConfigOptions = {
entryPoints = {
websecure = {
address = ":443";
};
rtmp = {
address = ":1935";
};
rtmps = {
address = ":1945";
};
};
};
dynamicConfigOptions = { dynamicConfigOptions = {
http = { http = {
services.restreamer.loadBalancer.servers = [ services.restreamer.loadBalancer.servers = [
@ -51,12 +38,12 @@
services = { services = {
rtmp-service.loadBalancer.servers = [ rtmp-service.loadBalancer.servers = [
{ {
address = "localhost:1935"; address = "localhost:1936";
} }
]; ];
rtmps-service.loadBalancer.servers = [ rtmps-service.loadBalancer.servers = [
{ {
address = "localhost:1945"; address = "localhost:1936";
} }
]; ];
}; };

View File

@ -9,7 +9,9 @@
initialScript = pkgs.writeText "initial-script.sql" '' initialScript = pkgs.writeText "initial-script.sql" ''
CREATE USER 'ghost'@'10.89.%' IDENTIFIED BY 'ghost'; CREATE USER 'ghost'@'10.89.%' IDENTIFIED BY 'ghost';
GRANT ALL PRIVILEGES ON ghost.* TO 'ghost'@'10.89.%'; GRANT ALL PRIVILEGES ON ghost.* TO 'ghost'@'10.89.%';
'';
CREATE USER 'matomo'@'10.89.%' IDENTIFIED BY 'matomo';
GRANT ALL PRIVILEGES ON matomo.* TO 'matomo'@'10.89.%'; '';
}; };
services.mysqlBackup = { services.mysqlBackup = {
enable = true; enable = true;

View File

@ -32,7 +32,9 @@
rtmps = { rtmps = {
address = ":1945"; address = ":1945";
}; };
websecure = {address = ":443";}; websecure = {
address = ":443";
};
}; };
}; };
dynamicConfigOptions = { dynamicConfigOptions = {

View File

@ -1,21 +1,21 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 4NLKrw +fDbZ8PGMC76pLG7dhGLdauk0nKmKQHhtYO3Rx3FXGQ -> ssh-ed25519 4NLKrw ujol4VLzOhJQkOLACge18IshC59mKHSYtkrl2sEGc3U
lWWB6D+219qf80vLd/stL3SpHnAraq81itJJrbBejB0 G7Dje5m+l2LVvLXsP2dxI3zlg0ik8781/mQHM3FVPYU
-> ssh-ed25519 5kwcsA 1+aNJYD8G/7KoU8p/uUTt0DuZi9iEa4sXolUXRRQuwg -> ssh-ed25519 5kwcsA cCSwI5ONGu9JlzfPEdd+fr3fdtRZMVUucEQ9FGIK8EA
EArLBr6A/ESfHt+ep6CyxY3K81/xpvZ5jmheSR3K6tc +iLecJaAv7uJ3hgwkQqLh4S9u18r2oy8ZAwiajVRYhE
-> ssh-ed25519 9d4YIQ UOAcFvPcIU7HcH72s+lbiIgvLpBLbhCqfaqY29xxiGI -> ssh-ed25519 9d4YIQ kHP8FhCx52peMGRQ8A0qmTEf1X3sGzraqR+sYaqJmnc
GzIQXAhS420geZXLHfOupo9fHI9K404PfcpwgeIb/9s YQ1mGHRD4viHfIyIDBuvGQHsyi3M9z12RNWvQD3ibuo
-> ssh-ed25519 3Bcr1w z39Qerm6t4t/lvfKS1IBn+711weBSuXA9Aa6KyjZ+Sw -> ssh-ed25519 3Bcr1w bB1R7kZRTmlsj6oMAuTTcVHwUgY5QqydLpzYGXUe7BY
V1cwhlfasjftrNonhtf32NS/9HKYW4xw3dRLYtug/Uc ARhxY2AUp5DYgsq31gYwiDNj+bA4s03ctBxl6ipONHQ
-> ssh-rsa DQlE7w -> ssh-rsa DQlE7w
k+W3+5KMiGuuE3klExo/E8UmZRdgX5MpKKKMuE4V4AvJV0iaQaWKn26/xMK4Apa6 oVCEFSMqyvoWY0SkJZOENUDgmvNsaCdfna6QYGvQQTh/XC563ODIj0WiED6AAQqw
g6/nIuKq9qjOwXpjaynzZlcwmnknspZNiMloFJDTHVllebRG5M2XkUs+b0jMWAtW N/FxPdGdbsew3BCOB0pyvsOmv9ql8/cpiSAM8J6SMw78/9e+ri3F6PVKbTEY9aXP
mIZNC7xSBaLnK+9Yo8U635EtzKgDYti7FTV6lsTyIk7rvBPK6YCLu8MtltAtRc6I Ds8uttbjozy5kWJcZf5dGfB5BXW2v/6WRo9PUOUUapJgJqKXD5hjthcOurXoj2B6
sSjn/Kdzz38QJSXapx59T6X+lrG02SVuoBax1YMp5SPzTZEUKJMBoOmmi+T+nI6S qQXAWr+hYwy8saQWItD6hOGNKbYzqkAXOBkwSRvdmXpc9e75yUw7KPHHng8QrrYj
kQ/Ysv3VQsCrjdpnD2MlnHX5YGg1HSiMSnaA8uIsvXhdgTi/8f7yi/WnqJjOHUe/ /gM28qBo6cyT8cEsV/6XRo4LxzqCGiCqup+YpY80Jxk46hh7O1rMXW/IjeHww27f
UuteiMWesfwdIz3Osm77ApLvKBm9F/nPoK3naaxzucOhFG5DGtt4bM5oj1yFBKw/ CzwIdi37IE9QCviuuGjqn7kbKkg9jhcPKbktfNF+9urUDnCvoYT8umH8bfRa/wSB
4UTvHF3NWNfJBEW1kUnUM3UFupt+0STjC6Sm9GVZaDGIUb11e2KFC+CxOYGvYir9 VVqIzpjYjA0NrIqRfon1dK/LsTgKSeExOsb8wQDS4rpvX/Yqm0lBfmYJ7DaBmwpj
0lti0yU/uucKtO0eWDHeWI0XrJSvnF0JSIonJC3U7S2lagqiDJDJBKYPC4hz2nOD XTpOyn1wGu4/cgFz9BO6WEhrxXum/67UXGwxisV3pmGXLIHqshMkgYjGl6gvUe0C
--- TWONtoVHZagq3ARx1odevztc6jQD2BfW2mnqGqNV8rY --- QM3r5pYRyC4nnhf/dO/zFwzwye1pgLNOKOPAowdYQBM
¥}iŒP#¤Ò\Sºˆ¢7šÍhø— {†¡a-äŸä…ÅÖ¤3P³4˜Xæ¿<ÍeþÕQî0xûNzŸl¸Z4,,°j ¦à©Žþ f泇髎鰉螤毲裰饆+鰲?渚<>}5蔟@