blob: af1de6b4e8b79ecdbe9deb4df7f62b428ed9ad9e [file] [log] [blame]
Skyler Grey2ca6ccd2023-10-14 22:56:43 +00001{ pkgs, helpers, config, lib, ... }: {
2 clicks.nginx.services = with helpers.nginx; [
Samuel Shuert307c19a2024-06-08 20:35:57 -04003 (Host "clicks.domains" (ReverseProxy "192.168.0.2:80"))
Skyler Grey3c24fc02024-04-19 23:39:39 +00004 (Host "guide.trans.gg" (Compose [
5 # PWA Manifest
6 (Path "/_assets/manifest.json"
7 (File ./nginx/guide.trans.gg/_assets/manifest.json))
8 # Browser Config
9 (Path "/_assets/favicons/browserconfig.xml"
10 (File ./nginx/guide.trans.gg/_assets/favicons/browserconfig.xml))
11
12 # Android Favicons
13 (Path "/_assets/favicons/android-chrome-192x192.png"
14 (File ./nginx/guide.trans.gg/_assets/favicons/android-chrome-192x192.png))
15 (Path "/_assets/favicons/android-chrome-256x256.png"
16 (File ./nginx/guide.trans.gg/_assets/favicons/android-chrome-256x256.png))
17
18 # Web Favicons
19 (Path "/_assets/favicons/favicon-16x16.png"
20 (File ./nginx/guide.trans.gg/_assets/favicons/favicon-16x16.png))
21 (Path "/_assets/favicons/favicon-32x32.png"
22 (File ./nginx/guide.trans.gg/_assets/favicons/favicon-32x32.png))
23 (Path "/_assets/favicons/mstile-150x150.png"
24 (File ./nginx/guide.trans.gg/_assets/favicons/mstile-150x150.png))
25
26 # iOS Favicons
27 (Path "/_assets/favicons/apple-touch-icon.png"
28 (File ./nginx/guide.trans.gg/_assets/favicons/apple-touch-icon.png))
29 (Path "/_assets/favicons/safari-pinned-tab.svg"
30 (File ./nginx/guide.trans.gg/_assets/favicons/safari-pinned-tab.svg))
31
32 (ReverseProxy "generic:1035")
33 ]))
Skyler Greyf7eb4ae2024-05-06 12:38:44 +000034 (SpecificHost "wiki.auxolotl.org" (ReverseProxy "10.0.101.2:1024")) # see aux.nix
35 (SpecificHost "docs.auxolotl.org" (Path ''~ ^/?([^\r\n]*)$'' (Redirect "https://wiki.auxolotl.org/$1")))
TheCodedProfaf044562023-10-22 20:04:27 -040036 (Host "signup.hopescaramels.com" (ReverseProxy "caramels:1024"))
TheCodedProf1381cee2023-10-22 20:04:27 -040037 (Host "freeflowtaekwondo.com" (ReverseProxy "generic:1026"))
Skyler Grey18861122023-10-25 21:05:54 +000038 (Host "homebridge.coded.codes" (ReverseProxy "CodedPi:8581"))
39 (Host "codedpc.coded.codes" (ReverseProxy "SamuelDesktop:3389"))
40 (Host "testing.coded.codes" (ReverseProxy "SamuelDesktop:3000"))
Skyler Grey22428b02023-11-19 13:20:56 +000041 (Host "clicks.codes" (Compose [
42 (Path "/.well-known/matrix/"
Skyler Grey0de8a082023-11-21 22:45:29 +000043 (CrossOrigin (File ./nginx/clicks.codes/.well-known/matrix)))
Skyler Grey22428b02023-11-19 13:20:56 +000044 (ReverseProxy "127.0.0.1:3000")
45 ]))
Samuel Shuert50bbc8f2024-04-27 16:32:32 -040046 (Host "resume.thecoded.prof" (Directory "/var/www/thecoded.prof/sites/resume/dist/"))
47 (Host "thecoded.prof" (Directory "/var/www/thecoded.prof/sites/main/dist/"))
Skyler Grey82e09422024-03-10 14:11:44 +000048 (Hosts [ "vaultwarden.clicks.codes" ] (ReverseProxy "generic:1028"))
49 (Hosts [ "passwords.clicks.codes" ] (RedirectPermanent "https://vaultwarden.clicks.codes"))
Skyler Grey0ad45622024-04-18 10:40:44 +000050 (Host "cloud.clicks.codes" (Path ''~ ^/?([^\r\n]*)$'' (RedirectPermanent "https://nextcloud.clicks.codes/$1")))
Skyler Greyfc048592024-03-10 13:46:17 +000051 (Hosts [
52 "erpnext.clicks.codes"
53 "projects.clicks.codes"
54 "tasks.clicks.codes"
55 "issues.clicks.codes"
56 "kanban.clicks.codes"
57 "taiga.clicks.codes"
58 ] (Redirect "https://frappe.clicks.codes/app"))
Skyler Grey8720ed12024-03-10 13:59:44 +000059 (Hosts [
60 "wiki.clicks.codes"
61 ] (Redirect "https://frappe.clicks.codes/wiki"))
Skyler Greyd550aab2023-10-22 22:57:50 +000062 (Host "login.clicks.codes" (ReverseProxy "127.0.0.1:9083"))
Skyler Grey2ca6ccd2023-10-14 22:56:43 +000063 (Hosts [ "gerrit.clicks.codes" "git.clicks.codes" ]
Skyler Grey22428b02023-11-19 13:20:56 +000064 (ReverseProxy "generic:1024"))
Skyler Grey2ca6ccd2023-10-14 22:56:43 +000065 (Hosts [ "grafana.clicks.codes" "logs.clicks.codes" ]
Skyler Greyd550aab2023-10-22 22:57:50 +000066 (ReverseProxy "127.0.0.1:9052"))
Skyler Grey2ca6ccd2023-10-14 22:56:43 +000067 (InsecureHosts [
68 "mail.clicks.codes"
69 "mail.coded.codes"
70 "mail.hopescaramels.com"
71 "autoconfig.coded.codes"
72 "autoconfig.clicks.codes"
73 "autoconfig.hopescaramels.com"
74 "imap.coded.codes"
75 "imap.clicks.codes"
76 "imap.hopescaramels.com"
77 "pop.coded.codes"
78 "pop.clicks.codes"
79 "pop.hopescaramels.com"
80 "smtp.coded.codes"
81 "smtp.clicks.codes"
82 "smtp.hopescaramels.com"
Skyler Grey22428b02023-11-19 13:20:56 +000083 ] (ReverseProxy "generic:1026"))
Skyler Grey58fbb972023-12-23 02:39:35 +000084 (Hosts [
85 "calibre.coded.codes"
86 "books.coded.codes"
87 "reading.coded.codes"
88 "calibre.thecoded.prof"
89 "books.thecoded.prof"
90 "reading.thecoded.prof"
91 ] (ReverseProxy "generic:1032"))
Skyler Grey22428b02023-11-19 13:20:56 +000092 (Hosts ["matrix.clicks.codes" "matrix.coded.codes"] (Directory "${builtins.toString
Skyler Grey1ea7dbd2023-12-23 00:08:32 +000093 (pkgs.element-web.override {
Skyler Greyfe1740c2023-10-21 01:24:18 +000094 conf = {
95 default_server_config =
Skyler Grey22428b02023-11-19 13:20:56 +000096 lib.pipe ./nginx/clicks.codes/.well-known/matrix [
Skyler Greyfe1740c2023-10-21 01:24:18 +000097 builtins.readFile
98 builtins.fromJSON
99 ];
100 features = {
101 feature_report_to_moderators = true;
102 feature_latex_maths = true;
103 feature_pinning = true;
104 feature_mjolnir = true;
105 feature_presence_in_room_list = true;
106 feature_custom_themes = true;
107 feature_dehydration = true;
108 };
Skyler Grey1ea7dbd2023-12-23 00:08:32 +0000109 setting_defaults = {
110 "fallbackICEServerAllowed" = true;
111 "UIFeature.passwordReset" = false;
112 "UIFeature.deactivate" = false;
113 };
114 show_labs_settings = true;
Skyler Greyfe1740c2023-10-21 01:24:18 +0000115 default_theme = "dark";
Skyler Greyfe1740c2023-10-21 01:24:18 +0000116 disable_guests = true;
117 disable_3pid_login = true;
Skyler Grey1ea7dbd2023-12-23 00:08:32 +0000118 logout_redirect_url = "https://login.clicks.codes/realms/master/protocol/openid-connect/logout?client_id=matrix";
119 sso_redirect_options.immediate = true;
Skyler Grey2ca6ccd2023-10-14 22:56:43 +0000120 };
Skyler Greyfe1740c2023-10-21 01:24:18 +0000121 })}"))
122 (Host "api.clicks.codes"
Skyler Greyd550aab2023-10-22 22:57:50 +0000123 (Path "/nucleus/" (ReverseProxy "127.0.0.1:10000")))
Skyler Greyfe1740c2023-10-21 01:24:18 +0000124 (Host "api.coded.codes"
Skyler Grey18861122023-10-25 21:05:54 +0000125 (Path "/nucleus/" (ReverseProxy "SamuelDesktop:10000")))
Skyler Grey2ca6ccd2023-10-14 22:56:43 +0000126 (Host "coded.codes" (Compose [
Skyler Greyfe1740c2023-10-21 01:24:18 +0000127 (Path "/.well-known/matrix/"
Skyler Grey0de8a082023-11-21 22:45:29 +0000128 (CrossOrigin (File ./nginx/clicks.codes/.well-known/matrix)))
Skyler Grey2ca6ccd2023-10-14 22:56:43 +0000129 (Redirect "https://clicks.codes$request_uri")
130 ]))
Skyler Grey75aa9492023-11-21 00:29:09 +0000131 (Hosts ["matrix-backend.clicks.codes" "matrix-backend.coded.codes"] (Compose [
Skyler Grey2ca6ccd2023-10-14 22:56:43 +0000132 (Path "/_synapse/admin/" (Status 403))
Skyler Grey7610ce42023-11-29 19:29:59 +0000133 (ReverseProxy "generic:1030")
Skyler Grey2ca6ccd2023-10-14 22:56:43 +0000134 ]))
Skyler Grey7610ce42023-11-29 19:29:59 +0000135 (Hosts ["matrix-sliding-sync.clicks.codes" "matrix-sliding-sync.coded.codes"]
136 (ReverseProxy "generic:1031"))
Skyler Grey2ca6ccd2023-10-14 22:56:43 +0000137 ];
138 clicks.nginx.serviceAliases = with helpers.nginx; [
139 (Aliases "nextcloud.clicks.codes" [
Skyler Greye15f5aa2023-10-25 17:13:43 +0000140 "www.nextcloud.clicks.codes"
Skyler Grey2ca6ccd2023-10-14 22:56:43 +0000141 ])
142 (Aliases "privatebin" [
143 "paste.clicks.codes"
144 "paste.coded.codes"
145 "paste.thecoded.prof"
146 "paste.hopescaramels.com"
Skyler Greye15f5aa2023-10-25 17:13:43 +0000147 "www.paste.clicks.codes"
148 "www.paste.coded.codes"
149 "www.paste.thecoded.prof"
150 "www.paste.hopescaramels.com"
151 "www.privatebin.clicks.codes"
Skyler Grey2ca6ccd2023-10-14 22:56:43 +0000152 ])
153 ];
Skyler Grey2ca6ccd2023-10-14 22:56:43 +0000154}