- Added StateManager and data_model modules to manage application state. - Updated ApiHandler to utilize StateManager for WebSocket connections. - Enhanced Server initialization to include StateManager. - Implemented Docker container querying in Neode UI to populate app data dynamically. - Removed temporary dummy app configurations in favor of real Docker-based applications. - Improved WebSocket reconnection logic and error handling in the UI. - Updated package.json and package-lock.json to include dockerode dependency.
2.7 KiB
2.7 KiB
✅ DOCKER INTEGRATION COMPLETE
What Changed
The development environment now uses real Docker containers instead of dummy data.
Before
[Apps] Dummy apps available: 13 apps
[Apps] Returning dummy apps
Result: Fake data, no real apps
After
[Docker] Found 1 containers (1 running)
[Docker] Apps detected:
- Bitcoin Core (running) → http://localhost:18443
[Apps] Real packages from store: 1 apps
Result: Real Docker containers shown in UI
How to Use
1. Start Mock Backend
cd neode-ui
npm run backend:mock
Output:
[Docker] Querying running containers...
[Docker API: ✅ Connected
2. Start Docker Containers
# Start Bitcoin Core
docker compose up -d bitcoin
# Or start multiple
docker compose up -d bitcoin grafana homeassistant
3. Start UI
cd neode-ui
npm run dev
4. View in Browser
Open http://localhost:8100 → "My Apps"
You'll see:
- ✅ Real containers from docker-compose
- ✅ Correct status (running/stopped)
- ✅ Launch buttons that work
- ✅ Live updates every 5 seconds
What Works Now
Real Container Detection
- Backend queries Docker API every 5 seconds
- Detects all
archy-*containers - Shows real state (running/stopped)
- Extracts ports automatically
- Broadcasts updates via WebSocket
App Display
- Bitcoin Core appears when
archy-bitcoinruns - Grafana appears when
archy-grafanaruns - All 13 apps supported (see docker-compose.yml)
- Alphabetically sorted
- Status badges (green=running, gray=stopped)
Launch Functionality
- Launch button enabled when app is running
- Opens correct port (http://localhost:18443 for Bitcoin)
- All ports mapped correctly
Console is Clean
No more:
- ❌ "Dummy apps available"
- ❌ "Returning dummy apps"
- ❌ External API errors (Start9, GitHub)
Now shows:
- ✅ "Real packages from store"
- ✅ Actual container count
- ✅ Clean logs
Files Modified
- neode-ui/package.json - Added
dockerode - neode-ui/mock-backend.js - Docker API integration
- neode-ui/src/views/Apps.vue - Removed dummy logic
Testing Completed
✅ Backend connects to Docker API
✅ Detects running Bitcoin container
✅ Shows correct app data in UI
✅ Live updates work (5-second poll)
✅ Launch button opens correct URL
✅ Console output is clean
Next: Start All Apps
To see the full app list:
cd /Users/dorian/Projects/archy
docker compose up -d
This starts all 13+ apps defined in docker-compose.yml. They'll automatically appear in "My Apps" within 5 seconds.
Status: ✅ COMPLETE - Real Docker integration working No more dummy data - Only real containers shown