mirror of
https://github.com/chartdb/chartdb.git
synced 2025-10-31 20:14:00 +00:00
fix(docker): make OPENAI_API_KEY optional in docker run (#448)
This commit is contained in:
@@ -16,9 +16,11 @@ RUN npm run build
|
|||||||
FROM nginx:stable-alpine AS production
|
FROM nginx:stable-alpine AS production
|
||||||
|
|
||||||
COPY --from=builder /usr/src/app/dist /usr/share/nginx/html
|
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 the default port for the Nginx web server
|
||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
|
|
||||||
CMD ["nginx", "-g", "daemon off;"]
|
ENTRYPOINT ["/entrypoint.sh"]
|
||||||
|
|||||||
@@ -8,6 +8,11 @@ server {
|
|||||||
try_files $uri $uri/ /index.html;
|
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;
|
error_page 500 502 503 504 /50x.html;
|
||||||
location = /50x.html {
|
location = /50x.html {
|
||||||
root /usr/share/nginx/html;
|
root /usr/share/nginx/html;
|
||||||
7
entrypoint.sh
Normal file
7
entrypoint.sh
Normal file
@@ -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;"
|
||||||
@@ -12,6 +12,7 @@
|
|||||||
href="https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&display=swap"
|
href="https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&display=swap"
|
||||||
rel="stylesheet"
|
rel="stylesheet"
|
||||||
/>
|
/>
|
||||||
|
<script src="/config.js"></script>
|
||||||
<script
|
<script
|
||||||
src="https://cdn.usefathom.com/script.js"
|
src="https://cdn.usefathom.com/script.js"
|
||||||
data-site="PRHIVBNN"
|
data-site="PRHIVBNN"
|
||||||
|
|||||||
0
public/config.js
Normal file
0
public/config.js
Normal file
@@ -219,7 +219,7 @@ export const exportSQL = async (
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
const openai = createOpenAI({
|
const openai = createOpenAI({
|
||||||
apiKey: OPENAI_API_KEY,
|
apiKey: window?.env?.OPENAI_API_KEY ?? OPENAI_API_KEY,
|
||||||
});
|
});
|
||||||
|
|
||||||
const prompt = generateSQLPrompt(databaseType, sqlScript);
|
const prompt = generateSQLPrompt(databaseType, sqlScript);
|
||||||
|
|||||||
6
src/window.d.ts
vendored
Normal file
6
src/window.d.ts
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
declare global {
|
||||||
|
interface Window {
|
||||||
|
env: Record<string, string>;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
export {};
|
||||||
Reference in New Issue
Block a user