diff --git a/Dockerfile b/Dockerfile
index 6c81357c..9672d1fc 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -16,9 +16,11 @@ RUN npm run build
FROM nginx:stable-alpine AS production
COPY --from=builder /usr/src/app/dist /usr/share/nginx/html
-COPY ./default.conf /etc/nginx/conf.d/default.conf
+COPY ./default.conf.template /etc/nginx/conf.d/default.conf.template
+COPY entrypoint.sh /entrypoint.sh
+RUN chmod +x /entrypoint.sh
# Expose the default port for the Nginx web server
EXPOSE 80
-CMD ["nginx", "-g", "daemon off;"]
+ENTRYPOINT ["/entrypoint.sh"]
diff --git a/default.conf b/default.conf.template
similarity index 66%
rename from default.conf
rename to default.conf.template
index 171ca3cb..82325096 100644
--- a/default.conf
+++ b/default.conf.template
@@ -8,6 +8,11 @@ server {
try_files $uri $uri/ /index.html;
}
+ location /config.js {
+ default_type application/javascript;
+ return 200 "window.env = { OPENAI_API_KEY: \"$OPENAI_API_KEY\" };";
+ }
+
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
diff --git a/entrypoint.sh b/entrypoint.sh
new file mode 100644
index 00000000..7a883abd
--- /dev/null
+++ b/entrypoint.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+# Replace placeholders in nginx.conf
+envsubst '${OPENAI_API_KEY}' < /etc/nginx/conf.d/default.conf.template > /etc/nginx/conf.d/default.conf
+
+# Start Nginx
+nginx -g "daemon off;"
diff --git a/index.html b/index.html
index b840c1db..420fe35f 100644
--- a/index.html
+++ b/index.html
@@ -12,6 +12,7 @@
href="https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&display=swap"
rel="stylesheet"
/>
+