- Revised README.md to clarify the use of Docker alongside Podman for containerization. - Updated API documentation to reflect new RPC endpoints, including `auth.logout`. - Enhanced WebSocket handling in the API for better connection management. - Modified Neode UI to utilize a curated list of Docker-based applications, replacing previous Start9 registry calls. - Improved error handling and logging in the marketplace for better user experience.
3.3 KiB
Archipelago Bitcoin Node OS
Next-generation Bitcoin Node OS built on Alpine Linux with Docker/Podman containerization.
🚀 New to Archipelago?
Get started in minutes: GETTING_STARTED.md
Quick reference: QUICK_REFERENCE_DOCKER.md
Overview
Archipelago is a modern Bitcoin Node OS focused on:
- Standard Containers: Docker for dev, Podman for production
- Minimal Base: Alpine Linux (130MB vs 1.5GB+)
- Security First: Rootless containers, hardened kernel
- Multi-Architecture: ARM64 (Raspberry Pi) + x86_64
Quick Start
Installation
First, install all required dependencies:
./INSTALL.sh
This will install:
- Rust (latest stable)
- Node.js 18+
- Podman (container runtime)
- PostgreSQL 15
- All project dependencies
Manual Installation: See SETUP_GUIDE.md for detailed installation instructions.
Verify Installation:
./verify-install.sh
Development Setup
-
Configure environment (optional):
cp core/.env.example core/.env cp neode-ui/.env.example neode-ui/.env -
Start development servers:
Quick start (mock backend for UI development):
./scripts/dev.shOr use the interactive starter:
./scripts/dev-start.shOr manually:
# Terminal 1: Backend cd core cargo run --bin archipelago # Terminal 2: Frontend cd neode-ui npm run dev -
Open in browser:
- Frontend: http://localhost:8100
- Backend API: http://localhost:5959
Mock Backend (UI Development Only)
For frontend-only development:
cd /Users/tx1138/Code/Archipelago/neode-ui
npm run dev:mock
Project Structure
Archipelago/
├── core/ # Rust backend
│ ├── archipelago/ # Main backend binary
│ ├── container/ # Container orchestration
│ ├── security/ # Security modules
│ └── models/ # Shared data models
├── neode-ui/ # Vue.js frontend (in Code/Archipelago)
├── apps/ # App manifests (NEW)
├── image-recipe/ # Alpine Linux build files
├── scripts/ # Development and build scripts
└── docs/ # Documentation
Development
See Development Setup Guide for detailed instructions.
Architecture
See Architecture Documentation for system design details.
App Manifests
See App Manifest Specification for creating containerized apps.
Features
- 🐧 Alpine Linux Base - Minimal 130MB OS
- 🐳 Podman Containers - Rootless, secure containerization
- 🔒 Security Hardened - AppArmor, secrets management, image verification
- ⚡ High Performance - Resource management, optimization
- 🔌 Parmanode Compatible - Run existing Parmanode modules
- 📱 Modern UI - Vue.js 3 with TypeScript
- 🌐 Web5 & Nostr - Decentralized protocols support
- 📡 Mesh Networking - Meshtastic and router support
Requirements
- Rust (latest stable)
- Node.js 18+
- Podman (for containers)
- PostgreSQL (for backend)
License
MIT