feat(host/faunus-ater): music frontend via navidrome
This commit is contained in:
parent
3c4d91c122
commit
d47679ec28
|
@ -5,6 +5,7 @@
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
webdavPort = 4918;
|
webdavPort = 4918;
|
||||||
|
navidromePort = 4533;
|
||||||
in {
|
in {
|
||||||
# User and group that owns all media-related files
|
# User and group that owns all media-related files
|
||||||
users.users.media = {
|
users.users.media = {
|
||||||
|
@ -106,8 +107,32 @@ in {
|
||||||
server.listen = ["0.0.0.0:${builtins.toString webdavPort}" "[::]:${builtins.toString webdavPort}"];
|
server.listen = ["0.0.0.0:${builtins.toString webdavPort}" "[::]:${builtins.toString webdavPort}"];
|
||||||
location = [
|
location = [
|
||||||
{
|
{
|
||||||
route = ["/*path"];
|
route = ["/music/*path"];
|
||||||
directory = "/data/media";
|
directory = "/data/dirty/music";
|
||||||
|
handler = "filesystem";
|
||||||
|
methods = ["webdav-ro"];
|
||||||
|
autoindex = true;
|
||||||
|
auth = "false";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
route = ["/tv/*path"];
|
||||||
|
directory = "/data/media/tv";
|
||||||
|
handler = "filesystem";
|
||||||
|
methods = ["webdav-ro"];
|
||||||
|
autoindex = true;
|
||||||
|
auth = "false";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
route = ["/anime/*path"];
|
||||||
|
directory = "/data/media/anime";
|
||||||
|
handler = "filesystem";
|
||||||
|
methods = ["webdav-ro"];
|
||||||
|
autoindex = true;
|
||||||
|
auth = "false";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
route = ["/movies/*path"];
|
||||||
|
directory = "/data/media/movies";
|
||||||
handler = "filesystem";
|
handler = "filesystem";
|
||||||
methods = ["webdav-ro"];
|
methods = ["webdav-ro"];
|
||||||
autoindex = true;
|
autoindex = true;
|
||||||
|
@ -117,6 +142,15 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.navidrome = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
MusicFolder = "/data/dirty/music";
|
||||||
|
Port = navidromePort;
|
||||||
|
DefaultLanguage = "de";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
systemd.services.fix-media-permissions = {
|
systemd.services.fix-media-permissions = {
|
||||||
enable = true;
|
enable = true;
|
||||||
description = "Fix media permissions and ownership";
|
description = "Fix media permissions and ownership";
|
||||||
|
@ -192,6 +226,12 @@ in {
|
||||||
proxyWebsockets = true;
|
proxyWebsockets = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
"music.tammena.me" = withPreset "music" {
|
||||||
|
locations."/" = {
|
||||||
|
proxyPass = "http://127.0.0.1:${builtins.toString navidromePort}";
|
||||||
|
proxyWebsockets = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Secrets
|
# Secrets
|
||||||
|
@ -208,5 +248,6 @@ in {
|
||||||
certificate-key-prowlarr-tammena-me = conf;
|
certificate-key-prowlarr-tammena-me = conf;
|
||||||
certificate-key-downloadarr-tammena-me = conf;
|
certificate-key-downloadarr-tammena-me = conf;
|
||||||
certificate-key-webdav-tammena-me = conf;
|
certificate-key-webdav-tammena-me = conf;
|
||||||
|
certificate-key-music-tammena-me = conf;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -131,6 +131,7 @@ in {
|
||||||
${point "radarr" faunus-ater}
|
${point "radarr" faunus-ater}
|
||||||
${point "prowlarr" faunus-ater}
|
${point "prowlarr" faunus-ater}
|
||||||
${point "downloadarr" faunus-ater}
|
${point "downloadarr" faunus-ater}
|
||||||
|
${point "music" faunus-ater}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -25,6 +25,7 @@ certificate-key-webdav-tammena-me: ENC[AES256_GCM,data:XdX1uSK5H/8SnqrLraTEY++2a
|
||||||
certificate-key-bazarr-tammena-me: ENC[AES256_GCM,data:H8dL0YydAMx+Azd0xpQ80ASkEFTlMlm0tIntMMbdMImJRet5/81Wfhu+hFyRKJpoYadyKqrNq2SeWEURUU2g7UtsjB6G8nCBeszdaeHe/7pdgkCe7LBW5tQWKtnYKkS3vn3Vz27i+6+NO+U+RhR7w2YaZZBwsTBy3976xGvQVjQ0Yn36kkoOvDpVEmdJyXexzgNZMnR/avFk2klwbf/LBPFme9RFylp/c02QvOgK8au3nWueYjDsKbvOobABrw8oqp5LF2i0R1vz4WTvK4LhNag6JMW/fdal9dB9QpmpC3CphVo0bJThlDbooc7qo+PiT2I1tNXCuPrNWGRyZ7WZ6iKcqKma8o+CzvRZoUuB80PjkNK6dvWF/i+CJRnQIZtHIe6xqGhHleRSo9AmRg8=,iv:DMPOGFijuiIEC9QBlb1DJynjq50H1rwpUUqDwaGSgQ8=,tag:vYFrzTvvCsYW1blobzNcbA==,type:str]
|
certificate-key-bazarr-tammena-me: ENC[AES256_GCM,data:H8dL0YydAMx+Azd0xpQ80ASkEFTlMlm0tIntMMbdMImJRet5/81Wfhu+hFyRKJpoYadyKqrNq2SeWEURUU2g7UtsjB6G8nCBeszdaeHe/7pdgkCe7LBW5tQWKtnYKkS3vn3Vz27i+6+NO+U+RhR7w2YaZZBwsTBy3976xGvQVjQ0Yn36kkoOvDpVEmdJyXexzgNZMnR/avFk2klwbf/LBPFme9RFylp/c02QvOgK8au3nWueYjDsKbvOobABrw8oqp5LF2i0R1vz4WTvK4LhNag6JMW/fdal9dB9QpmpC3CphVo0bJThlDbooc7qo+PiT2I1tNXCuPrNWGRyZ7WZ6iKcqKma8o+CzvRZoUuB80PjkNK6dvWF/i+CJRnQIZtHIe6xqGhHleRSo9AmRg8=,iv:DMPOGFijuiIEC9QBlb1DJynjq50H1rwpUUqDwaGSgQ8=,tag:vYFrzTvvCsYW1blobzNcbA==,type:str]
|
||||||
certificate-key-prowlarr-tammena-me: ENC[AES256_GCM,data:AeiJMufnFh3EDjKnkPz5S+ScxW8U9AdlLo4q8jN1r3CdVF+mp7TrYsDK//QJiTzyJkzQN4TVNj27ioUt0IQtHrlLbI83wbgZeeMtYSKxXt8PnrSnQOhZYQstXhqcyax6z2uJf0xkecSFtrUW8ZngM9PBr8T2BzcXv8TXR/tBP3qB8np+cyn8JvKbuVR9HZQO5HulXm2ZxCe0C4o+TANntZhvbJBbgihAOSukToNewPhzml7h2bLG5iit9LisdWOxihuqall5R2kE2HBax9nbK9Q1xI8y0A8jRxB0NMNyCMYUQ0eEgLCorNgalX1u9dE5QEPGbdLj3Bs2YfqHqnX6FZNDz/YWkSbEV6KIfqXFESMr5M59h1zhYZRc8f9mmHWitR0FZtkqZT62fb1fCW8=,iv:Cr2nI1qZWqSCkzDaeAwvaot11pOz6VYR+j07LJEMr7E=,tag:7hI+giA6nNbBNZ2QS9yBOg==,type:str]
|
certificate-key-prowlarr-tammena-me: ENC[AES256_GCM,data:AeiJMufnFh3EDjKnkPz5S+ScxW8U9AdlLo4q8jN1r3CdVF+mp7TrYsDK//QJiTzyJkzQN4TVNj27ioUt0IQtHrlLbI83wbgZeeMtYSKxXt8PnrSnQOhZYQstXhqcyax6z2uJf0xkecSFtrUW8ZngM9PBr8T2BzcXv8TXR/tBP3qB8np+cyn8JvKbuVR9HZQO5HulXm2ZxCe0C4o+TANntZhvbJBbgihAOSukToNewPhzml7h2bLG5iit9LisdWOxihuqall5R2kE2HBax9nbK9Q1xI8y0A8jRxB0NMNyCMYUQ0eEgLCorNgalX1u9dE5QEPGbdLj3Bs2YfqHqnX6FZNDz/YWkSbEV6KIfqXFESMr5M59h1zhYZRc8f9mmHWitR0FZtkqZT62fb1fCW8=,iv:Cr2nI1qZWqSCkzDaeAwvaot11pOz6VYR+j07LJEMr7E=,tag:7hI+giA6nNbBNZ2QS9yBOg==,type:str]
|
||||||
certificate-key-lidarr-tammena-me: ENC[AES256_GCM,data:vkoBDdBgHkdA9CmE6Ld5Tav+Q10fssGKKcbnRNYuS0Nh8I7DiBb8Md5yab33KNV9ZL4a/0A3VTPvpJs76GPFRkxVcwTTbcCl6O5oxTArvfc4SOtut7sC5tc3ReXMkJnKfHfwiJas9SW7ag01rRamgD9OUZ913qlKxmDO0RrhX8kjgAPvUiRPtpLyFPR7QypzP/PXHW7t70gtZFmIrwTbIFMTdR6bBMcyTA4S8qwSIu6DnTIlaJwIdELqmr5WIK8GzsXCowG+hlL0mImSSnoidwzygjrybSdBUyDbDIv9ga9uALO6UtsJfYLIiV9t5Yv+5rR/Q6i4xnCAZpqwZ0Y/sgELIMExxxSslBXrE7VRiG3F0ZqR2S+o2rYVCNlcmKpwZC3caZuj4pCDHtLl/+M=,iv:NsUI/VwzYqk/ovysBgvlVRKIRBt88iZ4AR44EEfN2cE=,tag:uw5jlgF6SP7w4DL0Zy6TMw==,type:str]
|
certificate-key-lidarr-tammena-me: ENC[AES256_GCM,data:vkoBDdBgHkdA9CmE6Ld5Tav+Q10fssGKKcbnRNYuS0Nh8I7DiBb8Md5yab33KNV9ZL4a/0A3VTPvpJs76GPFRkxVcwTTbcCl6O5oxTArvfc4SOtut7sC5tc3ReXMkJnKfHfwiJas9SW7ag01rRamgD9OUZ913qlKxmDO0RrhX8kjgAPvUiRPtpLyFPR7QypzP/PXHW7t70gtZFmIrwTbIFMTdR6bBMcyTA4S8qwSIu6DnTIlaJwIdELqmr5WIK8GzsXCowG+hlL0mImSSnoidwzygjrybSdBUyDbDIv9ga9uALO6UtsJfYLIiV9t5Yv+5rR/Q6i4xnCAZpqwZ0Y/sgELIMExxxSslBXrE7VRiG3F0ZqR2S+o2rYVCNlcmKpwZC3caZuj4pCDHtLl/+M=,iv:NsUI/VwzYqk/ovysBgvlVRKIRBt88iZ4AR44EEfN2cE=,tag:uw5jlgF6SP7w4DL0Zy6TMw==,type:str]
|
||||||
|
certificate-key-music-tammena-me: ENC[AES256_GCM,data:W7562jT1GB1gHGrVjrkJWfcz4zOfh3IEg6QOuIEiRhI6WirGltFzTOXtBy+FQZWf448BTQvwJ07Mjyy5rdaTd1Ox79kx3QzYVyqmh3+G9ZY7J2HKxX6DEEyHVT6rF/AeQDX96eprAAXGz1OIEcy6RpzkZnuVk8LOSAynvLRvgWUFjQmbPulxPa+4yY7zoNH36r0mELLhPbif7N7pPUYev0N7NL7lX+PZzlDxLGiP4rxmjG5g8E84KkV1EZgZd+f3wUCBSGwz0X6GkR5baTsg6mlEBBmuVgjAgaSxmrRwp1cWTfPHV6di5Ihyw98/6MY4aoiEilBQNrUimkZLHxAmw4TDG2GmqtHukgSQbZLEu5m7y56oMKkCYLKUsjQn/twta3pMgToRjhE9VUhsWpQ=,iv:mc/XaCw0Kzllz3IIysSnoTcR0vbu9iizvXQSvcrReio=,tag:M5jhusP2vsZxPk8qd8rJNw==,type:str]
|
||||||
sops:
|
sops:
|
||||||
kms: []
|
kms: []
|
||||||
gcp_kms: []
|
gcp_kms: []
|
||||||
|
@ -40,8 +41,8 @@ sops:
|
||||||
ZzFxdmlXaTRCY2tUZndBSDlNeUVROVUKH1CxbcdwHR3ELn9YlGvO6YbGGg++wGZv
|
ZzFxdmlXaTRCY2tUZndBSDlNeUVROVUKH1CxbcdwHR3ELn9YlGvO6YbGGg++wGZv
|
||||||
97ez/ErXEOq/6IF6HzV3I9BsVV4WCJI2VTP8Lbiwt59qg5riH7CGJQ==
|
97ez/ErXEOq/6IF6HzV3I9BsVV4WCJI2VTP8Lbiwt59qg5riH7CGJQ==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2024-02-26T14:08:30Z"
|
lastmodified: "2024-03-01T07:52:20Z"
|
||||||
mac: ENC[AES256_GCM,data:wBQa8JTURhGsFrvxwO2YBke9aE5jl6+SIkhEFkKkMPE9tO7mquOnItLWQsHEO3gcmgeKZ4fqgSGRIF3IkPBdgmocudJ0LnrAeC4CJ6lz4VRFn9cml2CIkn1HD8RInXFYq8NP3dJ1ytEJg68QrRlyTj7CMrMnImquEsK2Po2UyL4=,iv:ef3/cS4bQOjZEg/LEDZctDzTayWfDJUSeCNL+MFT86c=,tag:o4JYpryUgBx16hcVK6A0wg==,type:str]
|
mac: ENC[AES256_GCM,data:BjM9tFIEaiTTsMHocSBoR7FZjBHIhCnyNkxsFto+7OD/Hu/QGPweme4ey9tyW255veBkVBLlfR6b+MRQBbEJWTODJ+iYs9BMElK1uJk5D5pxH1JM/Dk2Pz/Z8AYCSbsx37jy8lLnNoHvJIxBuADTjQk0RvF0qUNVXZUTfhGA49w=,iv:Iizw65Ruh7vq1gH8+tR1TI2ddHZZhKHtE0LS5FzqpuM=,tag:3CPy7IR1H3ztl3XomH6fPA==,type:str]
|
||||||
pgp:
|
pgp:
|
||||||
- created_at: "2023-11-06T16:58:30Z"
|
- created_at: "2023-11-06T16:58:30Z"
|
||||||
enc: |
|
enc: |
|
||||||
|
|
12
secrets/pub/music-tammena-me.crt
Normal file
12
secrets/pub/music-tammena-me.crt
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIBtzCCAV2gAwIBAgIUCTlWBN1XndRyRWPmH0jbyVCkz9MwCgYIKoZIzj0EAwIw
|
||||||
|
FTETMBEGA1UEAwwKTXkgSG9tZSBDQTAeFw0yNDAzMDEwNzUyMTlaFw0yNTAzMDEw
|
||||||
|
NzUyMTlaMBExDzANBgNVBAMMBiouaG9tZTBZMBMGByqGSM49AgEGCCqGSM49AwEH
|
||||||
|
A0IABDj6PVJQ6w7bDgBoMet58ghgCrVgx3twhVo7rroZpKjOJyFKj3toLODtI8XY
|
||||||
|
kv0u8FqHRzeQoYaSMM4SGI3b6iSjgY4wgYswCwYDVR0PBAQDAgXgMBMGA1UdJQQM
|
||||||
|
MAoGCCsGAQUFBwMBMCcGA1UdEQQgMB6CEG11c2ljLnRhbW1lbmEubWWCCm11c2lj
|
||||||
|
LmhvbWUwHQYDVR0OBBYEFNIywlNqPsgvTkgUyvNdxWR8uAe5MB8GA1UdIwQYMBaA
|
||||||
|
FAD63A/bJrL4LdckOxmyIq1lmU+rMAoGCCqGSM49BAMCA0gAMEUCIQDADSek9wNP
|
||||||
|
0Pp8XK9vLUbvny26ua5FvZcr9npboqfaGAIgFgHNjOUtUm4WbdFqaeXeFVbqd+Ww
|
||||||
|
Z3WOCLO7TGeIZSE=
|
||||||
|
-----END CERTIFICATE-----
|
Loading…
Reference in a new issue