archy/apps/QUICKSTART.md
2026-01-24 23:18:24 +00:00

2.5 KiB

Quick Start Guide - Archipelago Apps

This guide will help you get all prepackaged apps running in your development environment.

Prerequisites

  1. Container Runtime: Podman or Docker

    # Check if available
    podman --version  # or docker --version
    
  2. Node.js (for custom apps): v18+

    node --version
    
  3. 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:

  1. UI: Navigate to http://localhost:8100 and use the Apps/Marketplace interface
  2. 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:

See PORTS.md for complete port mapping.

Development Workflow

For Custom Apps (router, did-wallet, web5-dwn)

  1. Make changes to source code in apps/<app-id>/src/
  2. Rebuild the container:
    ./build.sh <app-id>
    
  3. Restart the container via Archipelago UI or RPC

For Standard Apps

Standard apps use official images. To customize:

  1. Create a custom Dockerfile that extends the official image
  2. Add your customizations
  3. 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