#!/bin/bash
# Fix docker-compose.yml: mapping -> list-style environment vars
cd /opt/struktur/graphiti
# Backup
cp docker-compose.yml docker-compose.yml.pre-p2z-e.bak2
# Convert environment section from mapping to list format
python3 << 'PYEOF'
import yaml
with open('/opt/struktur/graphiti/docker-compose.yml', 'r') as f:
doc = yaml.safe_load(f)
svc = doc['services']['graphiti-service']
if isinstance(svc.get('environment'), dict):
svc['environment'] = [f"{k}={v}" for k, v in svc['environment'].items()]
print("Converted dict env to list")
else:
print("Environment already in list format or missing")
with open('/opt/struktur/graphiti/docker-compose.yml', 'w') as f:
yaml.dump(doc, f, default_flow_style=False, sort_keys=False, width=120)
# Verify
with open('/opt/struktur/graphiti/docker-compose.yml', 'r') as f:
for line in f:
if 'LLM_MODEL' in line or 'LLM_BASE_URL' in line:
print(line.rstrip())
PYEOF
echo "COMPOSE_FIXED"