Supabase use .env.example vars to prepare .env from ai-suite .env

This commit is contained in:
Trevor SANDY
2026-07-18 20:12:15 +02:00
parent 0269a1c963
commit 113a0fa365
3 changed files with 23 additions and 12 deletions
+1 -1
View File
@@ -123,7 +123,7 @@ SERVICE_ROLE_KEY=generate using gen_key:service_role_sym
# Pre-signed ES256 JWT "API key" for anon role.
ANON_KEY_ASYMMETRIC=generate using gen_key:anon_asym
# Pre-signed ES256 JWT "API key" for service role.
SERVICE_ROLE_ASYMMETRIC=generate using gen_key:service_role_asym
SERVICE_ROLE_KEY_ASYMMETRIC=generate using gen_key:service_role_asym
# Opaque API key for client-side use (anon role).
SUPABASE_PUBLISHABLE_KEY=generate using gen_key:client
# Opaque API key for server-side use (service_role). Never expose in client code.
+1 -1
View File
@@ -288,7 +288,7 @@ Developers may also consider the following optional software:
# Pre-signed ES256 JWT "API key" for anon role.
ANON_KEY_ASYMMETRIC=generate using gen_key:anon_asym
# Pre-signed ES256 JWT "API key" for service role.
SERVICE_ROLE_ASYMMETRIC=generate using gen_key:service_role_asym
SERVICE_ROLE_KEY_ASYMMETRIC=generate using gen_key:service_role_asym
# Opaque API key for client-side use (anon role).
SUPABASE_PUBLISHABLE_KEY=generate using gen_key:client
# Opaque API key for server-side use (service_role). Never expose in client code.
+21 -10
View File
@@ -1860,14 +1860,25 @@ def clone_open_webui_functions_repos():
def prepare_supabase_env(env_vars):
"""Write env_vars to .env in supabase/docker."""
env_file = os.path.join("supabase", "docker", ".env")
built_env_vars = env_vars.copy()
if not built_env_vars.get("OPENAI_API_KEY"):
built_env_vars["OPENAI_API_KEY"] = (
"llamacpp-local"
if llama_cpp
else "ollama-local"
)
built_env_vars['COMPOSE_IGNORE_ORPHANS'] = 'true'
env_example_file = os.path.join("supabase", "docker", ".env.example")
env_example_vars = (
dotenv.dotenv_values(env_example_file)
if os.path.exists(env_example_file)
else None
)
exclude_vars = { "COMPOSE_FILE" }
if env_example_vars is None:
built_env_vars = env_vars.copy()
else:
built_env_vars = {}
for key, example_value in env_example_vars.items():
if key not in env_vars and key not in exclude_vars:
log.warning(f"Variable {key} not set in {name} .env.")
value = env_vars.get(key)
built_env_vars[key] = (
value if value not in (None, "") else example_value
)
built_env_vars["COMPOSE_IGNORE_ORPHANS"] = "true"
write_dotenv_file(env_file, built_env_vars)
def prepare_openclaw_env(environment, oc_store, oc_cwd):
@@ -3259,10 +3270,10 @@ def write_dotenv_file(env_file, env_vars):
return
log.info(f"Writing .env file to {env_file}...")
with open(env_file, 'w', newline='\n') as f:
now = " ".join(['on:', datetime.datetime.now().ctime()])
now = " ".join(['On:', datetime.datetime.now().ctime()])
f.seek(0)
f.truncate()
f.write(f"# {now} - Generated {name} working .env environment variables.")
f.write(f"# {now} - {name} generated .env environment variables.")
f.write('\n')
for env, var in env_vars.items():
if not var: