blob: 022dd3bd13bb171f29963bb8b16d4209ba524b4c [file] [log] [blame]
Skyler Grey2ca6ccd2023-10-14 22:56:43 +00001{ pkgs, helpers, config, lib, ... }: {
2 clicks.nginx.services = with helpers.nginx; [
Skyler Grey3c24fc02024-04-19 23:39:39 +00003 (Host "guide.trans.gg" (Compose [
4 # PWA Manifest
5 (Path "/_assets/manifest.json"
6 (File ./nginx/guide.trans.gg/_assets/manifest.json))
7 # Browser Config
8 (Path "/_assets/favicons/browserconfig.xml"
9 (File ./nginx/guide.trans.gg/_assets/favicons/browserconfig.xml))
10
11 # Android Favicons
12 (Path "/_assets/favicons/android-chrome-192x192.png"
13 (File ./nginx/guide.trans.gg/_assets/favicons/android-chrome-192x192.png))
14 (Path "/_assets/favicons/android-chrome-256x256.png"
15 (File ./nginx/guide.trans.gg/_assets/favicons/android-chrome-256x256.png))
16
17 # Web Favicons
18 (Path "/_assets/favicons/favicon-16x16.png"
19 (File ./nginx/guide.trans.gg/_assets/favicons/favicon-16x16.png))
20 (Path "/_assets/favicons/favicon-32x32.png"
21 (File ./nginx/guide.trans.gg/_assets/favicons/favicon-32x32.png))
22 (Path "/_assets/favicons/mstile-150x150.png"
23 (File ./nginx/guide.trans.gg/_assets/favicons/mstile-150x150.png))
24
25 # iOS Favicons
26 (Path "/_assets/favicons/apple-touch-icon.png"
27 (File ./nginx/guide.trans.gg/_assets/favicons/apple-touch-icon.png))
28 (Path "/_assets/favicons/safari-pinned-tab.svg"
29 (File ./nginx/guide.trans.gg/_assets/favicons/safari-pinned-tab.svg))
30
31 (ReverseProxy "generic:1035")
32 ]))
TheCodedProfaf044562023-10-22 20:04:27 -040033 (Host "signup.hopescaramels.com" (ReverseProxy "caramels:1024"))
TheCodedProf1381cee2023-10-22 20:04:27 -040034 (Host "freeflowtaekwondo.com" (ReverseProxy "generic:1026"))
Skyler Grey18861122023-10-25 21:05:54 +000035 (Host "homebridge.coded.codes" (ReverseProxy "CodedPi:8581"))
36 (Host "codedpc.coded.codes" (ReverseProxy "SamuelDesktop:3389"))
37 (Host "testing.coded.codes" (ReverseProxy "SamuelDesktop:3000"))
Skyler Grey22428b02023-11-19 13:20:56 +000038 (Host "clicks.codes" (Compose [
39 (Path "/.well-known/matrix/"
Skyler Grey0de8a082023-11-21 22:45:29 +000040 (CrossOrigin (File ./nginx/clicks.codes/.well-known/matrix)))
Skyler Grey22428b02023-11-19 13:20:56 +000041 (ReverseProxy "127.0.0.1:3000")
42 ]))
Samuel Shuert975c8682024-02-07 17:59:54 -050043 (Hosts [ "resume.coded.codes" "resume.thecoded.prof" ] (ReverseProxy "coded:1024"))
Skyler Grey82e09422024-03-10 14:11:44 +000044 (Hosts [ "vaultwarden.clicks.codes" ] (ReverseProxy "generic:1028"))
45 (Hosts [ "passwords.clicks.codes" ] (RedirectPermanent "https://vaultwarden.clicks.codes"))
Skyler Grey0ad45622024-04-18 10:40:44 +000046 (Host "cloud.clicks.codes" (Path ''~ ^/?([^\r\n]*)$'' (RedirectPermanent "https://nextcloud.clicks.codes/$1")))
Skyler Greyfc048592024-03-10 13:46:17 +000047 (Hosts [
48 "erpnext.clicks.codes"
49 "projects.clicks.codes"
50 "tasks.clicks.codes"
51 "issues.clicks.codes"
52 "kanban.clicks.codes"
53 "taiga.clicks.codes"
54 ] (Redirect "https://frappe.clicks.codes/app"))
Skyler Grey8720ed12024-03-10 13:59:44 +000055 (Hosts [
56 "wiki.clicks.codes"
57 ] (Redirect "https://frappe.clicks.codes/wiki"))
Skyler Greyd550aab2023-10-22 22:57:50 +000058 (Host "login.clicks.codes" (ReverseProxy "127.0.0.1:9083"))
Skyler Grey2ca6ccd2023-10-14 22:56:43 +000059 (Hosts [ "gerrit.clicks.codes" "git.clicks.codes" ]
Skyler Grey22428b02023-11-19 13:20:56 +000060 (ReverseProxy "generic:1024"))
Skyler Grey2ca6ccd2023-10-14 22:56:43 +000061 (Hosts [ "grafana.clicks.codes" "logs.clicks.codes" ]
Skyler Greyd550aab2023-10-22 22:57:50 +000062 (ReverseProxy "127.0.0.1:9052"))
Skyler Grey2ca6ccd2023-10-14 22:56:43 +000063 (InsecureHosts [
64 "mail.clicks.codes"
65 "mail.coded.codes"
66 "mail.hopescaramels.com"
67 "autoconfig.coded.codes"
68 "autoconfig.clicks.codes"
69 "autoconfig.hopescaramels.com"
70 "imap.coded.codes"
71 "imap.clicks.codes"
72 "imap.hopescaramels.com"
73 "pop.coded.codes"
74 "pop.clicks.codes"
75 "pop.hopescaramels.com"
76 "smtp.coded.codes"
77 "smtp.clicks.codes"
78 "smtp.hopescaramels.com"
Skyler Grey22428b02023-11-19 13:20:56 +000079 ] (ReverseProxy "generic:1026"))
Skyler Grey58fbb972023-12-23 02:39:35 +000080 (Hosts [
81 "calibre.coded.codes"
82 "books.coded.codes"
83 "reading.coded.codes"
84 "calibre.thecoded.prof"
85 "books.thecoded.prof"
86 "reading.thecoded.prof"
87 ] (ReverseProxy "generic:1032"))
Skyler Grey22428b02023-11-19 13:20:56 +000088 (Hosts ["matrix.clicks.codes" "matrix.coded.codes"] (Directory "${builtins.toString
Skyler Grey1ea7dbd2023-12-23 00:08:32 +000089 (pkgs.element-web.override {
Skyler Greyfe1740c2023-10-21 01:24:18 +000090 conf = {
91 default_server_config =
Skyler Grey22428b02023-11-19 13:20:56 +000092 lib.pipe ./nginx/clicks.codes/.well-known/matrix [
Skyler Greyfe1740c2023-10-21 01:24:18 +000093 builtins.readFile
94 builtins.fromJSON
95 ];
96 features = {
97 feature_report_to_moderators = true;
98 feature_latex_maths = true;
99 feature_pinning = true;
100 feature_mjolnir = true;
101 feature_presence_in_room_list = true;
102 feature_custom_themes = true;
103 feature_dehydration = true;
104 };
Skyler Grey1ea7dbd2023-12-23 00:08:32 +0000105 setting_defaults = {
106 "fallbackICEServerAllowed" = true;
107 "UIFeature.passwordReset" = false;
108 "UIFeature.deactivate" = false;
109 };
110 show_labs_settings = true;
Skyler Greyfe1740c2023-10-21 01:24:18 +0000111 default_theme = "dark";
Skyler Greyfe1740c2023-10-21 01:24:18 +0000112 disable_guests = true;
113 disable_3pid_login = true;
Skyler Grey1ea7dbd2023-12-23 00:08:32 +0000114 logout_redirect_url = "https://login.clicks.codes/realms/master/protocol/openid-connect/logout?client_id=matrix";
115 sso_redirect_options.immediate = true;
Skyler Grey2ca6ccd2023-10-14 22:56:43 +0000116 };
Skyler Greyfe1740c2023-10-21 01:24:18 +0000117 })}"))
118 (Host "api.clicks.codes"
Skyler Greyd550aab2023-10-22 22:57:50 +0000119 (Path "/nucleus/" (ReverseProxy "127.0.0.1:10000")))
Skyler Greyfe1740c2023-10-21 01:24:18 +0000120 (Host "api.coded.codes"
Skyler Grey18861122023-10-25 21:05:54 +0000121 (Path "/nucleus/" (ReverseProxy "SamuelDesktop:10000")))
Skyler Grey2ca6ccd2023-10-14 22:56:43 +0000122 (Host "coded.codes" (Compose [
Skyler Greyfe1740c2023-10-21 01:24:18 +0000123 (Path "/.well-known/matrix/"
Skyler Grey0de8a082023-11-21 22:45:29 +0000124 (CrossOrigin (File ./nginx/clicks.codes/.well-known/matrix)))
Skyler Grey2ca6ccd2023-10-14 22:56:43 +0000125 (Redirect "https://clicks.codes$request_uri")
126 ]))
Skyler Grey75aa9492023-11-21 00:29:09 +0000127 (Hosts ["matrix-backend.clicks.codes" "matrix-backend.coded.codes"] (Compose [
Skyler Grey2ca6ccd2023-10-14 22:56:43 +0000128 (Path "/_synapse/admin/" (Status 403))
Skyler Grey7610ce42023-11-29 19:29:59 +0000129 (ReverseProxy "generic:1030")
Skyler Grey2ca6ccd2023-10-14 22:56:43 +0000130 ]))
Skyler Grey7610ce42023-11-29 19:29:59 +0000131 (Hosts ["matrix-sliding-sync.clicks.codes" "matrix-sliding-sync.coded.codes"]
132 (ReverseProxy "generic:1031"))
Skyler Grey2ca6ccd2023-10-14 22:56:43 +0000133 ];
134 clicks.nginx.serviceAliases = with helpers.nginx; [
135 (Aliases "nextcloud.clicks.codes" [
Skyler Greye15f5aa2023-10-25 17:13:43 +0000136 "www.nextcloud.clicks.codes"
Skyler Grey2ca6ccd2023-10-14 22:56:43 +0000137 ])
138 (Aliases "privatebin" [
139 "paste.clicks.codes"
140 "paste.coded.codes"
141 "paste.thecoded.prof"
142 "paste.hopescaramels.com"
Skyler Greye15f5aa2023-10-25 17:13:43 +0000143 "www.paste.clicks.codes"
144 "www.paste.coded.codes"
145 "www.paste.thecoded.prof"
146 "www.paste.hopescaramels.com"
147 "www.privatebin.clicks.codes"
Skyler Grey2ca6ccd2023-10-14 22:56:43 +0000148 ])
149 ];
Skyler Grey2ca6ccd2023-10-14 22:56:43 +0000150}