70 lines
1.6 KiB
Bash
70 lines
1.6 KiB
Bash
#!/bin/bash
|
|
|
|
DOTENV_FILE="./.env"
|
|
DOCKER_ENV_FILE="./.docker.env"
|
|
|
|
REQUIRED_VARS=(
|
|
"OPEN_NOTEBOOK_PASSWORD"
|
|
"SURREAL_URL"
|
|
"SURREAL_USER"
|
|
"SURREAL_PASSWORD"
|
|
"SURREAL_NAMESPACE"
|
|
"SURREAL_DATABASE"
|
|
"OPENAI_API_KEY"
|
|
"ANTHROPIC_API_KEY"
|
|
"GEMINI_API_KEY"
|
|
"VERTEX_PROJECT"
|
|
"GOOGLE_APPLICATION_CREDENTIALS"
|
|
"VERTEX_LOCATION"
|
|
"DEEPSEEK_API_KEY"
|
|
"MISTRAL_API_KEY"
|
|
"GROQ_API_KEY"
|
|
"XAI_API_KEY"
|
|
"ELEVENLABS_API_KEY"
|
|
"OLLAMA_API_BASE"
|
|
"OPENROUTER_BASE_URL"
|
|
"OPENROUTER_API_KEY"
|
|
"AZURE_OPENAI_API_KEY"
|
|
"AZURE_OPENAI_ENDPOINT"
|
|
"AZURE_OPENAI_API_VERSION"
|
|
"AZURE_OPENAI_DEPLOYMENT_NAME"
|
|
"OPENAI_COMPATIBLE_BASE_URL"
|
|
"OPENAI_COMPATIBLE_API_KEY"
|
|
"FIRECRAWL_API_KEY"
|
|
"JINA_API_KEY"
|
|
"VOYAGE_API_KEY"
|
|
"LANGCHAIN_TRACING_V2"
|
|
"LANGCHAIN_ENDPOINT"
|
|
"LANGCHAIN_API_KEY"
|
|
"LANGCHAIN_PROJECT"
|
|
)
|
|
|
|
> $DOCKER_ENV_FILE
|
|
cat > $DOCKER_ENV_FILE << 'EOF'
|
|
SURREAL_URL=ws://localhost:8000/rpc
|
|
SURREAL_USER=root
|
|
SURREAL_PASSWORD=root
|
|
SURREAL_NAMESPACE=open_notebook
|
|
SURREAL_DATABASE=production
|
|
EOF
|
|
|
|
while IFS= read -r line || [ -n "$line" ]; do
|
|
if [[ -z "$line" || "$line" =~ ^[[:space:]]*# ]]; then
|
|
continue
|
|
fi
|
|
if [[ "$line" =~ ^([^=]+)=(.*)$ ]]; then
|
|
key="${BASH_REMATCH[1]}"
|
|
value="${BASH_REMATCH[2]}"
|
|
value=$(echo "$value" | sed -e 's/^"//' -e 's/"$//' -e "s/^'//" -e "s/'$//")
|
|
export "$key"="$value"
|
|
fi
|
|
done < "$DOTENV_FILE"
|
|
|
|
for var in "${REQUIRED_VARS[@]}"; do
|
|
value="${!var}"
|
|
|
|
if [ -n "$value" ]; then
|
|
echo "$var=$value" >> "$DOCKER_ENV_FILE"
|
|
fi
|
|
done
|