diff --git a/dockerfile b/dockerfile
index cdd992946..2a58045f2 100644
--- a/dockerfile
+++ b/dockerfile
@@ -1,12 +1,20 @@
# syntax=docker/dockerfile:1
-FROM node:20 as builder
+FROM node:20.11 as builder
WORKDIR /app
-COPY . /app/
+
+# Install dependencies
+COPY ./package*.json .
+COPY ./yarn.lock .
+ENV NODE_ENV='development'
+RUN yarn install --production=false --frozen-lockfile
+RUN yarn patch-package
+
+COPY . .
ENV VITE_COMMIT_HASH=""
ENV VITE_APP_VERSION="custom"
-RUN yarn install && yarn build
+RUN yarn build
FROM nginx:stable-alpine-slim
EXPOSE 80
diff --git a/patches/@react-three+fiber+8.15.12.patch b/patches/@react-three+fiber+8.15.15.patch
similarity index 93%
rename from patches/@react-three+fiber+8.15.12.patch
rename to patches/@react-three+fiber+8.15.15.patch
index 9c671a2a8..509d8d71d 100644
--- a/patches/@react-three+fiber+8.15.12.patch
+++ b/patches/@react-three+fiber+8.15.15.patch
@@ -1,21 +1,21 @@
diff --git a/node_modules/@react-three/fiber/dist/declarations/src/three-types.d.ts b/node_modules/@react-three/fiber/dist/declarations/src/three-types.d.ts
-index 7b2a48a..12120f2 100644
+index e33ab81..deff0c9 100644
--- a/node_modules/@react-three/fiber/dist/declarations/src/three-types.d.ts
+++ b/node_modules/@react-three/fiber/dist/declarations/src/three-types.d.ts
@@ -383,10 +383,10 @@ export interface ThreeElements {
- fogExp2: FogExp2Props;
- shape: ShapeProps;
- }
--declare global {
-- namespace JSX {
-- interface IntrinsicElements extends ThreeElements {
-- }
-- }
--}
+ fogExp2: FogExp2Props;
+ shape: ShapeProps;
+ }
+-declare global {
+- namespace JSX {
+- interface IntrinsicElements extends ThreeElements {
+- }
+- }
+-}
+// declare global {
+// namespace JSX {
+// interface IntrinsicElements extends ThreeElements {
+// }
+// }
+// }
- export {};
+ export {};
diff --git a/src/views/relays/cache/index.tsx b/src/views/relays/cache/index.tsx
index 3cc885e01..ea075b9e6 100644
--- a/src/views/relays/cache/index.tsx
+++ b/src/views/relays/cache/index.tsx
@@ -101,7 +101,7 @@ export default function CacheRelayView() {
Cache Relay
- The cache relay is used to cache event locally so they can be loaded quickly
+ The cache relay is used to cache events locally so they can be loaded quickly
diff --git a/src/views/relays/contact-list/index.tsx b/src/views/relays/contact-list/index.tsx
index 077e7de12..a5430bd1c 100644
--- a/src/views/relays/contact-list/index.tsx
+++ b/src/views/relays/contact-list/index.tsx
@@ -72,7 +72,7 @@ export default function ContactListRelaysView() {
Some apps store relays in your contacts list (kind-3)
- noStrudel dose not use these relays, instead it uses your{" "}
+ noStrudel does not use these relays, instead it uses your{" "}
Mailbox Relays