Troubleshooting
Service won’t start
Section titled “Service won’t start”Check service status
Section titled “Check service status”docker compose psdocker compose logs <service-name>Database not ready
Section titled “Database not ready”If db-init or api fail with database connection errors:
# Check if PostgreSQL is healthydocker compose exec postgres pg_isready -U flowlike
# View PostgreSQL logsdocker compose logs postgres
# Restart the init jobdocker compose up db-initPort already in use
Section titled “Port already in use”# Find what's using the portlsof -i :8080
# Or change the port in .envAPI_PORT=8080API issues
Section titled “API issues”API can’t connect to runtime
Section titled “API can’t connect to runtime”# Check runtime healthcurl http://localhost:9000/health
# Verify EXECUTOR_POOL_URL in docker-compose.ymldocker compose exec api env | grep EXECUTORHealth check failing
Section titled “Health check failing”# Direct health checkdocker compose exec api curl -v http://localhost:8080/health
# Check for startup errorsdocker compose logs api | grep -i errorDatabase issues
Section titled “Database issues”Migration failed
Section titled “Migration failed”# View migration logsdocker compose logs db-init
# Re-run migrationsdocker compose up db-init --force-recreateReset database
Section titled “Reset database”# Remove volume and recreatedocker compose downdocker volume rm docker-compose_postgres_datadocker compose up -dConnect directly to database
Section titled “Connect directly to database”docker compose exec postgres psql -U flowlike -d flowlikeStorage issues
Section titled “Storage issues”S3 connection errors
Section titled “S3 connection errors”# Test connectivity from API containerdocker compose exec api curl -I "$AWS_ENDPOINT"
# Check credentials are setdocker compose exec api env | grep AWSPermission denied
Section titled “Permission denied”Verify your bucket policy allows the credentials to read/write:
# AWS CLI test (if installed)aws s3 ls s3://your-bucket --endpoint-url $AWS_ENDPOINTPath-style URL issues
Section titled “Path-style URL issues”Some providers require path-style URLs:
AWS_USE_PATH_STYLE=trueRuntime issues
Section titled “Runtime issues”Execution timeout
Section titled “Execution timeout”Increase timeout in .env:
EXECUTION_TIMEOUT_SECONDS=7200 # 2 hoursOut of memory
Section titled “Out of memory”Increase runtime memory limits:
# In docker-compose.ymlruntime: deploy: resources: limits: memory: 16GToo many concurrent executions
Section titled “Too many concurrent executions”Reduce the limit or scale horizontally:
MAX_CONCURRENT_EXECUTIONS=5docker compose up -d --scale runtime=2JWT / Authentication issues
Section titled “JWT / Authentication issues”Invalid token errors
Section titled “Invalid token errors”Regenerate the keypair and update both services:
./tools/gen-execution-keys.sh# Update .env with new EXECUTION_KEY, EXECUTION_PUBdocker compose downdocker compose up -dMissing EXECUTION_KEY
Section titled “Missing EXECUTION_KEY”# Check if keys are setdocker compose exec api env | grep EXECUTIONLogs and debugging
Section titled “Logs and debugging”Enable debug logging
Section titled “Enable debug logging”RUST_LOG=debug,docker_compose_api=traceFollow all logs
Section titled “Follow all logs”docker compose logs -fExport logs to file
Section titled “Export logs to file”docker compose logs > flowlike-logs.txtFull reset
Section titled “Full reset”If all else fails, start fresh:
# Stop and remove everythingdocker compose down -v
# Remove cached imagesdocker compose build --no-cache
# Start freshdocker compose up -d