Compare commits
496 Commits
0f9c1c85aa
...
renovate/n
Author | SHA1 | Date | |
---|---|---|---|
7144db7e73 | |||
e9c03a662e | |||
18aaba86be | |||
72a9cee7af | |||
314ade1457 | |||
01cc5d8c48 | |||
e5f0bd0595 | |||
3c7cedc529 | |||
e88fb50b14 | |||
6b30c6efed | |||
ebb91344bc | |||
02015525e3 | |||
c1f33578d7 | |||
0ec1fc9d41 | |||
1c2214a659 | |||
f156b7f582 | |||
ad568ddf5d | |||
df297d0c99 | |||
c8fb08b192 | |||
981bc13a1f | |||
8314cbcf2d | |||
f52b62ba83 | |||
0a5d42f6ac | |||
ce65116db4 | |||
6c81316364 | |||
b83fb6f3a8 | |||
c58f24103f | |||
e146d20f4f | |||
ffa4ab2b6c | |||
b889eee7ff | |||
28e8561020 | |||
de3768559f | |||
4be0b072b2 | |||
d086e922c4 | |||
96ab9be79a | |||
3357939071 | |||
f3737ce7a5 | |||
9626931b91 | |||
5ff0d11f5a | |||
5f4d3829e2 | |||
b3cd770724 | |||
c3a75b139a | |||
ba80b9623b | |||
e57e725639 | |||
f8b0f7c6cd | |||
0d39a905f6 | |||
7be8c37779 | |||
6bc2e09f43 | |||
da7f5f1c62 | |||
fe888d9fb6 | |||
a8eb2372cb | |||
e0c719eaba | |||
413d72182d | |||
d7929cc36a | |||
dd162bf77c | |||
5d7bdc17b1 | |||
ff287222f7 | |||
3abffec9cb | |||
f20d83a436 | |||
97fba47fd8 | |||
9fb5317bc8 | |||
7e1d172b43 | |||
da950e08f2 | |||
2b9a777506 | |||
90b0994524 | |||
53e0ce007d | |||
a421243973 | |||
b911072a47 | |||
59d5cdb2ae | |||
a9338393f5 | |||
6d0c6aa47f | |||
aaee96ad7b | |||
cd1f010698 | |||
1d9433ef02 | |||
9f4e3afffd | |||
4232add9c7 | |||
3b2a42a995 | |||
02083204f7 | |||
fc38aba6f4 | |||
781a3e8cdc | |||
20376070c3 | |||
42264ece64 | |||
2852e0c0ed | |||
0a87877373 | |||
b8f6829f71 | |||
44bc812ad8 | |||
d1d12b4193 | |||
d42c888e82 | |||
3c4406c4b7 | |||
2a681e6b32 | |||
90c57ad086 | |||
0731d20edc | |||
0d12e7c024 | |||
e403d1f241 | |||
b4bcf32a43 | |||
56b2f272b9 | |||
55b9f0e4ef | |||
1bc2b35ec0 | |||
ed4bcc93e1 | |||
de3dec22de | |||
4b5c2acad5 | |||
6e38f36945 | |||
584af8c5a4 | |||
0f68b2b69e | |||
33b931b5f1 | |||
62090b8054 | |||
f8e0326dec | |||
c09a50b8a2 | |||
55cbcb3d66 | |||
fd95f9414f | |||
05e10424ef | |||
d3ba6eedc4 | |||
6bbf628ab5 | |||
56ae9b717c | |||
08295d7b04 | |||
8090361615 | |||
299cf20cb9 | |||
ff9ff5b96b | |||
c3cf48e731 | |||
1befe6cc57 | |||
7b008d8e55 | |||
68e343083b | |||
989d66780d | |||
ca8fb41fab | |||
6a1b18581f | |||
a33c1b81b7 | |||
6495db7588 | |||
c3ab9851ab | |||
ef287d6c3c | |||
cf84ebe456 | |||
220cf31511 | |||
3f63225f16 | |||
50bc341c38 | |||
7b87188e98 | |||
75f79e34b7 | |||
2fc8b265d2 | |||
f090c0dcbb | |||
9c20aff89d | |||
36ab7eb4cf | |||
f3dee6a7d2 | |||
fa2ba83c7a | |||
074d4de123 | |||
854f88c43a | |||
15e6cb85c4 | |||
696da236d5 | |||
f89207f306 | |||
be25896c5e | |||
fbf5603866 | |||
d62b6524f7 | |||
de47905e28 | |||
9a621eea82 | |||
42e0c3a7b2 | |||
0b92cec911 | |||
5933074569 | |||
af8c87f5af | |||
173703664d | |||
077bb6d73b | |||
78e3ec43d7 | |||
b7349f0226 | |||
ad826d7a3f | |||
6baeab930d | |||
87b2c7c48a | |||
b9587feb9e | |||
fad22274fd | |||
577fcb0e0d | |||
c3d4d1fe1f | |||
a15893ea56 | |||
d0bcd29796 | |||
81640c3c4e | |||
06a13bedc8 | |||
bded9969fe | |||
cd2f8c0925 | |||
d1a9654e33 | |||
336518ff70 | |||
a68e53734d | |||
9d2a26fa07 | |||
a0dd1b4601 | |||
fcb84f820b | |||
d806907604 | |||
511f56af91 | |||
57a9780fe8 | |||
4d8debe333 | |||
899c3e11e6 | |||
8f617aca82 | |||
9b549f8dc6 | |||
1e8c38eb26 | |||
2df95d140a | |||
337331538a | |||
d3ce922f00 | |||
982202f813 | |||
a1148d0f59 | |||
0d182d3ff4 | |||
7465f854e0 | |||
670f2047a0 | |||
d2be3d833b | |||
16c34adc19 | |||
caf5f01a09 | |||
e0aeec5d5a | |||
79bdb801ff | |||
cec3541345 | |||
ac6aaee208 | |||
a773488e9b | |||
1f4be74c54 | |||
31f57cbe6b | |||
de05aceb9f | |||
4eb96da1f1 | |||
0931e52df5 | |||
37b491a0b5 | |||
a8c40f50d6 | |||
e1f5a13f57 | |||
c5bfdc8b9c | |||
c40b8b5d8e | |||
7421c47959 | |||
238ec6e254 | |||
a6576e9730 | |||
60ac8d17c5 | |||
8713ee3e02 | |||
3a734075e0 | |||
6c8ef89bb5 | |||
0317eae926 | |||
a636e7aa08 | |||
9fb276ec4e | |||
4a966344f2 | |||
dd8befa9e0 | |||
1350cdc0b1 | |||
c43f27a6ac | |||
a086bebc40 | |||
373a6355a6 | |||
0614b52745 | |||
c72230a98d | |||
73b7d17597 | |||
ba0a406eb4 | |||
ccf229ade4 | |||
d08f81b25d | |||
e37f0d5548 | |||
0231c6ccfe | |||
b3c124631a | |||
118dc9d9f1 | |||
7f5587546c | |||
64f918c325 | |||
82b0a0ee71 | |||
b8553c3138 | |||
f83492ffdc | |||
b5cfbf384a | |||
c64f046df3 | |||
42d133bbbb | |||
ae4e6912e5 | |||
5263509bac | |||
24a15f97d1 | |||
2367a03516 | |||
b5ae8a8ae0 | |||
8ab81b1b27 | |||
2e2c03241e | |||
1e8a9b9a59 | |||
cb7143ed3d | |||
1eed0e1e99 | |||
6d6e59ed13 | |||
3dcf03ce53 | |||
045f605cc6 | |||
ff9408fb8c | |||
7f42a27d8f | |||
ed21d3d780 | |||
7bacc30f33 | |||
74385252a4 | |||
6ee4c5b754 | |||
78c88acddf | |||
ee1c33bcc9 | |||
013d866391 | |||
9355f53ee5 | |||
a5e00e4850 | |||
3b691dae3c | |||
5998eac6f7 | |||
22abdab10b | |||
da7345b929 | |||
eb1d2899b9 | |||
a8af4a9d45 | |||
2af45b1508 | |||
f2ef170f01 | |||
970ab22e2f | |||
d56a85c342 | |||
f303794f5c | |||
6f88ab8f30 | |||
ef634194b8 | |||
005e05d8fb | |||
b803362360 | |||
80c1c95014 | |||
9d38e095fe | |||
5b3218c205 | |||
8133d18ca2 | |||
383f41f9ca | |||
5871b82f75 | |||
52e3ac9cec | |||
055e0869b8 | |||
04e0898b3c | |||
a6b99219e1 | |||
eb06801026 | |||
ac4298c765 | |||
a15f8f46f9 | |||
cdf9942924 | |||
67c1775edb | |||
4d27fe9bae | |||
aa4ef05b55 | |||
0f282fd003 | |||
c4b5bace5d | |||
0e3b2252a5 | |||
684ac4660e | |||
4cc5893757 | |||
ee212150fd | |||
2a61ed26a6 | |||
bc64e6ef3f | |||
0b8e693f80 | |||
17193fe18a | |||
97d7ab2d0a | |||
81fe9c3bb6 | |||
8c3ca26c9c | |||
ae2f30a97a | |||
b7783f5a4d | |||
783da27b1e | |||
1998049509 | |||
ba8579d60c | |||
6d1c911c9f | |||
e2d9a23974 | |||
b86fb3a609 | |||
cb9bc2143c | |||
5cc3cca2d7 | |||
3f2dd7ea90 | |||
5e3ab8435b | |||
1917a55725 | |||
20a0208e92 | |||
988d8cb17e | |||
c73f5c6373 | |||
98e8273c07 | |||
f26b997fbb | |||
e67fcf328e | |||
eb89987614 | |||
27c88cdb75 | |||
0ac70f4781 | |||
fd03e3d6c2 | |||
f8b97e3471 | |||
97a91d7249 | |||
7327b8d169 | |||
1d6647b74e | |||
8f62c6c694 | |||
afdbe0a3dc | |||
2ab3d6b023 | |||
6947c30c23 | |||
786bc69cf3 | |||
6ae69c2fec | |||
6cd141544c | |||
306269f1f9 | |||
9f6a58e325 | |||
d99feecc8f | |||
ad87365a66 | |||
d7a3b734ec | |||
ccedfa2645 | |||
a0681d7b1c | |||
d16cf9e4af | |||
29f9b305e7 | |||
dad8afe282 | |||
570f5e1eab | |||
b059ee3537 | |||
0e4feb4181 | |||
544e850540 | |||
4894e0597c | |||
e4f0376af3 | |||
e35c1c77d3 | |||
f649fb9c7f | |||
26e34c32f1 | |||
e89ff73b76 | |||
6b2f9fa308 | |||
130016957d | |||
19ab2a2e3d | |||
526167d4f1 | |||
f75897007c | |||
fc287be481 | |||
0f1c101acc | |||
bca3732f1c | |||
d5cc35da05 | |||
82116a7405 | |||
ee45e41d6d | |||
886ed4b20c | |||
ec40f1b564 | |||
6443bac879 | |||
6440001839 | |||
a69cf8a033 | |||
0293e50cee | |||
963f62d6a6 | |||
392f7c0db8 | |||
![]() |
179dee0702 | ||
2ebc04243c | |||
ee77a8f626 | |||
be28191005 | |||
5be22493fa | |||
598b6881e8 | |||
1faf896c08 | |||
d0e4e1553b | |||
![]() |
10c41d820e | ||
7eac8569f3 | |||
d5d5b2a36d | |||
25ffd37d0b | |||
4f0a42472c | |||
d58a6e0863 | |||
543429852b | |||
ee042fe91e | |||
6b8244fa48 | |||
094e030f11 | |||
580665b2f6 | |||
b2368dd1d3 | |||
a72b098dea | |||
c9e102d3d6 | |||
946b3c52dc | |||
104a08b0d9 | |||
cd09148acb | |||
8ec865d985 | |||
3b7b3b7e50 | |||
516402863c | |||
3d2904c6f0 | |||
046007af21 | |||
acd5dcd522 | |||
6ac3f485f3 | |||
045e811dbb | |||
e6600a8b48 | |||
b6831b4a50 | |||
e87d73bbdf | |||
935d4d5589 | |||
e0fca1168a | |||
30bdb07510 | |||
debe0f13a2 | |||
a83c05aa01 | |||
31aad41015 | |||
0d1cbf4c42 | |||
3adb895a87 | |||
aa0a0c4c16 | |||
f7e5ab8937 | |||
04ce91b459 | |||
fd8e832581 | |||
fa2091069a | |||
dddd5c3aab | |||
0fc54e699f | |||
a46afff48a | |||
e202d72331 | |||
296179a10b | |||
e5bfa8afa0 | |||
338f955c78 | |||
0203c9aa20 | |||
0480481f00 | |||
4d2f291e8f | |||
77819e873d | |||
522c09c32c | |||
5865d55392 | |||
1164b4358b | |||
c04e47b10e | |||
0ad7f1662e | |||
e105a76bf2 | |||
cd7cc29afd | |||
779177d39b | |||
498492bb91 | |||
c1fe5f2884 | |||
88e0e95e9f | |||
60ceb4f4ab | |||
899909a316 | |||
400a230ded | |||
97d917ae27 | |||
04156ae37e | |||
8952ec63d7 | |||
e4d00c890a | |||
78584c0ce8 | |||
8938bd2924 | |||
287912bd81 | |||
7e6c706369 | |||
8850516693 | |||
c09f27b16f | |||
beeed6ed7c | |||
8671f4e036 | |||
9d83a95912 | |||
58f1c651b4 | |||
98c25afd9f | |||
a53f15a491 | |||
81092225cf | |||
5d439c3ad6 | |||
aff4ef4209 | |||
4a2c6a83e6 | |||
98c52e5525 | |||
00462d9ed6 | |||
4d35ee4050 | |||
53607c791e | |||
1493295654 | |||
29a05e72a2 | |||
7e4978a9e0 | |||
a6a92b64e9 | |||
7545ee2066 | |||
1f7652863b | |||
dc76cf61d9 | |||
f8a6bccf14 | |||
b1656b2858 | |||
498e0cd9d6 |
@ -1,3 +1,2 @@
|
||||
node_modules
|
||||
.next
|
||||
.turbo
|
||||
dist
|
39
.gitea/kubernetes/backend/deployment.yaml
Normal file
@ -0,0 +1,39 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: scoresaber-reloaded-backend
|
||||
namespace: public-services
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: scoresaber-reloaded-backend
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: scoresaber-reloaded-backend
|
||||
spec:
|
||||
containers:
|
||||
- name: scoresaber-reloaded-backend-container
|
||||
image: git.fascinated.cc/fascinated/scoresaber-reloaded-backend:latest
|
||||
imagePullPolicy: Always
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
resources:
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 128Mi
|
||||
limits:
|
||||
cpu: 1000m # 1 vCPU
|
||||
memory: 512Mi
|
||||
env:
|
||||
- name: MONGO_URI
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ssr-backend-secret
|
||||
key: MONGO_URI
|
||||
- name: DISCORD_BOT_TOKEN
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ssr-backend-secret
|
||||
key: DISCORD_BOT_TOKEN
|
50
.gitea/kubernetes/backend/ingress.yaml
Normal file
@ -0,0 +1,50 @@
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: scoresaber-reloaded-backend-ingress
|
||||
namespace: public-services
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: traefik-external
|
||||
spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`ssr.fascinated.cc`) && PathPrefix(`/api`)
|
||||
kind: Rule
|
||||
middlewares:
|
||||
- name: default-headers
|
||||
namespace: traefik
|
||||
- name: compress
|
||||
namespace: traefik
|
||||
- name: scoresaber-reloaded-backend-strip-api-prefix
|
||||
namespace: public-services
|
||||
services:
|
||||
- name: scoresaber-reloaded-backend-service
|
||||
port: 8080
|
||||
tls:
|
||||
secretName: fascinated-cc
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: scoresaber-reloaded-backend-swagger-ingress
|
||||
namespace: public-services
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: traefik-external
|
||||
spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`ssr.fascinated.cc`) && PathPrefix(`/swagger`)
|
||||
kind: Rule
|
||||
middlewares:
|
||||
- name: default-headers
|
||||
namespace: traefik
|
||||
- name: compress
|
||||
namespace: traefik
|
||||
services:
|
||||
- name: scoresaber-reloaded-backend-service
|
||||
port: 8080
|
||||
tls:
|
||||
secretName: fascinated-cc
|
17
.gitea/kubernetes/backend/sealed-secret.yaml
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
apiVersion: bitnami.com/v1alpha1
|
||||
kind: SealedSecret
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: ssr-backend-secret
|
||||
namespace: public-services
|
||||
spec:
|
||||
encryptedData:
|
||||
DISCORD_BOT_TOKEN: AgCkl523hUe1qei/mybm16Eht0UVEJtPXbcnZYJ6aeLYkB2Mihk8OK+rYGnxN/1MhjYh4VNW36KPZ8/9M/chfsIirECw8OLNhhxzXxbyUpNCmy9JZA4EB5H6UDzC0STOOZekncGtGBg2cU0sZeHaYUlERbFSaDADuLx5aP2RxgHX5xucUfmTtMVbCDg2pCsVT+wliS3gD4FBTVYr1ZxePNCDpPsjzTCd6v+AzlZidIuNwZUDVcXIuCpA+o3jpbzuriMJDyGHA9H7182nZycQ0Q8KQLB1JYgZ2em3Sec5VM4Gkxd6d38c41ldgAIdPjd8rurpxpAdptDgMupmXx8Rm66BdFr0A4ifBpvmLePYOe6cOrjhfGhcEjkzLhBqEWZ7cH4oOKXRX5f0FLWCcKI5G7/vCbRfpr6jx4KuFQt2Mq+BplApVjz/lhqXigd+JDiXx383fYEMaZq8FB2mozfatw1/OpZrhMlunFmQPd/eOcBzJArwYY28qbWaTrKroA1Mc1yWGwlwIEpZAyoNN5x6XuLBKF5tkd+R0h1usDsxQoToHmfYN3qYktZRKsbPb1UpwBHeUPPzzIbgFUgAvGtPhqau4GH3VoCP6qNRt0ATiC8O0k9iXXPrPz9ajp5dzHPmjDz35AmBeoxsrpWZeWbYslc/iIEzqKWBmmXa/NAerJ0fVmMsC9bb+6CTVg7ZOTk0JC9moT5BP3F6U9ZYMkT8x99whvoLdautqnVpnYz/N0SwMVkJzQQKtFNxZH8eTuow8Eqyni2Im1/owMRX00SDtqTt1+8M12GDsnk=
|
||||
MONGO_URI: AgCDR9Dasy7vtqThemJxCcXEAW+tNXpsSyBQeeF/tpE6Q6L1itl+8f4EEz+WUQ5cZf5HswD105hNZDhEaoqJeDFllmsYyEL7cZMgrsK1UyhY8m6H4+vdAkX4pBiGf0ig5RMkISopEHCyvmdDkO7vvfjsh2fyjBv0BD9KvqMfzg/m3dEbm48JXbBKogdN9H8yj3L4Xi/xaLwgGx8jnG8A0VoR3VmxJfSJKFOhovb5prS0ZByGAT0hrdGb0TgERfFLlsgjrKAiBx1xHgA+L0RPrkJCHXYT7z1ll/LYKfedLqIc76PTYZpMywq8XDIQUu0JnyZb1OzrjhK3zolzb+HIK65Rp4/PoM8yGyUwEbyJ/e6LBjsIjqtVoylYWy3css3xYmABaWD9FVl/qwXekOPJqc1dcOdEItlg34j+H01HXR1p0/SHZOYRTKM1mWNmlvP5nBd6gGue91LUIumonAP/dCUP4KBwaUkvJx+NW5w0L2DXG7ZHn18MUUx/zKgjFGl1GigyD5v/r2gfXXYjTTcdtR0oNHTjB3nBtU0142irJQCuqWuB3NWs8NTPfNp7/kTlHP8eD9NJfiSKCgU+Ld7sg+MBjnB5mVU3dX4WAdebfGZHaa4RIwyJbcvgu88sdSP+bzukcWi5cFppwuVX/4s9Aml+GtvuojmLbzuPAOIGKz5MS8TpB1v3Hiy5VFFO1OiWn53sT093kOp4OxULLWYtlTey9f2LzTbWz+X9oUOdedaVlQW445+eGmyKj9FDWrKk+7+wPhgYNY5EonN6p3OKkWopN3tv/TK3qcvT93uYBbr/sP9VT7GHnkdH2us=
|
||||
template:
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: ssr-backend-secret
|
||||
namespace: public-services
|
||||
type: Opaque
|
13
.gitea/kubernetes/backend/service.yaml
Normal file
@ -0,0 +1,13 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: scoresaber-reloaded-backend-service
|
||||
namespace: public-services
|
||||
spec:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
- port: 8080
|
||||
targetPort: 8080
|
||||
selector:
|
||||
app: scoresaber-reloaded-backend
|
10
.gitea/kubernetes/backend/strip-api-prefix-middleware.yaml
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: scoresaber-reloaded-backend-strip-api-prefix
|
||||
namespace: public-services
|
||||
spec:
|
||||
stripPrefix:
|
||||
prefixes:
|
||||
- "/api"
|
@ -1,54 +0,0 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: scoresaber-reloaded-frontend
|
||||
namespace: public-services
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: scoresaber-reloaded-frontend
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: scoresaber-reloaded-frontend
|
||||
spec:
|
||||
containers:
|
||||
- name: scoresaber-reloaded-frontend-container
|
||||
image: git.fascinated.cc/fascinated/scoresaber-reloaded-frontend:latest
|
||||
imagePullPolicy: Always
|
||||
ports:
|
||||
- containerPort: 3000
|
||||
resources:
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 128Mi
|
||||
limits:
|
||||
cpu: 1000m # 1 vCPU
|
||||
memory: 256Mi
|
||||
env:
|
||||
- name: MONGO_URI
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ssr-secret
|
||||
key: MONGO_URI
|
||||
- name: NEXT_PUBLIC_SITE_URL
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ssr-secret
|
||||
key: NEXT_PUBLIC_SITE_URL
|
||||
- name: NEXT_PUBLIC_TRIGGER_PUBLIC_API_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ssr-secret
|
||||
key: NEXT_PUBLIC_TRIGGER_PUBLIC_API_KEY
|
||||
- name: TRIGGER_API_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ssr-secret
|
||||
key: TRIGGER_API_KEY
|
||||
- name: TRIGGER_API_URL
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: ssr-secret
|
||||
key: TRIGGER_API_URL
|
@ -1,20 +0,0 @@
|
||||
---
|
||||
apiVersion: bitnami.com/v1alpha1
|
||||
kind: SealedSecret
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: ssr-frontend-secret
|
||||
namespace: public-services
|
||||
spec:
|
||||
encryptedData:
|
||||
MONGO_URI: AgBDDZhuphvpFZJZq31CA8OmiTr1J8p5Fy/rcr/zvm2nl64GnpbmVCuYgUiH6PwZPCUa9zcyUeZJO9/Xqe9PbJ8hA82j0Pb+Pcl1Rk3+B6jkDaEzcJKDmXS/zx8Q+JPWFOGVpRNy0HCKxm8azy88A9iyiKseIFsMWWrkJMkEObokRBCB4joD9Mh+aOsE2vaUkoE49ASxwVXU9MnL/34eksqGD6D5/BGpVZGftvY/x5eOuhULtK7z3tcd/orc//21AXUSAlVgWcekstEfZWQovk7Rwl67pgpHYf+KuegY4i+0ybge1qEngjvwt76yObTqfmhrdVQNfrV21FpTfoBeZS6ZoHdli6DBanPZgXJdKU2Ttr3C5EJ8c0Gir20J3wRs11SQ1gaKu6bxL4EH4kAtgdVoD5t6MSqvDzkfovAcJUHfXLA2HPhs1CEcu7Y6Kv/v+aGWSlo9jPVQg8JJ7IPF/+DDbF4JgEnwr34e7M5Z/CKVhwm7mK8Nr1yzgEhkucjZ6fcEVmt91fjx1usxDvtN+mllibc7HS2a/ObMDx3MtfHxXhTpt0wXyNyhXtnKNvKbICR5LGZfosF3viNfuRcEFTGvC2Ak9hlhVrznp0FRUiQJSNWsBQKZUKG5Yd5ckQwJUY8B/OLAjg0Keo26LIkciZ0jZD3JtK+bxU5LntdfSCwuO9+xHgaMgCxY+7plPQOgXL9BAOk9Zerc/6xQXJ7y4Q1PogrNaiPn6xCr368utFH2bA4zOAZCwrngnZtmT4pB6r6C/425JoZiQQw6qVQklpC7UhWpV1SbMvdGrlYgBW9TkT5rJPNIE3Bp3kA=
|
||||
NEXT_PUBLIC_SITE_URL: AgCpMUZ2MFY8mHgQ3fizTzcBImnwFmWzccRCtMAThI0cAIOcDe15Drk2a5a4UjcYgl1F+JrHB3b3IPbflr1E4dNAANKRgiGW+gyI2S7J/oDpb+ANCv/0RJIlfQh9Pcb/E4noKVOoUfe4dg5asq1kQjOob4uOn6MfQXoC5WfgK8u8q0T5tEPcuGxXt2Q1OnyAAWm/0Z7JSLfgQN2sKaAbRbWqKfwfsc4LgjxY98m/+BkXN7x6R7BJmXXMd0cb5ctdgM1ZpU+gYhhwyO0xsxYWURcJb9EsrNZR6OY4DbwXw2tpoagFxA20u5J2ZUhUeVRg2x2R5AdkL7OBIT73Xbh3WxIYVAqGDhs90aRrmlCdr61eBLCLtytC33LJ/6Odq2Pa9DLaKqRlqRX/IWk7+cgHOKfSd8/k5R1roA3A96ShFby9RdXGudGLA2G4dvLtrruLCYVRfxMJB2k3UYtGZB21o+3SAV0jx/83eoYzoBGHM6K8ySCpL1uDCo8ATL2iYJcacgYZGKaGxBumzEjAMBqTLBSUl0Jhx3mr59p6mrYKFtbewa9rJUOkNniYvdCeokLyVntxUMx60Jtrtg05G3vSFaP34Gp6Oq6J0jSzvYi/A3/iSe+cNB1fpNJvJVLRFmJ6f7qyMMoSujIoql5SfIhx/tyUHueiOFQ5KXKTeNhbu6byakY1ZHa2o03+Mooca2ATwUnlNNi73sKluFKhnRysANIiVoRZLDQniLwV
|
||||
NEXT_PUBLIC_TRIGGER_PUBLIC_API_KEY: AgCZwhhUNhSMwuR1pCP5qDY9fD99u78PFq89ej141pc/L/y/UCydLvftFKT62bXzIFhoq77dlU3yFx2FqbApdiDv3sDltZkIQh/afYwySPw3bXxoQoHcAix5qGhWrpDkPFDOi+sJkkPnnZC1OBncrqz8xAwfYAhwOscW9mjugRMJPynqSlnVHS1RdYm6z7eSJpZEMEHIT4tptPnzP+icRwbolgKL66JXFXvuS6SnTZ+ZOtub39L+wpWE9dQ83E5YqtWl3hci2G+rK9KBk89zuBM7Ho+MTpcdcaes64ApMqaUnFPelqJKSk6PK7mEX9DZhCUqNyCu897ktfHKulVZQ5Wy2+pVHXx9e1IBI7YqNph64CbX6N0V6ABfNlO2sS+zFG3dGuEGj/lI9hfSxqQauYOWXR7r8zM86WvNuxWuQFQbO4B1TDd8oofhZ+wwcUfJ0/pZIqyxcINB13opF107wa4MlfoCI6sgB4/adq/bbMP/JO10/GBiuJRhE63NhVJEZovJoRNV2+wBRNSVRfZpEQ9AXSACm1BtqOxhYhAmDnJt6ThF6VDWB2ZoDZfWul/kPUTUiOulGHmsRdn/bzTS8GjhY93G1/FpNmhNSOC8YbO3FDw8vXg2Vy6jpdKOhy08H9R/9UqbiHxnXPyBGyoizbnjP0sDx4jYYXtix03ZPFf6Dxz6iwwy5BbHpk9Ik+3l2iKI7IcxOOS9P8ljlsB0cCivpTax1iuDZ4hlJ7zm
|
||||
TRIGGER_API_KEY: AgARH8DdSu8INQ2OW6I4s2W+HZqHGZHn0i54l02Ui48Oph9koB6pfTvAkYspQ6LI2zh/R/uiAeOHorybTMZ9X0EEwk5GxTuXBUn4f5Ifpd2QkoHeDVWP6MA951PVanfPuXLklwKJm2O70oFKIVE61v52yZbk0L3wAOiYdRTj0igrSEDkmmc9iHorGdbDCI3CkZHpOMMl37zdIwCvbpHaCnSBpKEuQ0PmvRtAw9ydM3FhVpTxNVh3KhTgvGBBYwrGXOZuKOayLGvQ16pYmTSPoN6DNRFSLjmE/BOjwKnYfZU0C0qkpGPlNLSUteuLLvHtzlS8IOSboOspreQJMVaSRpg+Qp1/cV0XGEhmU/CWVTYqkNx5QtfgaxWllrKrQxNW0WMDJmnQI83scsAiweSFUffsfiX8BCMjHkD2nvlXCz6vzUcJ7Zn0bDPoHcv/uG7efZbsJXLie1PxQiGwFYpuyr0b7+A+RVgx0G/WNwKJIUjFC7acI7jY4dGE04zKe1STYhMhoc1gjKGhXe0BG73LAX/O5/x6W4iYUyc4n0HL7gLwlbpfR3zLkvuiiAtzFeKGRr+SF24mj95pfw+MPFoKEi9htLdPgHxTYomfQ+1I8R7Iya0sHtyW2fI/1e5XzJOMHub/tYh5y9h0UqE5n7ByapRMyj0mOrKXXPUoT4btQDz0U6aNRX+MrlwMsuXYjSfUCuXmy30RKQImmT+9vaukIq1CX7WJ2LQ8fHaYACnp
|
||||
TRIGGER_API_URL: AgAOwyGxQEScm5T3Hh1armqqcEcMEo0v5Mwf9JjEf3G+3svlDDPGHlyHdQolcC2YlkX7DhsenEp6rokh1grwyVoruyUc6OmRdRR70+PV5qMgSC3HY6lZ5f2gcGfA0uh9A5sm4qkOw4rliRddpJqKOqDz28zcrcu5RmusPxric+KF6Hcdy+ugqmq0KZl9VU2+D4z3QWkdokHk3WahdLneS4a3bHYC/NIpKyI5SveK6QAaQlU3NXrqKcof6VzDQG20bnCKGo+Y935LgzEIEmWKw2C9lwCV+/RUIjeaK2qzZpeMiZue9zgoq1dyNNjrar9B6zb+rSxcgnbqBolXUAVk1If3+egVNEaB9SjU22n+WoTA6HK1MOSwsaMtf1Tug/8nSQfFHdw1nZzBVtiVaFMtzmg0aKyrUpAYyz4XTn6xn9EhEKgcPSaWINf4zVcmceLOYenOP/y7S3cVx9KHBjUNGf/eDJVmXSiOzeguIJBfdEOla/lqv7Zx2/wvfHeEdurn5ENTkG2aQAekIvWiJ1HzPwrKKR6WcBpNTgjoDRMNxVoMcZ3QB9iJlp3AoLfJW72B2soTVeIikcNlT0Q0S91hiqvEcE+WuE5bDSttzhnb9nvEJXz6gC6AykCKH1VLIJJuiMI6R7V9z8fo7pFVXbQsM10VUph/9vxhib2XZ1c/25YMfj5vaI1+N7UiVDFlEfE2YJQMwd2vj+wTa3wHJz+2KXc/9rhBoaIpznN4LmKR6g==
|
||||
template:
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: ssr-frontend-secret
|
||||
namespace: public-services
|
||||
type: Opaque
|
28
.gitea/kubernetes/website/deployment.yaml
Normal file
@ -0,0 +1,28 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: scoresaber-reloaded-website
|
||||
namespace: public-services
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: scoresaber-reloaded-website
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: scoresaber-reloaded-website
|
||||
spec:
|
||||
containers:
|
||||
- name: scoresaber-reloaded-website-container
|
||||
image: git.fascinated.cc/fascinated/scoresaber-reloaded-website:latest
|
||||
imagePullPolicy: Always
|
||||
ports:
|
||||
- containerPort: 3000
|
||||
resources:
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 128Mi
|
||||
limits:
|
||||
cpu: 1000m # 1 vCPU
|
||||
memory: 1024Mi
|
@ -2,7 +2,7 @@
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: scoresaber-reloaded-frontend-ingress
|
||||
name: scoresaber-reloaded-website-ingress
|
||||
namespace: public-services
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: traefik-external
|
||||
@ -18,7 +18,7 @@ spec:
|
||||
- name: compress
|
||||
namespace: traefik
|
||||
services:
|
||||
- name: scoresaber-reloaded-frontend-service
|
||||
- name: scoresaber-reloaded-website-service
|
||||
port: 3000
|
||||
tls:
|
||||
secretName: fascinated-cc
|
@ -2,7 +2,7 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: scoresaber-reloaded-frontend-service
|
||||
name: scoresaber-reloaded-website-service
|
||||
namespace: public-services
|
||||
spec:
|
||||
type: ClusterIP
|
||||
@ -10,4 +10,4 @@ spec:
|
||||
- port: 3000
|
||||
targetPort: 3000
|
||||
selector:
|
||||
app: scoresaber-reloaded-frontend
|
||||
app: scoresaber-reloaded-website
|
98
.gitea/workflows/deploy-backend.yml
Normal file
@ -0,0 +1,98 @@
|
||||
name: Deploy Backend
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
paths:
|
||||
- projects/backend/**
|
||||
- projects/common/**
|
||||
- .gitea/workflows/deploy-backend.yml
|
||||
|
||||
jobs:
|
||||
docker:
|
||||
strategy:
|
||||
matrix:
|
||||
arch: ["ubuntu-latest"]
|
||||
runs-on: ${{ matrix.arch }}
|
||||
|
||||
# Steps to run
|
||||
steps:
|
||||
# Checkout the repo
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
# Deploy to Dokku
|
||||
- name: Push to dokku
|
||||
uses: dokku/github-action@master
|
||||
with:
|
||||
git_remote_url: "ssh://dokku@51.158.63.74:22/ssr-backend"
|
||||
ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
|
||||
#name: "Deploy Backend"
|
||||
#
|
||||
#on:
|
||||
# workflow_dispatch:
|
||||
# push:
|
||||
# branches:
|
||||
# - master
|
||||
# paths:
|
||||
# - projects/backend/**
|
||||
# - projects/common/**
|
||||
# - .gitea/kubernetes/backend/**
|
||||
# - .gitea/workflows/deploy-backend.yml
|
||||
#
|
||||
#jobs:
|
||||
# deploy:
|
||||
# runs-on: ubuntu-latest
|
||||
# steps:
|
||||
# - name: Checkout code
|
||||
# uses: actions/checkout@v4
|
||||
#
|
||||
# - name: Set up Docker Buildx
|
||||
# uses: docker/setup-buildx-action@v3
|
||||
#
|
||||
# - name: Login to Docker Hub
|
||||
# uses: docker/login-action@v3
|
||||
# with:
|
||||
# username: ${{ secrets.REGISTRY_USERNAME }}
|
||||
# password: ${{ secrets.REGISTRY_TOKEN }}
|
||||
# registry: git.fascinated.cc
|
||||
#
|
||||
# - name: Build Image
|
||||
# uses: docker/build-push-action@v6
|
||||
# with:
|
||||
# context: .
|
||||
# file: ./projects/backend/Dockerfile
|
||||
# push: true
|
||||
# tags: |
|
||||
# git.fascinated.cc/fascinated/scoresaber-reloaded-backend:${{ github.sha }}
|
||||
# git.fascinated.cc/fascinated/scoresaber-reloaded-backend:latest
|
||||
# build-args: |
|
||||
# GIT_REV=${{ gitea.sha }}
|
||||
#
|
||||
# - name: Install kubectl
|
||||
# uses: azure/setup-kubectl@v4
|
||||
# id: install
|
||||
#
|
||||
# - name: Setup Kubernetes Context
|
||||
# uses: azure/k8s-set-context@v4
|
||||
# with:
|
||||
# kubeconfig: ${{ secrets.KUBECONFIG }}
|
||||
#
|
||||
# - name: Deploy to Kubernetes
|
||||
# uses: Azure/k8s-deploy@v5
|
||||
# with:
|
||||
# action: deploy
|
||||
# namespace: public-services
|
||||
# manifests: |
|
||||
# .gitea/kubernetes/backend/sealed-secret.yaml
|
||||
# .gitea/kubernetes/backend/deployment.yaml
|
||||
# .gitea/kubernetes/backend/service.yaml
|
||||
# .gitea/kubernetes/backend/strip-api-prefix-middleware.yaml
|
||||
# .gitea/kubernetes/backend/ingress.yaml
|
||||
# images: |
|
||||
# git.fascinated.cc/fascinated/scoresaber-reloaded-backend:${{ github.sha }}
|
97
.gitea/workflows/deploy-website.yml
Normal file
@ -0,0 +1,97 @@
|
||||
name: Deploy Website
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
paths:
|
||||
- projects/website/**
|
||||
- projects/common/**
|
||||
- .gitea/workflows/deploy-website.yml
|
||||
|
||||
jobs:
|
||||
docker:
|
||||
strategy:
|
||||
matrix:
|
||||
arch: ["ubuntu-latest"]
|
||||
runs-on: ${{ matrix.arch }}
|
||||
|
||||
# Steps to run
|
||||
steps:
|
||||
# Checkout the repo
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
# Deploy to Dokku
|
||||
- name: Push to dokku
|
||||
uses: dokku/github-action@master
|
||||
with:
|
||||
git_remote_url: "ssh://dokku@51.158.63.74:22/ssr-website"
|
||||
ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
|
||||
#name: "Deploy Website"
|
||||
#
|
||||
#on:
|
||||
# workflow_dispatch:
|
||||
# push:
|
||||
# branches:
|
||||
# - master
|
||||
# paths:
|
||||
# - projects/website/**
|
||||
# - projects/common/**
|
||||
# - .gitea/kubernetes/website/**
|
||||
# - .gitea/workflows/deploy-website.yml
|
||||
#
|
||||
#jobs:
|
||||
# deploy:
|
||||
# runs-on: ubuntu-latest
|
||||
# steps:
|
||||
# - name: Checkout code
|
||||
# uses: actions/checkout@v4
|
||||
#
|
||||
# - name: Set up Docker Buildx
|
||||
# uses: docker/setup-buildx-action@v3
|
||||
#
|
||||
# - name: Login to Docker Hub
|
||||
# uses: docker/login-action@v3
|
||||
# with:
|
||||
# username: ${{ secrets.REGISTRY_USERNAME }}
|
||||
# password: ${{ secrets.REGISTRY_TOKEN }}
|
||||
# registry: git.fascinated.cc
|
||||
#
|
||||
# - name: Build Image
|
||||
# uses: docker/build-push-action@v6
|
||||
# with:
|
||||
# context: .
|
||||
# file: ./projects/website/Dockerfile
|
||||
# push: true
|
||||
# tags: |
|
||||
# git.fascinated.cc/fascinated/scoresaber-reloaded-website:${{ github.sha }}
|
||||
# git.fascinated.cc/fascinated/scoresaber-reloaded-website:latest
|
||||
# build-args: |
|
||||
# GIT_REV=${{ gitea.sha }}
|
||||
# SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||
#
|
||||
# - name: Install kubectl
|
||||
# uses: azure/setup-kubectl@v4
|
||||
# id: install
|
||||
#
|
||||
# - name: Setup Kubernetes Context
|
||||
# uses: azure/k8s-set-context@v4
|
||||
# with:
|
||||
# kubeconfig: ${{ secrets.KUBECONFIG }}
|
||||
#
|
||||
# - name: Deploy to Kubernetes
|
||||
# uses: Azure/k8s-deploy@v5
|
||||
# with:
|
||||
# action: deploy
|
||||
# namespace: public-services
|
||||
# manifests: |
|
||||
# .gitea/kubernetes/website/deployment.yaml
|
||||
# .gitea/kubernetes/website/service.yaml
|
||||
# .gitea/kubernetes/website/ingress.yaml
|
||||
# images: |
|
||||
# git.fascinated.cc/fascinated/scoresaber-reloaded-website:${{ github.sha }}
|
@ -1,58 +0,0 @@
|
||||
name: "Deploy Frontend"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.REGISTRY_USERNAME }}
|
||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||
registry: git.fascinated.cc
|
||||
|
||||
- name: Build Image
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: .
|
||||
file: ./apps/frontend/Dockerfile
|
||||
push: true
|
||||
tags: |
|
||||
git.fascinated.cc/fascinated/scoresaber-reloaded-frontend:${{ github.sha }}
|
||||
git.fascinated.cc/fascinated/scoresaber-reloaded-frontend:latest
|
||||
build-args: |
|
||||
GIT_REV=${{ gitea.sha }}
|
||||
SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||
|
||||
- name: Install kubectl
|
||||
uses: azure/setup-kubectl@v4
|
||||
id: install
|
||||
|
||||
- name: Setup Kubernetes Context
|
||||
uses: azure/k8s-set-context@v4
|
||||
with:
|
||||
kubeconfig: ${{ secrets.KUBECONFIG }}
|
||||
|
||||
- name: Deploy to Kubernetes
|
||||
uses: Azure/k8s-deploy@v5
|
||||
with:
|
||||
action: deploy
|
||||
namespace: public-services
|
||||
manifests: |
|
||||
.gitea/kubernetes/frontend/sealed-secrets.yaml
|
||||
.gitea/kubernetes/frontend/deployment.yaml
|
||||
.gitea/kubernetes/frontend/service.yaml
|
||||
.gitea/kubernetes/frontend/ingress.yaml
|
||||
images: |
|
||||
git.fascinated.cc/fascinated/scoresaber-reloaded-frontend:${{ github.sha }}
|
109
.gitignore
vendored
@ -1,38 +1,81 @@
|
||||
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
|
||||
|
||||
# dependencies
|
||||
node_modules
|
||||
/.pnp
|
||||
.pnp.js
|
||||
|
||||
# testing
|
||||
/coverage
|
||||
|
||||
# next.js
|
||||
.next/
|
||||
/out/
|
||||
|
||||
# production
|
||||
/build
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
*.pem
|
||||
|
||||
# debug
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# local env files
|
||||
.env*.local
|
||||
|
||||
# vercel
|
||||
.vercel
|
||||
|
||||
# typescript
|
||||
lerna-debug.log*
|
||||
.pnpm-debug.log*
|
||||
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
||||
pids
|
||||
*.pid
|
||||
*.seed
|
||||
*.pid.lock
|
||||
lib-cov
|
||||
coverage
|
||||
*.lcov
|
||||
.nyc_output
|
||||
.grunt
|
||||
bower_components
|
||||
.lock-wscript
|
||||
build/Release
|
||||
node_modules/
|
||||
jspm_packages/
|
||||
web_modules/
|
||||
*.tsbuildinfo
|
||||
.npm
|
||||
.eslintcache
|
||||
.stylelintcache
|
||||
.rpt2_cache/
|
||||
.rts2_cache_cjs/
|
||||
.rts2_cache_es/
|
||||
.rts2_cache_umd/
|
||||
.node_repl_history
|
||||
*.tgz
|
||||
.yarn-integrity
|
||||
.env
|
||||
.env.development.local
|
||||
.env.test.local
|
||||
.env.production.local
|
||||
.env.local
|
||||
.cache
|
||||
.parcel-cache
|
||||
.next
|
||||
out
|
||||
.nuxt
|
||||
dist
|
||||
.cache/
|
||||
.vuepress/dist
|
||||
.temp
|
||||
.docusaurus
|
||||
.serverless/
|
||||
.fusebox/
|
||||
.dynamodb/
|
||||
.tern-port
|
||||
.vscode-test
|
||||
.yarn/cache
|
||||
.yarn/unplugged
|
||||
.yarn/build-state.yml
|
||||
.yarn/install-state.gz
|
||||
.pnp.*
|
||||
.DS_*
|
||||
**/*.backup.*
|
||||
**/*.back.*
|
||||
node_modules
|
||||
*.sublime*
|
||||
psd
|
||||
thumb
|
||||
sketch
|
||||
/node_modules
|
||||
/.pnp
|
||||
.pnp.js
|
||||
/coverage
|
||||
/.next/
|
||||
/out/
|
||||
/build
|
||||
.DS_Store
|
||||
*.pem
|
||||
.env*.local
|
||||
.vercel
|
||||
next-env.d.ts
|
||||
.turbo
|
||||
|
||||
.idea
|
||||
.idea
|
||||
secret.yaml
|
||||
|
@ -1,7 +0,0 @@
|
||||
NEXT_PUBLIC_SITE_URL=http://localhost:3000
|
||||
NEXT_PUBLIC_TRIGGER_PUBLIC_API_KEY=
|
||||
|
||||
TRIGGER_API_KEY=
|
||||
TRIGGER_API_URL=https://trigger.example.com
|
||||
MONGO_URI=mongodb://127.0.0.1:27017
|
||||
SENTRY_AUTH_TOKEN=
|
@ -1,12 +0,0 @@
|
||||
{
|
||||
"semi": true,
|
||||
"tabWidth": 2,
|
||||
"useTabs": false,
|
||||
"singleQuote": false,
|
||||
"trailingComma": "es5",
|
||||
"printWidth": 120,
|
||||
"bracketSpacing": true,
|
||||
"arrowParens": "avoid",
|
||||
"jsxSingleQuote": false,
|
||||
"jsxBracketSameLine": false
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
FROM fascinated/docker-images:nodejs_20_with_pnpm AS base
|
||||
|
||||
FROM base AS installer
|
||||
WORKDIR /app
|
||||
COPY . .
|
||||
|
||||
RUN pnpm install
|
||||
|
||||
ENV NEXT_TELEMETRY_DISABLED 1
|
||||
|
||||
# Add the commit hash
|
||||
ARG GIT_REV
|
||||
ENV GIT_REV=${GIT_REV}
|
||||
|
||||
RUN pnpm i -g turbo@^2
|
||||
RUN turbo prune frontend --docker
|
||||
RUN turbo run build --filter=frontend
|
||||
|
||||
FROM base AS runner
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Add the commit hash
|
||||
ARG GIT_REV
|
||||
ENV GIT_REV=${GIT_REV}
|
||||
|
||||
EXPOSE 3000
|
||||
|
||||
# Don't run production as root
|
||||
RUN addgroup --system --gid 1001 nodejs
|
||||
RUN adduser --system --uid 1001 nextjs
|
||||
USER nextjs
|
||||
|
||||
# Automatically leverage output traces to reduce image size
|
||||
# https://nextjs.org/docs/advanced-features/output-file-tracing
|
||||
COPY --from=installer --chown=nextjs:nodejs /app/apps/frontend/.next/standalone ./
|
||||
COPY --from=installer --chown=nextjs:nodejs /app/apps/frontend/.next/static ./apps/frontend/.next/static
|
||||
COPY --from=installer --chown=nextjs:nodejs /app/apps/frontend/public ./apps/frontend/public
|
||||
|
||||
CMD node apps/frontend/server.js
|
@ -1,65 +0,0 @@
|
||||
FROM fascinated/docker-images:nodejs_20_with_pnpm AS base
|
||||
|
||||
FROM base AS builder
|
||||
RUN apk update
|
||||
RUN apk add --no-cache libc6-compat
|
||||
# Set working directory
|
||||
WORKDIR /app
|
||||
|
||||
RUN pnpm i -g turbo@^2
|
||||
COPY . .
|
||||
|
||||
# Generate a partial monorepo with a pruned lockfile for a target workspace.
|
||||
# Assuming "frontend" is the name entered in the project's package.json: { name: "frontend" }
|
||||
RUN turbo prune frontend --docker
|
||||
|
||||
# Add lockfile and package.json's of isolated subworkspace
|
||||
FROM base AS installer
|
||||
WORKDIR /app
|
||||
|
||||
# Add the commit hash
|
||||
ARG GIT_REV
|
||||
ENV GIT_REV=${GIT_REV}
|
||||
|
||||
# Add the sentry auth token
|
||||
ARG SENTRY_AUTH_TOKEN
|
||||
ENV SENTRY_AUTH_TOKEN=${SENTRY_AUTH_TOKEN}
|
||||
|
||||
ENV NODE_ENV=production
|
||||
ENV NEXT_TELEMETRY_DISABLED=1
|
||||
|
||||
RUN pnpm i -g turbo@^2
|
||||
|
||||
# First install the dependencies (as they change less often)
|
||||
COPY --from=builder /app/out/json/ .
|
||||
RUN pnpm install
|
||||
|
||||
# Build the project
|
||||
COPY --from=builder /app/out/full/ .
|
||||
|
||||
RUN ls -la
|
||||
|
||||
RUN pnpm turbo run build --filter=frontend...
|
||||
|
||||
FROM base AS runner
|
||||
WORKDIR /app
|
||||
|
||||
ENV NODE_ENV=production
|
||||
ENV NEXT_TELEMETRY_DISABLED=1
|
||||
|
||||
# Add the commit hash
|
||||
ARG GIT_REV
|
||||
ENV GIT_REV=${GIT_REV}
|
||||
|
||||
# Don't run production as root
|
||||
RUN addgroup --system --gid 1001 nodejs
|
||||
RUN adduser --system --uid 1001 nextjs
|
||||
USER nextjs
|
||||
|
||||
# Automatically leverage output traces to reduce image size
|
||||
# https://nextjs.org/docs/advanced-features/output-file-tracing
|
||||
COPY --from=installer --chown=nextjs:nodejs /app/apps/frontend/.next/standalone ./
|
||||
COPY --from=installer --chown=nextjs:nodejs /app/apps/frontend/.next/static ./apps/frontend/.next/static
|
||||
COPY --from=installer --chown=nextjs:nodejs /app/apps/frontend/public ./apps/frontend/public
|
||||
|
||||
CMD node apps/frontend/server.js
|
@ -1,3 +0,0 @@
|
||||
export const config = {
|
||||
siteUrl: process.env.NEXT_PUBLIC_SITE_URL || "https://ssr.fascinated.cc",
|
||||
};
|
@ -1,56 +0,0 @@
|
||||
import { format } from "@formkit/tempo";
|
||||
|
||||
/** @type {import('next').NextConfig} */
|
||||
const nextConfig = {
|
||||
output: "standalone",
|
||||
experimental: {
|
||||
webpackMemoryOptimizations: true,
|
||||
},
|
||||
images: {
|
||||
remotePatterns: [
|
||||
{
|
||||
protocol: "https",
|
||||
hostname: "cdn.scoresaber.com",
|
||||
port: "",
|
||||
pathname: "/**",
|
||||
},
|
||||
],
|
||||
},
|
||||
env: {
|
||||
NEXT_PUBLIC_BUILD_ID: process.env.GIT_REV || "bob",
|
||||
NEXT_PUBLIC_BUILD_TIME: new Date().toLocaleDateString("en-US", {
|
||||
year: "numeric",
|
||||
month: "long",
|
||||
day: "numeric",
|
||||
hour: "numeric",
|
||||
minute: "numeric",
|
||||
timeZoneName: "short",
|
||||
}),
|
||||
NEXT_PUBLIC_BUILD_TIME_SHORT: format(new Date(), {
|
||||
date: "short",
|
||||
time: "short",
|
||||
}),
|
||||
},
|
||||
};
|
||||
|
||||
export default nextConfig;
|
||||
|
||||
// export default withSentryConfig(nextConfig, {
|
||||
// org: "scoresaber-reloaded",
|
||||
// project: "frontend",
|
||||
// sentryUrl: "https://glitchtip.fascinated.cc/",
|
||||
// silent: !process.env.CI,
|
||||
// reactComponentAnnotation: {
|
||||
// enabled: true,
|
||||
// },
|
||||
// tunnelRoute: "/monitoring",
|
||||
// hideSourceMaps: true,
|
||||
// disableLogger: true,
|
||||
// sourcemaps: {
|
||||
// disable: true,
|
||||
// },
|
||||
// release: {
|
||||
// create: false,
|
||||
// finalize: false,
|
||||
// },
|
||||
// });
|
7567
apps/frontend/pnpm-lock.yaml
generated
Before Width: | Height: | Size: 841 B |
Before Width: | Height: | Size: 132 B |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 766 B |
Before Width: | Height: | Size: 659 B |
Before Width: | Height: | Size: 604 B |
Before Width: | Height: | Size: 121 B |
Before Width: | Height: | Size: 522 B |
Before Width: | Height: | Size: 445 B |
Before Width: | Height: | Size: 320 B |
Before Width: | Height: | Size: 909 B |
Before Width: | Height: | Size: 109 B |
Before Width: | Height: | Size: 554 B |
Before Width: | Height: | Size: 311 B |
Before Width: | Height: | Size: 179 B |
Before Width: | Height: | Size: 214 B |
Before Width: | Height: | Size: 339 B |
Before Width: | Height: | Size: 324 B |
Before Width: | Height: | Size: 282 B |
Before Width: | Height: | Size: 127 B |
Before Width: | Height: | Size: 254 B |
Before Width: | Height: | Size: 105 B |
Before Width: | Height: | Size: 326 B |
Before Width: | Height: | Size: 651 B |
Before Width: | Height: | Size: 127 B |
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 132 B |
Before Width: | Height: | Size: 810 B |
Before Width: | Height: | Size: 792 B |
Before Width: | Height: | Size: 287 B |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 206 B |
Before Width: | Height: | Size: 139 B |
Before Width: | Height: | Size: 377 B |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 359 B |
Before Width: | Height: | Size: 561 B |
Before Width: | Height: | Size: 523 B |
Before Width: | Height: | Size: 286 B |
Before Width: | Height: | Size: 344 B |
Before Width: | Height: | Size: 135 B |
Before Width: | Height: | Size: 123 B |
Before Width: | Height: | Size: 717 B |
Before Width: | Height: | Size: 263 B |
Before Width: | Height: | Size: 215 B |
Before Width: | Height: | Size: 286 B |
Before Width: | Height: | Size: 135 B |
Before Width: | Height: | Size: 419 B |
Before Width: | Height: | Size: 362 B |
Before Width: | Height: | Size: 444 B |
Before Width: | Height: | Size: 260 B |
Before Width: | Height: | Size: 641 B |
Before Width: | Height: | Size: 486 B |
Before Width: | Height: | Size: 361 B |
Before Width: | Height: | Size: 105 B |
Before Width: | Height: | Size: 530 B |
Before Width: | Height: | Size: 163 B |
Before Width: | Height: | Size: 501 B |
Before Width: | Height: | Size: 459 B |
Before Width: | Height: | Size: 368 B |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 106 B |
Before Width: | Height: | Size: 323 B |
Before Width: | Height: | Size: 358 B |
Before Width: | Height: | Size: 533 B |
Before Width: | Height: | Size: 828 B |
Before Width: | Height: | Size: 559 B |
Before Width: | Height: | Size: 160 B |
Before Width: | Height: | Size: 991 B |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 259 B |
Before Width: | Height: | Size: 192 B |
Before Width: | Height: | Size: 123 B |
Before Width: | Height: | Size: 106 B |
Before Width: | Height: | Size: 134 B |
Before Width: | Height: | Size: 566 B |