Files
archy/DEMO-DEPLOY.md
Dorian a2aa9657b1 fix: prevent My Apps crash when installing apps + add filebrowser to demo
The My Apps page went blank after installing apps because pkg['static-files'].icon
was accessed without optional chaining on dynamically installed packages that lack
the static-files property.

- Make static-files optional in PackageDataEntry type
- Add defensive ?.icon access with fallback in Apps.vue and AppDetails.vue
- Add filebrowser to mock backend staticDevApps (enables Cloud page in demo)
- Expand portMappings and marketplaceMetadata for all marketplace apps
- installPackage now uses staticApp() format for consistent data shape

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 17:09:59 +00:00

1.4 KiB
Raw Blame History

Demo Deployment via Portainer

Deploy Archipelago with the mock backend for demos. No real node required.

Quick Deploy (Portainer)

  1. In Portainer: StacksAdd stack
  2. Name: archy-demo
  3. Web editor → paste contents of docker-compose.demo.yml
  4. Or Build from repository: use this repo URL and set Compose path to docker-compose.demo.yml
  5. Deploy

Access: http://your-host:4848

Mock Backend

  • Uses the Node.js mock backend (not the Rust backend)
  • Pre-loaded apps, fake data, simulated install/start/stop
  • Login password: password123

Port

Default: 4848. To change, edit the ports mapping in docker-compose.demo.yml:

ports:
  - "YOUR_PORT:80"

Chat (Claude AI)

Set ANTHROPIC_API_KEY in the Portainer stack environment to enable real AI chat:

  1. In the stack editor, add under Environment variables:
    • ANTHROPIC_API_KEY = your Anthropic API key (starts with sk-ant-api...)
  2. Redeploy the stack

Without this key, chat shows a "not configured" error. The key is passed to the neode-backend container which proxies requests to api.anthropic.com.

Dev Mode

VITE_DEV_MODE=existing skips setup/onboarding and goes straight to login. For other flows:

  • setup Password setup screen first
  • onboarding Experimental onboarding flow
  • existing Login only (default for demo)