clean up server configuration
This commit is contained in:
parent
ffa3121602
commit
6b76450816
2 changed files with 95 additions and 209 deletions
92
system/services/containers/experimental/beets.yaml
Normal file
92
system/services/containers/experimental/beets.yaml
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
include:
|
||||||
|
- secrets.yaml
|
||||||
|
|
||||||
|
library: library.db
|
||||||
|
directory: /music
|
||||||
|
statefile: state.pickle
|
||||||
|
|
||||||
|
threaded: yes
|
||||||
|
|
||||||
|
import:
|
||||||
|
write: yes
|
||||||
|
copy: yes
|
||||||
|
link: no
|
||||||
|
move: no
|
||||||
|
incremental: no
|
||||||
|
|
||||||
|
paths:
|
||||||
|
default: /$albumartist/$album %aunique{}/$track $title %aunique{}
|
||||||
|
singleton: /$albumartist/$artist %aunique{}/$track $title %aunique{}
|
||||||
|
comp: /Compilation/$album %aunique{}/$track $title %aunique{}
|
||||||
|
albumtype:soundtrack: Soundtracks/$album %aunique{}/$track $title %aunique{}
|
||||||
|
|
||||||
|
clutter: ["Thumbs.DB", ".DS_Store"]
|
||||||
|
|
||||||
|
|
||||||
|
plugins: [
|
||||||
|
embedart,
|
||||||
|
fetchart,
|
||||||
|
discogs,
|
||||||
|
advancedrewrite,
|
||||||
|
#lyrics,
|
||||||
|
spotify,
|
||||||
|
scrub,
|
||||||
|
duplicates,
|
||||||
|
unimported,
|
||||||
|
missing,
|
||||||
|
]
|
||||||
|
|
||||||
|
genres: yes
|
||||||
|
|
||||||
|
unimported:
|
||||||
|
ignore_extensions: jpg png
|
||||||
|
|
||||||
|
spotify:
|
||||||
|
source_weight: 0.7
|
||||||
|
|
||||||
|
embedart:
|
||||||
|
auto: yes
|
||||||
|
ifempty: no
|
||||||
|
remove_art_file: no
|
||||||
|
|
||||||
|
fetchart:
|
||||||
|
auto: yes
|
||||||
|
cautious: yes
|
||||||
|
minwidth: 500
|
||||||
|
maxwidth: 1200
|
||||||
|
cover_format: jpeg
|
||||||
|
sources:
|
||||||
|
- coverart: release
|
||||||
|
- coverart: releasegroup
|
||||||
|
- albumart
|
||||||
|
- amazon
|
||||||
|
- google
|
||||||
|
- itunes
|
||||||
|
- fanarttv
|
||||||
|
- lastfm
|
||||||
|
- wikipedia
|
||||||
|
|
||||||
|
#lyrics:
|
||||||
|
# fallback: '''
|
||||||
|
# sources: musixmatch google
|
||||||
|
|
||||||
|
replace:
|
||||||
|
'[\\]': '''
|
||||||
|
'[_]': '-'
|
||||||
|
'[/]': '-'
|
||||||
|
'^\.': '''
|
||||||
|
'[\x00-\x1f]': '''
|
||||||
|
'[<>:"\?\*\|]': '''
|
||||||
|
'\.$': '''
|
||||||
|
'\s+$': '''
|
||||||
|
'^\s+': '''
|
||||||
|
'^-': '''
|
||||||
|
'’': "'"
|
||||||
|
'′': "'"
|
||||||
|
'″': '''
|
||||||
|
'‐': '-'
|
||||||
|
|
||||||
|
aunique:
|
||||||
|
keys: albumartist albumtype year album
|
||||||
|
disambuguators: format mastering media label albumdisambig releasegroupdisambig
|
||||||
|
bracket: '[]'
|
|
@ -36,23 +36,15 @@
|
||||||
image = "qmcgaw/gluetun:v3";
|
image = "qmcgaw/gluetun:v3";
|
||||||
volumes = [
|
volumes = [
|
||||||
"${config.sops.secrets.wireguard.path}:/gluetun/wireguard/wg0.conf"
|
"${config.sops.secrets.wireguard.path}:/gluetun/wireguard/wg0.conf"
|
||||||
#"${builtins.toFile "post-rules.txt" ''
|
|
||||||
# iptables -A INPUT -d 192.168.50.26 -p udp --sport
|
|
||||||
# ''}:/iptables/post-rules.txt"
|
|
||||||
];
|
];
|
||||||
ports = [
|
ports = [
|
||||||
## This bypasses the firewall
|
## This bypasses the firewall
|
||||||
## use 127.0.0.1:XXXX:XXXX if you only want it to be accessible locally
|
## use 127.0.0.1:XXXX:XXXX if you only want it to be accessible locally
|
||||||
"127.0.0.1:1389:1389" # openldap
|
|
||||||
"127.0.0.1:1636:1636" # openldap
|
|
||||||
"127.0.0.1:8191:8191" # flaresolverr
|
"127.0.0.1:8191:8191" # flaresolverr
|
||||||
"9117:9117" # jackett
|
"9117:9117" # jackett
|
||||||
|
"8080:8080" # qbittorrent webui
|
||||||
"5030:5030" # slskd
|
"5030:5030" # slskd
|
||||||
"8096:8096" # jellyfin
|
"8096:8096" # jellyfin
|
||||||
"8080:8080" # qbittorrent webui
|
|
||||||
#"80:8336" # caddy
|
|
||||||
#"443:443" # caddy
|
|
||||||
#"443:443/udp" # caddy
|
|
||||||
"8336:8336" # jellyfin
|
"8336:8336" # jellyfin
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -137,11 +129,6 @@
|
||||||
caddy = {
|
caddy = {
|
||||||
image = "caddy";
|
image = "caddy";
|
||||||
volumes = [
|
volumes = [
|
||||||
#alt.xunuwu.xyz:8336 {
|
|
||||||
#tls internal
|
|
||||||
#reverse_proxy
|
|
||||||
#localhost:5030
|
|
||||||
#}
|
|
||||||
"${builtins.toFile "Caddyfile" ''
|
"${builtins.toFile "Caddyfile" ''
|
||||||
https://jellyfin.xunuwu.xyz:8336 {
|
https://jellyfin.xunuwu.xyz:8336 {
|
||||||
tls /etc/ssl/certs/xunuwu.xyz/cert.pem /etc/ssl/certs/xunuwu.xyz/key.pem
|
tls /etc/ssl/certs/xunuwu.xyz/cert.pem /etc/ssl/certs/xunuwu.xyz/key.pem
|
||||||
|
@ -152,9 +139,6 @@
|
||||||
reverse_proxy localhost:3000
|
reverse_proxy localhost:3000
|
||||||
}
|
}
|
||||||
''}:/etc/caddy/Caddyfile"
|
''}:/etc/caddy/Caddyfile"
|
||||||
#tls /etc/ssl/certs/cloudflare/cert.pem /etc/ssl/certs/cloudflare/key.pem
|
|
||||||
#"${config.sops.secrets.xunuwu.xyz-cert.path}:/etc/ssl/certs/cloudflare/cert.pem"
|
|
||||||
#"${config.sops.secrets.xunuwu.xyz-key.path}:/etc/ssl/certs/cloudflare/key.pem"
|
|
||||||
"/var/lib/acme/xunuwu.xyz:/etc/ssl/certs/xunuwu.xyz"
|
"/var/lib/acme/xunuwu.xyz:/etc/ssl/certs/xunuwu.xyz"
|
||||||
"/media/config/caddy/data:/data"
|
"/media/config/caddy/data:/data"
|
||||||
"/media/config/caddy/config:/config"
|
"/media/config/caddy/config:/config"
|
||||||
|
@ -164,209 +148,19 @@
|
||||||
"--network=container:gluetun"
|
"--network=container:gluetun"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
#openldap = {
|
|
||||||
# image = "bitnami/openldap";
|
|
||||||
# environment = {
|
|
||||||
# "LDAP_ADMIN_USERNAME" = "admin";
|
|
||||||
# "LDAP_ADMIN_PASSWORD" = "adminpassword";
|
|
||||||
# "LDAP_USERS" = "user01,user02";
|
|
||||||
# "LDAP_PASSWORDS" = "password1,password2";
|
|
||||||
# };
|
|
||||||
# dependsOn = ["gluetun"];
|
|
||||||
# extraOptions = [
|
|
||||||
# "--network=container:gluetun"
|
|
||||||
# ];
|
|
||||||
#};
|
|
||||||
#authelia = {
|
|
||||||
# image = "authelia/authelia";
|
|
||||||
# environment = {
|
|
||||||
# AUTHELIA_JWT_SECRET_FILE = "/secrets/JWT_SECRET";
|
|
||||||
# AUTHELIA_SESSION_SECRET_FILE = "/secrets/SESSION_SECRET";
|
|
||||||
# AUTHELIA_STORAGE_POSTGRES_PASSWORD_FILE = "/secrets/STORAGE_PASSWORD";
|
|
||||||
# AUTHELIA_STORAGE_ENCRYPTION_KEY_FILE = "/secrets/STORAGE_ENCRYPTION_KEY";
|
|
||||||
# };
|
|
||||||
# volumes = [
|
|
||||||
# "${config.sops.secrets.authelia_jwt_secret.path}:/secrets/JWT_SECRET"
|
|
||||||
# "${config.sops.secrets.authelia_session_secret.path}:/secrets/SESSION_SECRET"
|
|
||||||
# "${config.sops.secrets.authelia_storage_password.path}:/secrets/STORAGE_PASSWORD"
|
|
||||||
# "${config.sops.secrets.authelia_encryption_key.path}:/secrets/STORAGE_ENCRYPTION_KEY"
|
|
||||||
# "${builtins.toFile "users_database.yml" ''
|
|
||||||
# them: auto
|
|
||||||
# default_redirection_url: https://auth.xunuwu.xyz:8336
|
|
||||||
|
|
||||||
# authentication_backend:
|
|
||||||
# ldap:
|
|
||||||
# address: 'ldap://127.0.0.1:1389'
|
|
||||||
# implementation: 'custom'
|
|
||||||
# timeout: '5s
|
|
||||||
|
|
||||||
# session:
|
|
||||||
# domain: example.com
|
|
||||||
|
|
||||||
# redis:
|
|
||||||
# host: redis
|
|
||||||
# port: 6379
|
|
||||||
|
|
||||||
# storage:
|
|
||||||
# postgres:
|
|
||||||
# host: database
|
|
||||||
# database: authelia
|
|
||||||
# username: authelia
|
|
||||||
|
|
||||||
# notifier:
|
|
||||||
# smtp:
|
|
||||||
# host: smtp.xunuwu.xyz
|
|
||||||
# port: 8336
|
|
||||||
# username: auth@xunuwu.xyz
|
|
||||||
# sender: "Authelia <auth@xunuwu.xyz"
|
|
||||||
# ''}:/config/configuration.yml"
|
|
||||||
# "${builtins.toFile "configuration.yml" ''
|
|
||||||
# them: auto
|
|
||||||
# default_redirection_url: https://auth.xunuwu.xyz:8336
|
|
||||||
|
|
||||||
# authentication_backend:
|
|
||||||
# file:
|
|
||||||
# path: /config/users_database.yml
|
|
||||||
# #authentication_backend:
|
|
||||||
# # ldap:
|
|
||||||
# # address: 'ldap://127.0.0.1:1389'
|
|
||||||
# # implementation: 'custom'
|
|
||||||
# # timeout: '5s
|
|
||||||
|
|
||||||
# session:
|
|
||||||
# domain: example.com
|
|
||||||
|
|
||||||
# redis:
|
|
||||||
# host: redis
|
|
||||||
# port: 6379
|
|
||||||
|
|
||||||
# storage:
|
|
||||||
# postgres:
|
|
||||||
# host: database
|
|
||||||
# database: authelia
|
|
||||||
# username: authelia
|
|
||||||
|
|
||||||
# notifier:
|
|
||||||
# smtp:
|
|
||||||
# host: smtp.xunuwu.xyz
|
|
||||||
# port: 8336
|
|
||||||
# username: auth@xunuwu.xyz
|
|
||||||
# sender: "Authelia <auth@xunuwu.xyz"
|
|
||||||
# ''}:/config/configuration.yml"
|
|
||||||
# ];
|
|
||||||
# dependsOn = ["gluetun"];
|
|
||||||
# extraOptions = [
|
|
||||||
# "--network=container:gluetun"
|
|
||||||
# ];
|
|
||||||
#};
|
|
||||||
betanin = {
|
betanin = {
|
||||||
image = "sentriz/betanin";
|
image = "sentriz/betanin";
|
||||||
environment = {
|
environment = {
|
||||||
UID = "1000";
|
UID = "1000";
|
||||||
GID = "1000";
|
GID = "1000";
|
||||||
};
|
};
|
||||||
ports = [
|
ports = ["9393:9393"];
|
||||||
"9393:9393"
|
|
||||||
];
|
|
||||||
volumes = [
|
volumes = [
|
||||||
"/media/config/betanin/data:/b/.local/share/betanin"
|
"/media/config/betanin/data:/b/.local/share/betanin"
|
||||||
"/media/config/betanin/config:/b/.config/betanin"
|
"/media/config/betanin/config:/b/.config/betanin"
|
||||||
"/media/config/betanin/beets:/b/.config/beets"
|
"/media/config/betanin/beets:/b/.config/beets"
|
||||||
"${config.sops.secrets.betanin.path}:/b/.config/beets/secrets.yaml"
|
"${config.sops.secrets.betanin.path}:/b/.config/beets/secrets.yaml"
|
||||||
"${builtins.toFile "config.yaml" ''
|
"${./beets.yaml}:/b/.config/beets/config.yaml"
|
||||||
include:
|
|
||||||
- secrets.yaml
|
|
||||||
|
|
||||||
library: library.db
|
|
||||||
directory: /music
|
|
||||||
statefile: state.pickle
|
|
||||||
|
|
||||||
threaded: yes
|
|
||||||
|
|
||||||
import:
|
|
||||||
write: yes
|
|
||||||
copy: yes
|
|
||||||
link: no
|
|
||||||
move: no
|
|
||||||
incremental: no
|
|
||||||
|
|
||||||
paths:
|
|
||||||
default: /$albumartist/$album %aunique{}/$track $title %aunique{}
|
|
||||||
singleton: /$albumartist/$artist %aunique{}/$track $title %aunique{}
|
|
||||||
comp: /Compilation/$album %aunique{}/$track $title %aunique{}
|
|
||||||
albumtype:soundtrack: Soundtracks/$album %aunique{}/$track $title %aunique{}
|
|
||||||
|
|
||||||
clutter: ["Thumbs.DB", ".DS_Store"]
|
|
||||||
|
|
||||||
|
|
||||||
plugins: [
|
|
||||||
embedart,
|
|
||||||
fetchart,
|
|
||||||
discogs,
|
|
||||||
advancedrewrite,
|
|
||||||
#lyrics,
|
|
||||||
spotify,
|
|
||||||
scrub,
|
|
||||||
duplicates,
|
|
||||||
unimported,
|
|
||||||
missing,
|
|
||||||
]
|
|
||||||
|
|
||||||
genres: yes
|
|
||||||
|
|
||||||
unimported:
|
|
||||||
ignore_extensions: jpg png
|
|
||||||
|
|
||||||
spotify:
|
|
||||||
source_weight: 0.7
|
|
||||||
|
|
||||||
embedart:
|
|
||||||
auto: yes
|
|
||||||
ifempty: no
|
|
||||||
remove_art_file: no
|
|
||||||
|
|
||||||
fetchart:
|
|
||||||
auto: yes
|
|
||||||
cautious: yes
|
|
||||||
minwidth: 500
|
|
||||||
maxwidth: 1200
|
|
||||||
cover_format: jpeg
|
|
||||||
sources:
|
|
||||||
- coverart: release
|
|
||||||
- coverart: releasegroup
|
|
||||||
- albumart
|
|
||||||
- amazon
|
|
||||||
- google
|
|
||||||
- itunes
|
|
||||||
- fanarttv
|
|
||||||
- lastfm
|
|
||||||
- wikipedia
|
|
||||||
|
|
||||||
#lyrics:
|
|
||||||
# fallback: '''
|
|
||||||
# sources: musixmatch google
|
|
||||||
|
|
||||||
replace:
|
|
||||||
'[\\]': '''
|
|
||||||
'[_]': '-'
|
|
||||||
'[/]': '-'
|
|
||||||
'^\.': '''
|
|
||||||
'[\x00-\x1f]': '''
|
|
||||||
'[<>:"\?\*\|]': '''
|
|
||||||
'\.$': '''
|
|
||||||
'\s+$': '''
|
|
||||||
'^\s+': '''
|
|
||||||
'^-': '''
|
|
||||||
'’': "'"
|
|
||||||
'′': "'"
|
|
||||||
'″': '''
|
|
||||||
'‐': '-'
|
|
||||||
|
|
||||||
aunique:
|
|
||||||
keys: albumartist albumtype year album
|
|
||||||
disambuguators: format mastering media label albumdisambig releasegroupdisambig
|
|
||||||
bracket: '[]'
|
|
||||||
''}:/b/.config/beets/config.yaml"
|
|
||||||
"/media/library/music:/music"
|
"/media/library/music:/music"
|
||||||
"/media/slskd/downloads:/downloads/slskd"
|
"/media/slskd/downloads:/downloads/slskd"
|
||||||
"/media/downloads/music:/downloads/torrent"
|
"/media/downloads/music:/downloads/torrent"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue