Container not loading API keys from .env.local

Hello,

I am following the setup instructions from: bolt.diy Docs

I created a copy of the .env.example file named .env.local beside the example file so it’s in the same directory.

I edited the file adding api keys for several providers including Groq, HuggingFace, OpenAI, Anthropic, OpenRouter, and Google.

I built the docker image with the command in the docs.

When I run the docker compose command to spin up the container, I see output in the logs that says those environment variables aren’t set at all and are defaulting to empty strings.

I have made no other edits to any files.

I am running the project in a terminal in windsurf on windows with docker desktop set to use linux containers.

The containers are running, the webpage loads, but the model selection doesn’t work because it says i need to enter api keys.

PS Microsoft.PowerShell.Core\FileSystem::\\wsl.localhost\Ubuntu\home\bsterling\lab\bolt.diy> docker compose --profile development up
time="2025-03-09T12:17:45-06:00" level=warning msg="The \"GROQ_API_KEY\" variable is not set. Defaulting to a blank string."
time="2025-03-09T12:17:45-06:00" level=warning msg="The \"HuggingFace_API_KEY\" variable is not set. Defaulting to a blank string."
time="2025-03-09T12:17:45-06:00" level=warning msg="The \"OPENAI_API_KEY\" variable is not set. Defaulting to a blank string."
time="2025-03-09T12:17:45-06:00" level=warning msg="The \"ANTHROPIC_API_KEY\" variable is not set. Defaulting to a blank string."
time="2025-03-09T12:17:45-06:00" level=warning msg="The \"OPEN_ROUTER_API_KEY\" variable is not set. Defaulting to a blank string."
time="2025-03-09T12:17:45-06:00" level=warning msg="The \"XAI_API_KEY\" variable is not set. Defaulting to a blank string."
time="2025-03-09T12:17:45-06:00" level=warning msg="The \"GOOGLE_GENERATIVE_AI_API_KEY\" variable is not set. Defaulting to a blank string."
time="2025-03-09T12:17:45-06:00" level=warning msg="The \"OLLAMA_API_BASE_URL\" variable is not set. Defaulting to a blank string."
time="2025-03-09T12:17:45-06:00" level=warning msg="The \"TOGETHER_API_KEY\" variable is not set. Defaulting to a blank string."
time="2025-03-09T12:17:45-06:00" level=warning msg="The \"TOGETHER_API_BASE_URL\" variable is not set. Defaulting to a blank string."
time="2025-03-09T12:17:45-06:00" level=warning msg="The \"AWS_BEDROCK_CONFIG\" variable is not set. Defaulting to a blank string." 
time="2025-03-09T12:17:45-06:00" level=warning msg="The \"GROQ_API_KEY\" variable is not set. Defaulting to a blank string."       
time="2025-03-09T12:17:45-06:00" level=warning msg="The \"HuggingFace_API_KEY\" variable is not set. Defaulting to a blank string."
time="2025-03-09T12:17:45-06:00" level=warning msg="The \"OPENAI_API_KEY\" variable is not set. Defaulting to a blank string."     
time="2025-03-09T12:17:45-06:00" level=warning msg="The \"ANTHROPIC_API_KEY\" variable is not set. Defaulting to a blank string."  
time="2025-03-09T12:17:45-06:00" level=warning msg="The \"OPEN_ROUTER_API_KEY\" variable is not set. Defaulting to a blank string."
time="2025-03-09T12:17:45-06:00" level=warning msg="The \"GOOGLE_GENERATIVE_AI_API_KEY\" variable is not set. Defaulting to a blank string."
time="2025-03-09T12:17:45-06:00" level=warning msg="The \"OLLAMA_API_BASE_URL\" variable is not set. Defaulting to a blank string."
time="2025-03-09T12:17:45-06:00" level=warning msg="The \"XAI_API_KEY\" variable is not set. Defaulting to a blank string."        
time="2025-03-09T12:17:45-06:00" level=warning msg="The \"TOGETHER_API_KEY\" variable is not set. Defaulting to a blank string."   
time="2025-03-09T12:17:45-06:00" level=warning msg="The \"TOGETHER_API_BASE_URL\" variable is not set. Defaulting to a blank string."
time="2025-03-09T12:17:45-06:00" level=warning msg="The \"AWS_BEDROCK_CONFIG\" variable is not set. Defaulting to a blank string." 
[+] Running 1/0
 ✔ Container boltdiy-app-dev-1  Created           0.0s 
