Add full monorepo: virtual-banker, backend, frontend, docs, scripts, deployment
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
95
docs/BLOCKSCOUT_YAML_FIX.md
Normal file
95
docs/BLOCKSCOUT_YAML_FIX.md
Normal file
@@ -0,0 +1,95 @@
|
||||
# Fix YAML Quote Issues in docker-compose.yml
|
||||
|
||||
## Problem
|
||||
Docker Compose is failing with "No closing quotation" error because the command string has nested quotes that aren't properly escaped.
|
||||
|
||||
## Solution: Use YAML List Format
|
||||
|
||||
Instead of:
|
||||
```yaml
|
||||
command: sh -c "bin/blockscout eval \"Explorer.Release.migrate()\" && bin/blockscout start"
|
||||
```
|
||||
|
||||
Use YAML list format:
|
||||
```yaml
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- "bin/blockscout eval \"Explorer.Release.migrate()\" && bin/blockscout start"
|
||||
```
|
||||
|
||||
## Commands to Fix
|
||||
|
||||
```bash
|
||||
cd /opt/blockscout
|
||||
|
||||
# Backup
|
||||
cp docker-compose.yml docker-compose.yml.backup3
|
||||
|
||||
# Fix using Python
|
||||
python3 << 'PYTHON'
|
||||
import re
|
||||
|
||||
with open('docker-compose.yml', 'r') as f:
|
||||
lines = f.readlines()
|
||||
|
||||
new_lines = []
|
||||
i = 0
|
||||
while i < len(lines):
|
||||
line = lines[i]
|
||||
# Check if this is a command line with blockscout start
|
||||
if 'command:' in line and ('blockscout start' in line or '/app/bin/blockscout start' in line):
|
||||
# Replace with YAML list format
|
||||
indent = len(line) - len(line.lstrip())
|
||||
new_lines.append(' ' * indent + 'command:\n')
|
||||
new_lines.append(' ' * (indent + 2) + '- sh\n')
|
||||
new_lines.append(' ' * (indent + 2) + '- -c\n')
|
||||
new_lines.append(' ' * (indent + 2) + '- "bin/blockscout eval \\"Explorer.Release.migrate()\\" && bin/blockscout start"\n')
|
||||
i += 1
|
||||
# Skip continuation lines if any
|
||||
while i < len(lines) and (lines[i].strip().startswith('-') or lines[i].strip() == ''):
|
||||
i += 1
|
||||
continue
|
||||
new_lines.append(line)
|
||||
i += 1
|
||||
|
||||
with open('docker-compose.yml', 'w') as f:
|
||||
f.writelines(new_lines)
|
||||
|
||||
print("✅ Updated docker-compose.yml")
|
||||
PYTHON
|
||||
|
||||
# Verify
|
||||
grep -A 4 "command:" docker-compose.yml
|
||||
|
||||
# Start
|
||||
docker-compose up -d blockscout
|
||||
```
|
||||
|
||||
## Alternative: Manual Edit
|
||||
|
||||
If Python doesn't work, edit manually:
|
||||
|
||||
```bash
|
||||
cd /opt/blockscout
|
||||
nano docker-compose.yml
|
||||
```
|
||||
|
||||
Find:
|
||||
```yaml
|
||||
command: /app/bin/blockscout start
|
||||
```
|
||||
|
||||
Replace with:
|
||||
```yaml
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- "bin/blockscout eval \"Explorer.Release.migrate()\" && bin/blockscout start"
|
||||
```
|
||||
|
||||
Save and exit, then:
|
||||
```bash
|
||||
docker-compose up -d blockscout
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user