Troubleshooting Slow Container Startup

Troubleshooting Slow Container Startup

Calliope Integration: This component is integrated into the Calliope AI platform. Some features and configurations may differ from the upstream project.

Issue: Containers stuck in “Created” state for 10+ minutes

This was a known issue in WAIIDE v2.0 where the entrypoint script performed extensive file copying at runtime.

Solution (v2.1+)

The latest WAIIDE uses a pre-built user template created at build time:

Build-Time Optimization

# Template created during Docker build
/opt/calliope/user-template/
├── .WAIIDE-server/
│   ├── extensions/     # Pre-filtered extensions (no test/dev extensions)
│   └── data/          # Default settings
├── workspace/         # Welcome content
└── .jupyter/         # Jupyter config

Runtime Optimization

# Old approach: Loop through extensions (slow)
for ext in /opt/calliope/WAIIDE-server/extensions/*; do
    cp -r "$ext" "$USER_HOME/.WAIIDE-server/extensions/"
done

# New approach: Single template copy (fast)
cp -r /opt/calliope/user-template/* "$USER_HOME/"

Expected Startup Times

  • First run: 5-10 seconds (template copy)
  • Subsequent runs: 2-3 seconds (no copy needed)

Verification

Check logs for the new fast startup:

🚀 First run detected - setting up user environment from template...
✅ User environment ready!

Instead of the old slow pattern:

📦 Copying system extensions to user directory...
   📁 Copying extension-1
   📁 Copying extension-2
   ...

Rollback

If you need the old behavior, set:

WAIIDE_LEGACY_SETUP=true

Prevention

  1. Use latest image: v2.1+ includes the template optimization
  2. Persistent volumes: Mount user directories to avoid first-run setup
  3. Pre-warm containers: Keep a pool of initialized containers ready