feat(host/faunus-ater): music frontend via navidrome
This commit is contained in:
parent
3c4d91c122
commit
d47679ec28
|
@ -5,6 +5,7 @@
|
|||
...
|
||||
}: let
|
||||
webdavPort = 4918;
|
||||
navidromePort = 4533;
|
||||
in {
|
||||
# User and group that owns all media-related files
|
||||
users.users.media = {
|
||||
|
@ -106,8 +107,32 @@ in {
|
|||
server.listen = ["0.0.0.0:${builtins.toString webdavPort}" "[::]:${builtins.toString webdavPort}"];
|
||||
location = [
|
||||
{
|
||||
route = ["/*path"];
|
||||
directory = "/data/media";
|
||||
route = ["/music/*path"];
|
||||
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";
|
||||
methods = ["webdav-ro"];
|
||||
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 = {
|
||||
enable = true;
|
||||
description = "Fix media permissions and ownership";
|
||||
|
@ -192,6 +226,12 @@ in {
|
|||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
"music.tammena.me" = withPreset "music" {
|
||||
locations."/" = {
|
||||
proxyPass = "http://127.0.0.1:${builtins.toString navidromePort}";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Secrets
|
||||
|
@ -208,5 +248,6 @@ in {
|
|||
certificate-key-prowlarr-tammena-me = conf;
|
||||
certificate-key-downloadarr-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 "prowlarr" 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-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-music-tammena-me: ENC[AES256_GCM,data:W7562jT1GB1gHGrVjrkJWfcz4zOfh3IEg6QOuIEiRhI6WirGltFzTOXtBy+FQZWf448BTQvwJ07Mjyy5rdaTd1Ox79kx3QzYVyqmh3+G9ZY7J2HKxX6DEEyHVT6rF/AeQDX96eprAAXGz1OIEcy6RpzkZnuVk8LOSAynvLRvgWUFjQmbPulxPa+4yY7zoNH36r0mELLhPbif7N7pPUYev0N7NL7lX+PZzlDxLGiP4rxmjG5g8E84KkV1EZgZd+f3wUCBSGwz0X6GkR5baTsg6mlEBBmuVgjAgaSxmrRwp1cWTfPHV6di5Ihyw98/6MY4aoiEilBQNrUimkZLHxAmw4TDG2GmqtHukgSQbZLEu5m7y56oMKkCYLKUsjQn/twta3pMgToRjhE9VUhsWpQ=,iv:mc/XaCw0Kzllz3IIysSnoTcR0vbu9iizvXQSvcrReio=,tag:M5jhusP2vsZxPk8qd8rJNw==,type:str]
|
||||
sops:
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
|
@ -40,8 +41,8 @@ sops:
|
|||
ZzFxdmlXaTRCY2tUZndBSDlNeUVROVUKH1CxbcdwHR3ELn9YlGvO6YbGGg++wGZv
|
||||
97ez/ErXEOq/6IF6HzV3I9BsVV4WCJI2VTP8Lbiwt59qg5riH7CGJQ==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2024-02-26T14:08:30Z"
|
||||
mac: ENC[AES256_GCM,data:wBQa8JTURhGsFrvxwO2YBke9aE5jl6+SIkhEFkKkMPE9tO7mquOnItLWQsHEO3gcmgeKZ4fqgSGRIF3IkPBdgmocudJ0LnrAeC4CJ6lz4VRFn9cml2CIkn1HD8RInXFYq8NP3dJ1ytEJg68QrRlyTj7CMrMnImquEsK2Po2UyL4=,iv:ef3/cS4bQOjZEg/LEDZctDzTayWfDJUSeCNL+MFT86c=,tag:o4JYpryUgBx16hcVK6A0wg==,type:str]
|
||||
lastmodified: "2024-03-01T07:52:20Z"
|
||||
mac: ENC[AES256_GCM,data:BjM9tFIEaiTTsMHocSBoR7FZjBHIhCnyNkxsFto+7OD/Hu/QGPweme4ey9tyW255veBkVBLlfR6b+MRQBbEJWTODJ+iYs9BMElK1uJk5D5pxH1JM/Dk2Pz/Z8AYCSbsx37jy8lLnNoHvJIxBuADTjQk0RvF0qUNVXZUTfhGA49w=,iv:Iizw65Ruh7vq1gH8+tR1TI2ddHZZhKHtE0LS5FzqpuM=,tag:3CPy7IR1H3ztl3XomH6fPA==,type:str]
|
||||
pgp:
|
||||
- created_at: "2023-11-06T16:58:30Z"
|
||||
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