Fix VITE_API_BASE_URL not being used at runtime in Docker (#4810)

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
Suchintan
2026-02-19 15:22:04 -05:00
committed by GitHub
parent 704c6c8aa8
commit 1a63fa797b
2 changed files with 20 additions and 9 deletions

View File

@@ -2,14 +2,25 @@
set -e
# Extract API key from secrets file
VITE_SKYVERN_API_KEY=$(sed -n 's/.*cred\s*=\s*"\([^"]*\)".*/\1/p' .streamlit/secrets.toml 2>/dev/null || echo "")
# Default values for environment variables
VITE_API_BASE_URL="${VITE_API_BASE_URL:-http://localhost:8000/api/v1}"
VITE_WSS_BASE_URL="${VITE_WSS_BASE_URL:-ws://localhost:8000/api/v1}"
VITE_ARTIFACT_API_BASE_URL="${VITE_ARTIFACT_API_BASE_URL:-http://localhost:9090}"
# Inject API key into pre-built JS files (replace placeholder)
if [ -n "$VITE_SKYVERN_API_KEY" ]; then
find /app/dist -name "*.js" -exec sed -i "s/__SKYVERN_API_KEY_PLACEHOLDER__/$VITE_SKYVERN_API_KEY/g" {} \;
# Extract API key from secrets file if not provided via environment
if [ -z "$VITE_SKYVERN_API_KEY" ]; then
VITE_SKYVERN_API_KEY=$(sed -n 's/.*cred\s*=\s*"\([^"]*\)".*/\1/p' .streamlit/secrets.toml 2>/dev/null || echo "")
fi
# Inject environment variables into pre-built JS files (replace placeholders)
# Using | as delimiter since URLs contain /
find /app/dist -name "*.js" -exec sed -i \
-e "s|__VITE_API_BASE_URL_PLACEHOLDER__|${VITE_API_BASE_URL}|g" \
-e "s|__VITE_WSS_BASE_URL_PLACEHOLDER__|${VITE_WSS_BASE_URL}|g" \
-e "s|__VITE_ARTIFACT_API_BASE_URL_PLACEHOLDER__|${VITE_ARTIFACT_API_BASE_URL}|g" \
-e "s|__SKYVERN_API_KEY_PLACEHOLDER__|${VITE_SKYVERN_API_KEY}|g" \
{} \;
# Start the servers (no rebuild needed)
# Tini (configured as ENTRYPOINT) handles signal forwarding and zombie reaping
node localServer.js &