2.5 KiB
2.5 KiB
Quick Start Guide - Archipelago Apps
This guide will help you get all prepackaged apps running in your development environment.
Prerequisites
-
Container Runtime: Podman or Docker
# Check if available podman --version # or docker --version -
Node.js (for custom apps): v18+
node --version -
Archipelago Backend: Running in dev mode
cd core ARCHIPELAGO_DEV_MODE=true cargo run --bin archipelago
Building Apps
Build All Apps
cd apps
./build.sh
This will build all apps that have Dockerfiles. Standard apps (bitcoin-core, lnd, etc.) will use their official images, while custom apps (router, did-wallet, web5-dwn) will be built from source.
Build Specific App
./build.sh router
./build.sh did-wallet
./build.sh web5-dwn
Running Apps via Archipelago
Once the backend is running, you can install and start apps via:
- UI: Navigate to http://localhost:8100 and use the Apps/Marketplace interface
- RPC: Use the container-install RPC method
curl -X POST http://localhost:5959/rpc/v1 \
-H "Content-Type: application/json" \
-d '{
"method": "container-install",
"params": {
"manifest_path": "apps/router/manifest.yml"
}
}'
Port Access
In development mode, apps are accessible on offset ports:
- Router: http://localhost:18084
- DID Wallet: http://localhost:18083
- Web5 DWN: http://localhost:13000
- Nostr RS Relay: http://localhost:18081
- Strfry: http://localhost:18082
See PORTS.md for complete port mapping.
Development Workflow
For Custom Apps (router, did-wallet, web5-dwn)
- Make changes to source code in
apps/<app-id>/src/ - Rebuild the container:
./build.sh <app-id> - Restart the container via Archipelago UI or RPC
For Standard Apps
Standard apps use official images. To customize:
- Create a custom Dockerfile that extends the official image
- Add your customizations
- Update the manifest to use your custom image
Testing Locally
You can test apps directly without Archipelago:
# Build
./build.sh router
# Run
docker run -p 18084:8080 \
-v /tmp/archipelago-dev/router:/app/data \
archipelago/router:latest
Next Steps
- Read DEVELOPMENT.md for detailed development information
- Check PORTS.md for port assignments
- Review individual app READMEs for app-specific details