restreamer setup
This commit is contained in:
parent
779473317d
commit
e93bdf20a3
@ -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 ''
|
||||||
|
@ -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";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
@ -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;
|
||||||
|
@ -32,7 +32,9 @@
|
|||||||
rtmps = {
|
rtmps = {
|
||||||
address = ":1945";
|
address = ":1945";
|
||||||
};
|
};
|
||||||
websecure = {address = ":443";};
|
websecure = {
|
||||||
|
address = ":443";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
dynamicConfigOptions = {
|
dynamicConfigOptions = {
|
||||||
|
@ -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ûN‚z‹Ÿl¸Z–\©‹4,,’°j ¦à©Žþ
|
f泇髎鰉螤毲裰饆+鰲?渚<>}5蔟@
|
Loading…
x
Reference in New Issue
Block a user