1{
2 config,
3 lib,
4 ...
5}: {
6 options.mySnippets.tailnet = {
7 name = lib.mkOption {
8 default = "miku-chimaera.ts.net";
9 description = "Tailnet name.";
10 type = lib.types.str;
11 };
12
13 networkMap = lib.mkOption {
14 type = lib.types.attrs;
15 description = "Hostnames, ports, and vHosts for ${config.mySnippets.tailnet.name} services.";
16
17 default = {
18 audiobookshelf = {
19 hostName = "nanpi";
20 port = 13378;
21 vHost = "audiobookshelf.${config.mySnippets.tailnet.name}";
22 };
23
24 copyparty = {
25 hostName = "nanpi";
26 port = 3210;
27 vHost = "copyparty.${config.mySnippets.tailnet.name}";
28 };
29
30 couchdb = {
31 hostName = "nanpi";
32 port = 5984;
33 vHost = "couchdb.${config.mySnippets.tailnet.name}";
34 };
35
36 glance = {
37 hostName = "nanpi";
38 port = 9090;
39 vHost = "glance.${config.mySnippets.tailnet.name}";
40 };
41
42 immich = {
43 hostName = "nanpi";
44 port = 2283;
45 vHost = "immich.${config.mySnippets.tailnet.name}";
46 };
47 jellyfin = {
48 hostName = "nanpi";
49 port = 8096;
50 vHost = "jellyfin.${config.mySnippets.tailnet.name}";
51 };
52
53 jellyseerr = {
54 hostName = "nanpi";
55 port = 5055;
56 vHost = "jellyseerr.${config.mySnippets.tailnet.name}";
57 };
58
59 karakeep = {
60 hostName = "nanpi";
61 port = 7020;
62 vHost = "karakeep.${config.mySnippets.tailnet.name}";
63 };
64
65 miniflux = {
66 hostName = "nanpi";
67 port = 6540;
68 vHost = "miniflux.${config.mySnippets.tailnet.name}";
69 };
70
71 radicale = {
72 hostName = "nanpi";
73 port = 5232;
74 vHost = "radicale.${config.mySnippets.tailnet.name}";
75 };
76
77 redlib = {
78 hostName = "nanpi";
79 port = 6605;
80 vHost = "redlib.${config.mySnippets.tailnet.name}";
81 };
82
83 uptime-kuma = {
84 hostName = "jezebel";
85 port = 3008;
86 vHost = "uptime-kuma.${config.mySnippets.tailnet.name}";
87 };
88
89 vaultwarden = {
90 hostName = "nanpi";
91 port = 8222;
92 vHost = "vault.${config.mySnippets.tailnet.name}";
93 };
94
95 webdav = {
96 hostName = "nanpi";
97 port = 4918;
98 vHost = "webdav.${config.mySnippets.tailnet.name}";
99 };
100
101 qbittorrent = {
102 hostName = "nanpi";
103 port = 8080;
104 vHost = "qbittorrent.${config.mySnippets.tailnet.name}";
105 };
106
107 autobrr = {
108 hostName = "nanpi";
109 port = 7474;
110 vHost = "autobrr.${config.mySnippets.tailnet.name}";
111 };
112
113 bazarr = {
114 hostName = "nanpi";
115 port = 6767;
116 vHost = "bazarr.${config.mySnippets.tailnet.name}";
117 };
118
119 #lidarr = {
120 # hostName = "nanpi";
121 # port = 8686;
122 # vHost = "lidarr.${config.mySnippets.tailnet.name}";
123 #};
124
125 prowlarr = {
126 hostName = "nanpi";
127 port = 9696;
128 vHost = "prowlarr.${config.mySnippets.tailnet.name}";
129 };
130
131 radarr = {
132 hostName = "nanpi";
133 port = 7878;
134 vHost = "radarr.${config.mySnippets.tailnet.name}";
135 };
136
137 sonarr = {
138 hostName = "nanpi";
139 port = 8989;
140 vHost = "sonarr.${config.mySnippets.tailnet.name}";
141 };
142
143 #flaresolverr = {
144 # hostName = "nanpi";
145 # port = 8191;
146 # vHost = "flaresolverr.${config.mySnippets.tailnet.name}";
147 #};
148
149 nitter = {
150 hostName = "nanpi";
151 port = 6034;
152 vHost = "twotter.${config.mySnippets.tailnet.name}";
153 };
154 };
155 };
156 };
157}