- Implemented Docker container scanning and periodic updates in the Server initialization. - Added new RPC endpoints for managing Docker containers, including start, stop, and restart functionalities. - Updated the API to handle package management for Docker-based applications. - Improved environment variable handling for user-specific configurations in Podman and Docker clients. - Enhanced the development startup script to include Docker container management and provide clearer instructions for full stack setup.
3.1 KiB
3.1 KiB
Dev Mode 2 - Docker Integration Fix
Problem
When running scripts/dev-start.sh and selecting option 2 (Full stack), the Docker containers (including Bitcoin Core) were not automatically started. The script only started the Rust backend and Vue frontend.
Solution
Updated scripts/dev-start.sh to automatically call start-docker-apps.sh before starting the backend and frontend.
What Changed
/Users/dorian/Projects/archy/scripts/dev-start.sh
Mode 2 (Full stack) now:
- ✅ Starts Docker containers first (
start-docker-apps.sh) - ✅ Starts Rust backend with Docker runtime enabled
- ✅ Starts Vue frontend
- ✅ Shows helpful message that Docker containers keep running
Manual instructions (option 6) now:
- Shows Docker startup as Terminal 1
- Shows correct environment variables
- Shows how to stop Docker apps
How to Use
Automatic (Recommended)
cd /Users/dorian/Projects/archy
./scripts/dev-start.sh
# Choose option 2: Full stack
This will now:
- Start all 13 Docker apps (Bitcoin Core, BTCPay, LND, Mempool, etc.)
- Start the Rust backend with Docker scanning enabled
- Start the Vue frontend
- Open http://localhost:8100
Manual (Advanced)
# Terminal 1: Docker Apps
cd /Users/dorian/Projects/archy
./start-docker-apps.sh
# Terminal 2: Backend
cd /Users/dorian/Projects/archy/core
export ARCHIPELAGO_CONTAINER_RUNTIME=docker
export ARCHIPELAGO_DEV_MODE=true
cargo run --bin archipelago
# Terminal 3: Frontend
cd /Users/dorian/Projects/archy/neode-ui
npm run dev
Docker Container Management
View running containers
docker ps
View logs
docker compose logs -f bitcoin
docker compose logs -f btcpay
Stop all containers
cd /Users/dorian/Projects/archy
./stop-docker-apps.sh
# OR
docker compose down
Restart a specific container
docker compose restart bitcoin
Bitcoin Core Status
Bitcoin Core is now:
- ✅ Running in Docker container
archy-bitcoin - ✅ Accessible on RPC port 18443
- ✅ In regtest mode (no blockchain sync)
- ✅ Scanned by Rust backend every 5 seconds
- ✅ Displayed in "My Apps" section
- ✅ Launch button opens custom glassmorphism UI in new tab
Architecture Flow
dev-start.sh (mode 2)
↓
start-docker-apps.sh
↓
docker-compose.yml (starts all 13 apps)
↓
Rust backend (scans Docker containers)
↓
Vue frontend (displays apps with real status)
Notes
- Docker containers keep running even after Ctrl+C
- This is intentional for faster restarts
- Use
docker compose downor./stop-docker-apps.shto stop them - First run will download ~3-5GB of Docker images
- Subsequent runs are instant
Related Files
/Users/dorian/Projects/archy/scripts/dev-start.sh- Main dev launcher/Users/dorian/Projects/archy/start-docker-apps.sh- Docker startup/Users/dorian/Projects/archy/stop-docker-apps.sh- Docker shutdown/Users/dorian/Projects/archy/docker-compose.yml- All 13 apps/Users/dorian/Projects/archy/core/archipelago/src/container/docker_packages.rs- Docker scanner/Users/dorian/Projects/archy/neode-ui/public/bitcoin-core.html- Bitcoin Core UI