archy/REAL_DOCKER_COMPLETE.md
Dorian 3b3f70276f Integrate Docker support into Archipelago and Neode UI
- 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.
2026-01-27 23:06:18 +00:00

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-bitcoin runs
  • Grafana appears when archy-grafana runs
  • 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

  1. neode-ui/package.json - Added dockerode
  2. neode-ui/mock-backend.js - Docker API integration
  3. 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