Fix sed command to handle special characters in encryption key

- Escape &, /, and \ characters in encryption key before sed
- Use | as delimiter instead of / to avoid conflicts
- Fixes 'unknown option to s' error on ZimaOS
This commit is contained in:
nmemmert committed 2026-01-13 16:08:39 -05:00
1 parent 7fbfab6b20
commit e6805c66a7
2 files changed
+8 -6

No files matched your search

+4 -3
View File
@@ -43,13 +43,14 @@ if [ ! -f .env ]; then
echo " Please update ENCRYPTION_KEY in .env with a secure random value"
fi
# Update .env with generated key
# Update .env with generated key (escape special chars for sed)
ESCAPED_KEY=$(echo "$ENCRYPTION_KEY" | sed 's/[&/\\]/\\&/g')
if [[ "$OSTYPE" == "darwin"* ]]; then
# macOS
sed -i '' "s/change-this-to-a-secure-random-key/$ENCRYPTION_KEY/" .env
sed -i '' "s|change-this-to-a-secure-random-key|$ESCAPED_KEY|" .env
else
# Linux
sed -i "s/change-this-to-a-secure-random-key/$ENCRYPTION_KEY/" .env
sed -i "s|change-this-to-a-secure-random-key|$ESCAPED_KEY|" .env
fi
echo "✅ Generated secure encryption key"