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>
1.4 KiB
1.4 KiB
Demo Deployment via Portainer
Deploy Archipelago with the mock backend for demos. No real node required.
Quick Deploy (Portainer)
- In Portainer: Stacks → Add stack
- Name:
archy-demo - Web editor → paste contents of
docker-compose.demo.yml - Or Build from repository: use this repo URL and set Compose path to
docker-compose.demo.yml - 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:
- In the stack editor, add under Environment variables:
ANTHROPIC_API_KEY= your Anthropic API key (starts withsk-ant-api...)
- 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 firstonboarding– Experimental onboarding flowexisting– Login only (default for demo)