- Added new dependencies: `adler2`, `crc32fast`, `flate2`, `miniz_oxide`, and `libredox`. - Updated existing dependencies: `tokio-rustls` to version 0.26.4 and `filetime` to version 0.2.27. - Removed the `backup.rs` file as it is no longer needed. - Introduced tests for configuration and credential management. - Enhanced the `identity` module to generate W3C compliant DID documents. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
422 lines
13 KiB
Markdown
422 lines
13 KiB
Markdown
# Archipelago User Guide
|
||
|
||
Welcome to Archipelago — your personal server for a sovereign digital life. This guide walks you through everything from first boot to daily usage.
|
||
|
||
## Table of Contents
|
||
|
||
1. [First-Time Setup](#first-time-setup)
|
||
2. [Onboarding Walkthrough](#onboarding-walkthrough)
|
||
3. [Dashboard Overview](#dashboard-overview)
|
||
4. [Installing Apps](#installing-apps)
|
||
5. [Managing Apps](#managing-apps)
|
||
6. [Bitcoin Node](#bitcoin-node)
|
||
7. [Lightning Network (LND)](#lightning-network-lnd)
|
||
8. [Cloud Storage](#cloud-storage)
|
||
9. [Identity & Web5](#identity--web5)
|
||
10. [Settings](#settings)
|
||
11. [Backup & Restore](#backup--restore)
|
||
12. [Remote Access](#remote-access)
|
||
13. [Troubleshooting](#troubleshooting)
|
||
|
||
---
|
||
|
||
## First-Time Setup
|
||
|
||
### What You Need
|
||
|
||
- A dedicated computer (Intel/AMD x86_64 or ARM64)
|
||
- 16 GB RAM minimum (32 GB recommended)
|
||
- 500 GB+ SSD/NVMe storage
|
||
- Ethernet connection to your home router
|
||
- A USB drive (8 GB+) for the installer
|
||
|
||
### Flashing the Installer
|
||
|
||
1. Download the latest Archipelago ISO from the releases page
|
||
2. Flash the ISO to a USB drive using [balenaEtcher](https://etcher.balena.io/) or `dd`
|
||
3. Insert the USB into your target machine and boot from it
|
||
4. The auto-installer partitions your disk, installs Debian 12, and sets up all Archipelago services
|
||
5. When complete, the installer prompts you to remove the USB and reboot
|
||
|
||
### Finding Your Server
|
||
|
||
After reboot, Archipelago starts automatically. Find your server on your local network:
|
||
|
||
- **Default address**: `http://archipelago.local` (if mDNS works on your network)
|
||
- **IP address**: Check your router's DHCP client list for the new device
|
||
- **Direct**: Connect a monitor — the IP is displayed on the console login screen
|
||
|
||
Open your browser and navigate to the server address. You should see the Archipelago welcome screen.
|
||
|
||
---
|
||
|
||
## Onboarding Walkthrough
|
||
|
||
On first visit, Archipelago guides you through a 7-step onboarding process.
|
||
|
||
### Step 1: Welcome Screen
|
||
|
||
A cinematic intro video plays. Click **"Begin"** to start setup.
|
||
|
||
### Step 2: Create Admin Password
|
||
|
||
Set your admin password. This password protects:
|
||
- The web interface login
|
||
- SSH access to your server
|
||
- Encrypted secrets on disk
|
||
|
||
**Requirements**: Minimum 8 characters. Choose something strong — this protects your entire server.
|
||
|
||
### Step 3: Choose Your Path
|
||
|
||
Select the sovereign use case that interests you most:
|
||
- **Self Sovereignty** — Own your data, identity, and digital life
|
||
- **Community Commerce** — Peer-to-peer commerce on Bitcoin
|
||
- **Sovereign Projects** — Collaborative workspace without third parties
|
||
- **Data Transmitter** — Run relays and network services
|
||
- **Hoster** — Monetize hosting capacity
|
||
- **Sovereign AI** — Run AI models locally, no surveillance
|
||
|
||
This is informational — all features are available regardless of your choice.
|
||
|
||
### Step 4: Setup Type
|
||
|
||
Choose **Fresh Start** for a new installation. (Restore from backup and connect to existing server are coming in future releases.)
|
||
|
||
### Step 5: Generate Your Identity (DID)
|
||
|
||
Archipelago generates a Decentralized Identifier (DID) for you. This is your sovereign digital identity — it proves you are you without any company in the middle.
|
||
|
||
- Your DID is displayed on screen — copy it if you like
|
||
- This identity is stored locally on your server
|
||
- It's used for passwordless authentication and Web5 features
|
||
|
||
Wait for the server health check to complete (1–3 minutes on first boot as services start up).
|
||
|
||
### Step 6: Name Your Identity
|
||
|
||
Give your identity a name (e.g., "Personal", "Business") and choose its purpose. This is optional and can be changed later.
|
||
|
||
### Step 7: Create a Backup
|
||
|
||
**Important**: Set a passphrase and download your identity backup file (`archipelago-did-backup.json`). Store this file securely — it's the only way to recover your identity if your server is lost.
|
||
|
||
### Done
|
||
|
||
After completing onboarding, you're taken to the Dashboard.
|
||
|
||
---
|
||
|
||
## Dashboard Overview
|
||
|
||
The Dashboard is your home screen with two tabs:
|
||
|
||
### Dashboard Tab
|
||
|
||
Quick overview cards showing:
|
||
|
||
- **My Apps** — How many apps are installed and running. Quick links to browse the store or manage apps.
|
||
- **Cloud** — Storage usage and folder count. Access your files.
|
||
- **Server** — Connection status and system health.
|
||
- **Web5** — DID status, wallet connection, and Nostr relay count.
|
||
|
||
### Setup Tab
|
||
|
||
Goal-based guided setup cards for first-time users. These walk you through installing and configuring recommended apps step by step.
|
||
|
||
---
|
||
|
||
## Installing Apps
|
||
|
||
### From the App Store
|
||
|
||
1. Navigate to **App Store** from the sidebar (desktop) or bottom bar (mobile)
|
||
2. Browse by category (Finance, Storage, Communication, Network, etc.) or search by name
|
||
3. Click an app to see its details
|
||
4. Click **Install**
|
||
|
||
### Installation Progress
|
||
|
||
When you install an app, a progress banner appears at the top of the App Store showing:
|
||
- Download progress (percentage and MB downloaded)
|
||
- Current status (Downloading, Installing, Starting)
|
||
|
||
Most apps take 1–5 minutes to install depending on image size and network speed.
|
||
|
||
### Dependency Resolution
|
||
|
||
Some apps require others to be running first:
|
||
- **Electrs** requires Bitcoin Knots
|
||
- **LND** requires Bitcoin Knots
|
||
- **Mempool** requires Bitcoin Knots + Electrs
|
||
- **BTCPay Server** requires Bitcoin Knots
|
||
|
||
The App Store shows dependency requirements and offers to install them automatically.
|
||
|
||
### Available Apps
|
||
|
||
| App | Category | Description |
|
||
|-----|----------|-------------|
|
||
| Bitcoin Knots | Finance | Full Bitcoin node with enhanced features |
|
||
| Electrs | Finance | Electrum server for wallet connectivity |
|
||
| LND | Finance | Lightning Network node for instant payments |
|
||
| BTCPay Server | Finance | Self-hosted payment processor |
|
||
| Mempool | Finance | Bitcoin blockchain explorer |
|
||
| Fedimint | Finance | Federated e-cash and community banking |
|
||
| File Browser | Storage | Web-based file manager |
|
||
| Immich | Storage | Photo and video management (Google Photos alternative) |
|
||
| PhotoPrism | Storage | AI-powered photo organizer |
|
||
| Penpot | Productivity | Open-source design tool (Figma alternative) |
|
||
| SearXNG | Privacy | Privacy-respecting metasearch engine |
|
||
| Ollama | AI | Run large language models locally |
|
||
| Nostr Relay | Network | Decentralized social protocol relay |
|
||
| Nginx Proxy Manager | Network | Reverse proxy with SSL management |
|
||
| Home Assistant | IoT | Smart home automation |
|
||
| Tailscale | Network | Zero-config VPN for remote access |
|
||
|
||
---
|
||
|
||
## Managing Apps
|
||
|
||
### My Apps View
|
||
|
||
Navigate to **My Apps** to see all installed applications in a grid view. Each card shows:
|
||
- App icon and name
|
||
- Status badge (Running, Stopped, Installing)
|
||
- Version number
|
||
|
||
### App Actions
|
||
|
||
Click an app to open its details page. Available actions:
|
||
|
||
- **Launch** — Open the app's web interface
|
||
- **Start** — Start a stopped app
|
||
- **Stop** — Stop a running app
|
||
- **Restart** — Restart the app
|
||
- **Uninstall** — Remove the app and its container (data volumes are preserved)
|
||
|
||
### App Interfaces
|
||
|
||
Most apps open in an embedded view within Archipelago. Some apps (BTCPay Server, Home Assistant) open in a new browser tab due to security restrictions.
|
||
|
||
---
|
||
|
||
## Bitcoin Node
|
||
|
||
### First-Time Bitcoin Setup
|
||
|
||
1. Install **Bitcoin Knots** from the App Store
|
||
2. The node begins syncing the blockchain automatically
|
||
3. Initial sync takes 1–7 days depending on your hardware and connection
|
||
4. Monitor sync progress by launching the Bitcoin Knots interface
|
||
|
||
### What Bitcoin Knots Provides
|
||
|
||
- Full validation of all Bitcoin transactions
|
||
- Privacy — no third party sees your wallet queries
|
||
- Foundation for Lightning (LND), Electrs, Mempool, and BTCPay
|
||
|
||
### Bitcoin Data Location
|
||
|
||
Bitcoin blockchain data is stored at `/var/lib/archipelago/bitcoin-knots/` on the server. Plan for 600+ GB of storage.
|
||
|
||
---
|
||
|
||
## Lightning Network (LND)
|
||
|
||
### Setup
|
||
|
||
1. Ensure Bitcoin Knots is installed and running
|
||
2. Install **LND** from the App Store
|
||
3. LND connects to your Bitcoin node automatically
|
||
|
||
### Managing Channels
|
||
|
||
Navigate to **My Apps → LND → Channels** to:
|
||
- View open channels and their balances
|
||
- Open new channels to peers
|
||
- Close existing channels
|
||
|
||
### Integration with BTCPay
|
||
|
||
When both LND and BTCPay Server are installed, BTCPay automatically detects LND and enables Lightning payments. No manual configuration needed.
|
||
|
||
---
|
||
|
||
## Cloud Storage
|
||
|
||
### File Browser
|
||
|
||
The built-in File Browser gives you web-based access to your server's files.
|
||
|
||
1. Navigate to **Cloud** from the sidebar
|
||
2. Click **File Browser** to open it
|
||
3. Upload, download, create folders, and manage files
|
||
|
||
### Photo Management (Immich)
|
||
|
||
For photo and video management similar to Google Photos:
|
||
|
||
1. Install **Immich** from the App Store
|
||
2. Access it from the Cloud section
|
||
3. Upload photos/videos or use the Immich mobile app to auto-backup your phone
|
||
|
||
### Storage Location
|
||
|
||
All cloud data is stored under `/var/lib/archipelago/` on your server's disk.
|
||
|
||
---
|
||
|
||
## Identity & Web5
|
||
|
||
### Your Decentralized Identifier (DID)
|
||
|
||
Your DID is a globally unique identifier that you control. Navigate to **Web5** to see:
|
||
|
||
- Your DID string (copy it to share)
|
||
- Wallet connection status
|
||
- Connected Nostr relays
|
||
|
||
### Nostr Relay
|
||
|
||
If you've installed the Nostr Relay, it runs locally on your server. You can use it with any Nostr client by adding your server's relay URL.
|
||
|
||
### DID Features (Coming Soon)
|
||
|
||
- Verifiable credentials
|
||
- Passwordless authentication to other services
|
||
- Data portability between servers
|
||
|
||
---
|
||
|
||
## Settings
|
||
|
||
Navigate to **Settings** from the sidebar.
|
||
|
||
### Account Information
|
||
|
||
- **Server Name** — Your server's display name
|
||
- **Version** — Current Archipelago version
|
||
- **DID** — Your Decentralized Identifier (with copy button)
|
||
- **Tor Address** — Your .onion address for Tor access (with copy button)
|
||
|
||
### Change Password
|
||
|
||
1. Click **Change Password**
|
||
2. Enter your current password
|
||
3. Enter and confirm your new password (12+ characters, must include uppercase, lowercase, digit, and special character)
|
||
4. All other active sessions are invalidated after password change
|
||
|
||
### Two-Factor Authentication (2FA)
|
||
|
||
1. Click **Enable 2FA** in Settings
|
||
2. Scan the QR code with your authenticator app (Google Authenticator, Authy, etc.)
|
||
3. Enter the 6-digit code to verify
|
||
4. Save your backup codes securely — they're the only way to log in if you lose your authenticator
|
||
|
||
### Logout
|
||
|
||
Click **Logout** to end your session. You'll be redirected to the login screen.
|
||
|
||
---
|
||
|
||
## Backup & Restore
|
||
|
||
### Identity Backup
|
||
|
||
During onboarding, you created an identity backup file. To create a new one:
|
||
|
||
1. Go to **Settings**
|
||
2. Look for backup options (identity backup is tied to your DID)
|
||
|
||
### App Data
|
||
|
||
App data is stored in `/var/lib/archipelago/{app-id}/` on the server. To back up:
|
||
|
||
1. Use File Browser to download important files
|
||
2. Or SSH into the server and use standard backup tools (rsync, tar)
|
||
|
||
### Full System Recovery
|
||
|
||
If your server fails:
|
||
|
||
1. Flash a new USB installer and install on replacement hardware
|
||
2. During onboarding, choose **Restore from Backup** (when available)
|
||
3. Upload your `archipelago-did-backup.json` file
|
||
4. Re-install your apps from the App Store
|
||
|
||
---
|
||
|
||
## Remote Access
|
||
|
||
### Local Network
|
||
|
||
Your Archipelago server is accessible on your home network at its IP address or `http://archipelago.local`.
|
||
|
||
### Tor (Built-in)
|
||
|
||
Every Archipelago server has a Tor hidden service. Your `.onion` address is shown in Settings. Access it via Tor Browser from anywhere in the world — no port forwarding required.
|
||
|
||
### Tailscale (Recommended)
|
||
|
||
For easy, secure remote access without Tor:
|
||
|
||
1. Install **Tailscale** from the App Store
|
||
2. Launch it and sign in with your Tailscale account
|
||
3. Install Tailscale on your phone/laptop
|
||
4. Access your server from anywhere via its Tailscale IP
|
||
|
||
See [Tailscale Setup Guide](USER-GUIDE-TAILSCALE.md) for detailed instructions.
|
||
|
||
---
|
||
|
||
## Troubleshooting
|
||
|
||
### Can't Find Server on Network
|
||
|
||
- Ensure the server is powered on and connected to your router via Ethernet
|
||
- Check your router's DHCP client list for the server's IP
|
||
- Try `http://archipelago.local` (requires mDNS support)
|
||
- Connect a monitor to see the IP displayed on the console
|
||
|
||
### Login Issues
|
||
|
||
- **Forgot password**: Connect a monitor and keyboard. Log in at the console and run the password reset tool
|
||
- **2FA locked out**: Use your backup codes on the login screen (click "Use backup code")
|
||
- **Session expired**: Sessions expire after 24 hours of inactivity. Simply log in again.
|
||
|
||
### App Won't Start
|
||
|
||
- Check if dependent apps are running (e.g., Bitcoin Knots must run before Electrs)
|
||
- Try stopping and starting the app again
|
||
- Check app logs in **My Apps → [App] → Logs**
|
||
- Restart the Archipelago service: SSH in and run `sudo systemctl restart archipelago`
|
||
|
||
### Bitcoin Node Sync Issues
|
||
|
||
- Initial sync can take several days — this is normal
|
||
- Ensure your server has a reliable internet connection
|
||
- Check available disk space: Bitcoin needs 600+ GB
|
||
|
||
### WebSocket Disconnected
|
||
|
||
The UI shows a "Reconnecting..." banner if the WebSocket connection drops.
|
||
- This auto-recovers within 30 seconds
|
||
- If persistent, check that the backend service is running: `sudo systemctl status archipelago`
|
||
- Hard refresh the browser (Ctrl+Shift+R)
|
||
|
||
### Server Unresponsive
|
||
|
||
If the web UI is unreachable:
|
||
|
||
1. SSH into the server: `ssh archipelago@<your-ip>`
|
||
2. Check service status: `sudo systemctl status archipelago`
|
||
3. Restart if needed: `sudo systemctl restart archipelago`
|
||
4. Check system resources: `free -h` (RAM), `df -h` (disk)
|
||
|
||
### Getting Help
|
||
|
||
- Check the [Architecture Guide](architecture.md) for technical details
|
||
- File issues at the project repository
|
||
- Join the community for support
|