tangled
alpha
login
or
join now
aottr.dev
/
otterden
0
fork
atom
❄️ Nix configurations
0
fork
atom
overview
issues
pulls
pipelines
remove traefik conf
aottr.dev
7 months ago
7dd08ef0
806bd5f2
+94
-94
1 changed file
expand all
collapse all
unified
split
modules
nixos
server
plex.nix
+94
-94
modules/nixos/server/plex.nix
···
10
10
group = "media";
11
11
};
12
12
13
13
-
services.traefik.dynamicConfigOptions = {
14
14
-
http = {
15
15
-
routers = {
16
16
-
plex = {
17
17
-
entryPoints = [ "websecure" ];
18
18
-
rule = "Host(`plex.otter.place`)";
19
19
-
service = "plex";
20
20
-
tls = {
21
21
-
certResolver = "letsencrypt";
22
22
-
options = "plexTLS";
23
23
-
};
24
24
-
middlewares = [ "plex-headers" "plex-compress" "plex-buffering" ];
25
25
-
};
26
26
-
};
13
13
+
# services.traefik.dynamicConfigOptions = {
14
14
+
# http = {
15
15
+
# routers = {
16
16
+
# plex = {
17
17
+
# entryPoints = [ "websecure" ];
18
18
+
# rule = "Host(`plex.otter.place`)";
19
19
+
# service = "plex";
20
20
+
# tls = {
21
21
+
# certResolver = "letsencrypt";
22
22
+
# options = "plexTLS";
23
23
+
# };
24
24
+
# middlewares = [ "plex-headers" "plex-compress" "plex-buffering" ];
25
25
+
# };
26
26
+
# };
27
27
28
28
-
services = {
29
29
-
plex = {
30
30
-
loadBalancer = {
31
31
-
passHostHeader = true;
32
32
-
serversTransport = "plexTransport";
33
33
-
servers = [ { url = "http://127.0.0.1:32400"; } ];
34
34
-
};
35
35
-
};
36
36
-
};
28
28
+
# services = {
29
29
+
# plex = {
30
30
+
# loadBalancer = {
31
31
+
# passHostHeader = true;
32
32
+
# serversTransport = "plexTransport";
33
33
+
# servers = [ { url = "http://127.0.0.1:32400"; } ];
34
34
+
# };
35
35
+
# };
36
36
+
# };
37
37
38
38
-
middlewares = {
39
39
-
plex-headers = {
40
40
-
headers = {
41
41
-
customRequestHeaders = {
42
42
-
Upgrade = "websocket";
43
43
-
Connection = "Upgrade";
44
44
-
# If Plex needs original scheme forwarded:
45
45
-
X-Forwarded-Proto = "https";
46
46
-
};
47
47
-
};
48
48
-
};
38
38
+
# middlewares = {
39
39
+
# plex-headers = {
40
40
+
# headers = {
41
41
+
# customRequestHeaders = {
42
42
+
# Upgrade = "websocket";
43
43
+
# Connection = "Upgrade";
44
44
+
# # If Plex needs original scheme forwarded:
45
45
+
# X-Forwarded-Proto = "https";
46
46
+
# };
47
47
+
# };
48
48
+
# };
49
49
50
50
-
plex-compress = {
51
51
-
compress = {
52
52
-
includedContentTypes = [
53
53
-
"text/plain"
54
54
-
"text/css"
55
55
-
"text/xml"
56
56
-
"application/xml"
57
57
-
"application/json"
58
58
-
"application/javascript"
59
59
-
"image/svg+xml"
60
60
-
];
61
61
-
};
62
62
-
};
50
50
+
# plex-compress = {
51
51
+
# compress = {
52
52
+
# includedContentTypes = [
53
53
+
# "text/plain"
54
54
+
# "text/css"
55
55
+
# "text/xml"
56
56
+
# "application/xml"
57
57
+
# "application/json"
58
58
+
# "application/javascript"
59
59
+
# "image/svg+xml"
60
60
+
# ];
61
61
+
# };
62
62
+
# };
63
63
64
64
-
plex-buffering = {
65
65
-
buffering = {
66
66
-
maxRequestBodyBytes = 104857600; # 100M
67
67
-
};
68
68
-
};
69
69
-
};
64
64
+
# plex-buffering = {
65
65
+
# buffering = {
66
66
+
# maxRequestBodyBytes = 104857600; # 100M
67
67
+
# };
68
68
+
# };
69
69
+
# };
70
70
71
71
-
serversTransports = {
72
72
-
plexTransport = {
73
73
-
responseHeaderTimeout = "100m";
74
74
-
idleTimeout = "100m";
75
75
-
dialTimeout = "30s";
76
76
-
};
77
77
-
};
78
78
-
};
71
71
+
# serversTransports = {
72
72
+
# plexTransport = {
73
73
+
# responseHeaderTimeout = "100m";
74
74
+
# idleTimeout = "100m";
75
75
+
# dialTimeout = "30s";
76
76
+
# };
77
77
+
# };
78
78
+
# };
79
79
80
80
-
tls = {
81
81
-
options = {
82
82
-
plexTLS = {
83
83
-
minVersion = "VersionTLS12";
84
84
-
preferServerCipherSuites = true;
85
85
-
cipherSuites = [
86
86
-
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
87
87
-
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"
88
88
-
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
89
89
-
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"
90
90
-
"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256"
91
91
-
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"
92
92
-
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256"
93
93
-
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"
94
94
-
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA"
95
95
-
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384"
96
96
-
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384"
97
97
-
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA"
98
98
-
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA"
99
99
-
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256"
100
100
-
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA"
101
101
-
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256"
102
102
-
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA"
103
103
-
"TLS_RSA_WITH_AES_128_GCM_SHA256"
104
104
-
"TLS_RSA_WITH_AES_256_GCM_SHA384"
105
105
-
"TLS_RSA_WITH_AES_128_CBC_SHA256"
106
106
-
"TLS_RSA_WITH_AES_256_CBC_SHA"
107
107
-
"TLS_RSA_WITH_AES_128_CBC_SHA"
108
108
-
];
109
109
-
};
110
110
-
};
111
111
-
};
112
112
-
};
80
80
+
# tls = {
81
81
+
# options = {
82
82
+
# plexTLS = {
83
83
+
# minVersion = "VersionTLS12";
84
84
+
# preferServerCipherSuites = true;
85
85
+
# cipherSuites = [
86
86
+
# "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
87
87
+
# "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"
88
88
+
# "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
89
89
+
# "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"
90
90
+
# "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256"
91
91
+
# "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"
92
92
+
# "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256"
93
93
+
# "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"
94
94
+
# "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA"
95
95
+
# "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384"
96
96
+
# "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384"
97
97
+
# "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA"
98
98
+
# "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA"
99
99
+
# "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256"
100
100
+
# "TLS_DHE_RSA_WITH_AES_128_CBC_SHA"
101
101
+
# "TLS_DHE_RSA_WITH_AES_256_CBC_SHA256"
102
102
+
# "TLS_DHE_RSA_WITH_AES_256_CBC_SHA"
103
103
+
# "TLS_RSA_WITH_AES_128_GCM_SHA256"
104
104
+
# "TLS_RSA_WITH_AES_256_GCM_SHA384"
105
105
+
# "TLS_RSA_WITH_AES_128_CBC_SHA256"
106
106
+
# "TLS_RSA_WITH_AES_256_CBC_SHA"
107
107
+
# "TLS_RSA_WITH_AES_128_CBC_SHA"
108
108
+
# ];
109
109
+
# };
110
110
+
# };
111
111
+
# };
112
112
+
# };
113
113
}