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 configRuntime 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=truePrevention
- Use latest image: v2.1+ includes the template optimization
- Persistent volumes: Mount user directories to avoid first-run setup
- Pre-warm containers: Keep a pool of initialized containers ready