Attaching to app-dev-1
app-dev-1  |
app-dev-1  | > bolt@0.0.7 dev /app
app-dev-1  | > node pre-start.cjs  && remix vite:dev "--host" "0.0.0.0"                                                            
app-dev-1  |                                                                                                                       
app-dev-1  | fatal: detected dubious ownership in repository at '/app'                                                             
app-dev-1  | To add an exception for this directory, call:
app-dev-1  |                                                                                                                       
app-dev-1  |    git config --global --add safe.directory /app                                                                      
app-dev-1  |                                                                                                                       
app-dev-1  | ★═══════════════════════════════════════★
app-dev-1  |           B O L T . D I Y                                                                                             
app-dev-1  |          ⚡️  Welcome  ⚡️                                                                                              
app-dev-1  | ★═══════════════════════════════════════★                                                                             
app-dev-1  |                                                                                                                       
app-dev-1  | 📍 Current Version Tag: v"0.0.7"                                                                                      
app-dev-1  | 📍 Current Commit Version: "no-git-info"
app-dev-1  |   Please wait until the URL appears here                                                                              
app-dev-1  | ★═══════════════════════════════════════★                                                                             
app-dev-1  | fatal: detected dubious ownership in repository at '/app'                                                             
app-dev-1  | To add an exception for this directory, call:
app-dev-1  |                                                                                                                       
app-dev-1  |    git config --global --add safe.directory /app                                                                      
app-dev-1  | [warn] Data fetching is changing to a single fetch in React Router v7                                                 
app-dev-1  | ┃ You can use the `v3_singleFetch` future flag to opt-in early.
app-dev-1  | ┃ -> https://remix.run/docs/en/2.13.1/start/future-flags#v3_singleFetch                                               
app-dev-1  | ┗                                                                                                                     
app-dev-1  | fatal: detected dubious ownership in repository at '/app'                                                             
app-dev-1  | To add an exception for this directory, call:
app-dev-1  |                                                                                                                       
app-dev-1  |    git config --global --add safe.directory /app                                                                      
app-dev-1  |   ➜  Local:   http://localhost:5173/                                                                                  
app-dev-1  |   ➜  Network: http://172.25.0.2:5173/
app-dev-1  | [unocss] failed to load icon "lucide:clock"                                                                           
app-dev-1  | [unocss] failed to load icon "lucide:message-square"
app-dev-1  | [unocss] failed to load icon "lucide:search"                                                                          
app-dev-1  | [unocss] failed to load icon "ph:git-repository"                                                                      
app-dev-1  |  INFO   LLMManager  Registering Provider:  Anthropic
app-dev-1  |  INFO   LLMManager  Registering Provider:  Cohere
app-dev-1  |  INFO   LLMManager  Registering Provider:  Deepseek                                                                   
app-dev-1  |  INFO   LLMManager  Registering Provider:  Google                                                                     
app-dev-1  |  INFO   LLMManager  Registering Provider:  Groq                                                                       
app-dev-1  |  INFO   LLMManager  Registering Provider:  HuggingFace                                                                
app-dev-1  |  INFO   LLMManager  Registering Provider:  Hyperbolic                                                                 
app-dev-1  |  INFO   LLMManager  Registering Provider:  Mistral                                                                    
app-dev-1  |  INFO   LLMManager  Registering Provider:  Ollama
app-dev-1  |  INFO   LLMManager  Registering Provider:  OpenAI                                                                     
app-dev-1  |  INFO   LLMManager  Registering Provider:  OpenRouter                                                                 
app-dev-1  |  INFO   LLMManager  Registering Provider:  OpenAILike                                                                 
app-dev-1  |  INFO   LLMManager  Registering Provider:  Perplexity                                                                 
app-dev-1  |  INFO   LLMManager  Registering Provider:  xAI                                                                        
app-dev-1  |  INFO   LLMManager  Registering Provider:  OpenAI
app-dev-1  |  INFO   LLMManager  Registering Provider:  OpenRouter
app-dev-1  |  INFO   LLMManager  Registering Provider:  OpenAILike
app-dev-1  |  INFO   LLMManager  Registering Provider:  Perplexity
app-dev-1  |  INFO   LLMManager  Registering Provider:  xAI
app-dev-1  |  INFO   LLMManager  Registering Provider:  Together
app-dev-1  |  INFO   LLMManager  Registering Provider:  LMStudio
app-dev-1  |  INFO   LLMManager  Registering Provider:  OpenRouter
app-dev-1  |  INFO   LLMManager  Registering Provider:  OpenAILike
app-dev-1  |  INFO   LLMManager  Registering Provider:  Perplexity
app-dev-1  |  INFO   LLMManager  Registering Provider:  xAI
app-dev-1  |  INFO   LLMManager  Registering Provider:  Together
app-dev-1  |  INFO   LLMManager  Registering Provider:  LMStudio
app-dev-1  |  INFO   LLMManager  Registering Provider:  AmazonBedrock
app-dev-1  |  INFO   LLMManager  Registering Provider:  OpenAILike
app-dev-1  |  INFO   LLMManager  Registering Provider:  Perplexity
app-dev-1  |  INFO   LLMManager  Registering Provider:  xAI
app-dev-1  |  INFO   LLMManager  Registering Provider:  Together
app-dev-1  |  INFO   LLMManager  Registering Provider:  LMStudio
app-dev-1  |  INFO   LLMManager  Registering Provider:  AmazonBedrock
app-dev-1  |  INFO   LLMManager  Registering Provider:  Github
app-dev-1  |  INFO   LLMManager  Registering Provider:  xAI
app-dev-1  |  INFO   LLMManager  Registering Provider:  Together
app-dev-1  |  INFO   LLMManager  Registering Provider:  LMStudio
app-dev-1  |  INFO   LLMManager  Registering Provider:  AmazonBedrock
app-dev-1  |  INFO   LLMManager  Registering Provider:  Github
app-dev-1  | indexedDB is not available in this environment.
app-dev-1  |  INFO   LLMManager  Registering Provider:  AmazonBedrock
app-dev-1  |  INFO   LLMManager  Registering Provider:  Github
app-dev-1  | indexedDB is not available in this environment.
app-dev-1  | [unocss] The labeled variant is experimental and may not follow semver.
app-dev-1  |  INFO   LLMManager  Registering Provider:  Github
app-dev-1  | indexedDB is not available in this environment.
app-dev-1  | [unocss] The labeled variant is experimental and may not follow semver.
app-dev-1  | indexedDB is not available in this environment.
app-dev-1  | [unocss] The labeled variant is experimental and may not follow semver.
app-dev-1  | [unocss] The labeled variant is experimental and may not follow semver.
app-dev-1  | [unocss] failed to load icon "ph:file-json"
app-dev-1  | [unocss] failed to load icon "ph:microchip"
app-dev-1  | [unocss] failed to load icon "ph:node"
app-dev-1  | [unocss] failed to load icon "ph:plug-x"
app-dev-1  |  INFO   LLMManager  Getting dynamic models for OpenAI
app-dev-1  |  ERROR   LLMManager  Error getting dynamic models OpenAI : Missing Api Key configuration for OpenAI provider
app-dev-1  |  ERROR   LLMManager  Error getting dynamic models OpenAI : Missing Api Key configuration for OpenAI provider
app-dev-1  |  ERROR   LLMManager  Error getting dynamic models OpenAI : Missing Api Key configuration for OpenAI provider
app-dev-1  |  ERROR   LLMManager  Error getting dynamic models OpenAI : Missing Api Key configuration for OpenAI provider

Appears that the issue is with the docs, they mention the variables should be set in a .env.local file, but i found it had to be just .env as .env.local is not loaded by default.