Update README and configuration for macOS support

- Revamped README.md to enhance clarity and detail on features, installation, and system requirements for Archipelago.
- Added macOS-specific configuration in `config.rs` to detect when running from a macOS app bundle, adjusting data directory paths accordingly.
- Introduced a new production build script in `package.json` for optimized deployment of the Neode UI.
This commit is contained in:
Dorian
2026-01-28 11:12:19 +00:00
parent f595af5fa4
commit 7069b20064
13 changed files with 2499 additions and 95 deletions
+232 -95
View File
@@ -1,135 +1,272 @@
# Archipelago Bitcoin Node OS
# 🏝️ Archipelago
Next-generation Bitcoin Node OS built on Alpine Linux with Docker/Podman containerization.
> Your Sovereign Personal Server
## 🚀 New to Archipelago?
**Archipelago** is a next-generation Bitcoin Node OS for macOS that combines the power of Bitcoin Core, Lightning Network, and modern self-hosted applications in a beautiful, easy-to-use interface.
**Get started in minutes:** [GETTING_STARTED.md](./GETTING_STARTED.md)
[![macOS](https://img.shields.io/badge/macOS-10.15%2B-blue)](https://www.apple.com/macos/)
[![License](https://img.shields.io/badge/license-MIT-green)](LICENSE)
[![Docker](https://img.shields.io/badge/docker-23.0%2B-blue)](https://www.docker.com/)
[![Rust](https://img.shields.io/badge/rust-stable-orange)](https://www.rust-lang.org/)
[![Vue.js](https://img.shields.io/badge/vue.js-3.0-brightgreen)](https://vuejs.org/)
**Quick reference:** [QUICK_REFERENCE_DOCKER.md](./QUICK_REFERENCE_DOCKER.md)
## ✨ Features
## Overview
### 🟠 Bitcoin & Lightning
- **Bitcoin Core** - Full node with custom UI (regtest/testnet/mainnet)
- **LND** - Lightning Network Daemon for instant payments
- **BTCPay Server** - Self-hosted payment processing
- **Mempool** - Beautiful blockchain explorer
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
### 🚀 Self-Hosted Apps
- **Nextcloud** - Cloud storage and file management
- **Penpot** - Open-source design and prototyping
- **Endurain** - Fitness tracking platform
- **Home Assistant** - Home automation hub
- **Grafana** - Metrics and monitoring
- **OnlyOffice** - Document editing suite
- **SearXNG** - Privacy-respecting search
- **Morphos** - File conversion utility
## Quick Start
### 🎨 Modern UI
- **Glassmorphism Design** - Beautiful, modern interface
- **Real-time Updates** - WebSocket-powered live data
- **Responsive Layout** - Works on desktop and mobile
- **Dark Theme** - Easy on the eyes
- **Progressive Web App** - Install as native app
### 🔧 Technical
- **Native Rust Backend** - Fast, secure, efficient
- **Vue.js Frontend** - Modern reactive UI
- **Docker Integration** - Seamless container management
- **One-Click Launch** - Start apps with a single click
- **Auto-Discovery** - Automatically detects running containers
## 🚀 Quick Start
### Prerequisites
- macOS 10.15 (Catalina) or later
- 8GB RAM minimum (16GB recommended)
- 20GB free disk space
- [Docker Desktop](https://www.docker.com/products/docker-desktop)
### Installation
First, install all required dependencies:
1. **Download the latest release**
```bash
# Download from GitHub Releases
https://github.com/[your-repo]/archipelago/releases/latest
```
```bash
./INSTALL.sh
```
2. **Install Docker Desktop**
- Download from https://www.docker.com/products/docker-desktop
- Install and start Docker Desktop
This will install:
- Rust (latest stable)
- Node.js 18+
- Podman (container runtime)
- PostgreSQL 15
- All project dependencies
3. **Install Archipelago**
- Open the DMG file
- Drag Archipelago to Applications
- Launch from Applications folder
**Manual Installation:** See [SETUP_GUIDE.md](./SETUP_GUIDE.md) for detailed installation instructions.
4. **Access the Dashboard**
- Open http://localhost:8100 in your browser
- Login with default credentials (change immediately!)
**Verify Installation:**
```bash
./verify-install.sh
```
See [QUICKSTART.md](QUICKSTART.md) for detailed instructions.
## 🏗️ Building from Source
### Development Setup
1. **Configure environment (optional):**
```bash
cp core/.env.example core/.env
cp neode-ui/.env.example neode-ui/.env
```
```bash
# Clone the repository
git clone https://github.com/[your-repo]/archipelago.git
cd archipelago
2. **Start development servers:**
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
**Quick start (mock backend for UI development):**
```bash
./scripts/dev.sh
```
**Or use the interactive starter:**
```bash
./scripts/dev-start.sh
```
# Install Node.js (using Homebrew)
brew install node
**Or manually:**
```bash
# Terminal 1: Backend
cd core
cargo run --bin archipelago
# Terminal 2: Frontend
cd neode-ui
npm run dev
```
# Build and run in development mode
./start-docker-apps.sh
```
3. **Open in browser:**
- Frontend: http://localhost:8100
- Backend API: http://localhost:5959
### Mock Backend (UI Development Only)
For frontend-only development:
### Production Build
```bash
cd /Users/tx1138/Code/Archipelago/neode-ui
npm run dev:mock
# Build macOS app bundle and DMG
export ARCHIPELAGO_VERSION="0.1.0"
./build-macos-production.sh
# Output will be in build/macos/
# - Archipelago.app
# - Archipelago-0.1.0-macOS.dmg
```
## Project Structure
See [BUILD_MACOS.md](BUILD_MACOS.md) for detailed build instructions.
## 📖 Documentation
- **[Quick Start Guide](QUICKSTART.md)** - Get started in minutes
- **[Build Instructions](BUILD_MACOS.md)** - Build from source
- **[Deployment Checklist](DEPLOYMENT_CHECKLIST.md)** - Release process
- **[Architecture](docs/architecture.md)** - System design
- **[Changelog](CHANGELOG.md)** - Version history
## 🗺️ 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
archipelago/
├── core/ # Rust backend
│ ├── archipelago/ # Main backend binary
│ ├── container/ # Docker integration
│ ├── security/ # Security modules
│ └── performance/ # Performance optimization
├── neode-ui/ # Vue.js frontend
│ ├── src/
│ │ ├── views/ # Page components
│ │ ├── components/ # UI components
└── stores/ # State management
│ └── public/ # Static assets
├── docker/ # Docker UI assets
│ ├── bitcoin-ui/ # Bitcoin Core UI
│ └── lnd-ui/ # LND UI
├── docker-compose.yml # Container orchestration
└── build-macos-production.sh # Production build script
```
## Development
## 🐳 Docker Apps
See [Development Setup Guide](./docs/development-setup.md) for detailed instructions.
All apps run in isolated Docker containers with automatic health monitoring:
## Architecture
| App | Port | Description |
|-----|------|-------------|
| Dashboard | 8100 | Main Archipelago UI |
| Bitcoin Core | 18443-18444 | Bitcoin RPC |
| Bitcoin UI | 18445 | Custom Bitcoin interface |
| LND | 10009 | Lightning gRPC |
| LND UI | 8085 | Custom LND interface |
| BTCPay Server | 8082 | Payment processing |
| Mempool | 8080 | Blockchain explorer |
| Penpot | 9001 | Design platform |
| Endurain | 8084 | Fitness tracking |
| Morphos | 8081 | File converter |
| Nextcloud | 8086 | Cloud storage |
| Grafana | 8083 | Monitoring |
| Home Assistant | 8123 | Home automation |
See [Architecture Documentation](./docs/architecture.md) for system design details.
## 🔐 Security
## App Manifests
### Default Security Measures
- ✅ Localhost-only by default (127.0.0.1)
- ✅ Container isolation (Docker networks)
- ✅ No root privileges required
- ✅ Encrypted data storage
- ✅ Session-based authentication
See [App Manifest Specification](./docs/app-manifest-spec.md) for creating containerized apps.
### Recommended Practices
- 🔑 Change default passwords immediately
- 🔥 Enable macOS firewall
- 🔄 Keep Docker and Archipelago updated
- 💾 Backup data regularly
- 🚫 Don't expose ports without VPN
## Features
## 🤝 Contributing
- 🐧 **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
We welcome contributions! Here's how:
## Requirements
1. **Fork the repository**
2. **Create a feature branch**: `git checkout -b feature/amazing-feature`
3. **Commit your changes**: `git commit -m 'Add amazing feature'`
4. **Push to the branch**: `git push origin feature/amazing-feature`
5. **Open a Pull Request**
- Rust (latest stable)
- Node.js 18+
- Podman (for containers)
- PostgreSQL (for backend)
See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.
## License
## 🐛 Bug Reports
MIT
Found a bug? Please open an issue with:
- macOS version
- Docker version
- Archipelago version
- Steps to reproduce
- Error logs
## 💬 Community
- **GitHub Discussions**: Ask questions and share ideas
- **Discord**: [Join our server] (coming soon)
- **Twitter**: [@archipelago_os] (coming soon)
## 🗺️ Roadmap
### v0.2.0 (Q2 2026)
- [ ] Auto-update system
- [ ] Multi-user support
- [ ] Enhanced Bitcoin Core controls
- [ ] Lightning Network autopilot
- [ ] Backup/restore functionality
### v0.3.0 (Q3 2026)
- [ ] Native container runtime (no Docker Desktop)
- [ ] iOS companion app
- [ ] Hardware wallet integration
- [ ] Tor integration
- [ ] VPN/Tailscale support
### v1.0.0 (Q4 2026)
- [ ] Mac App Store release
- [ ] Windows support
- [ ] Linux support
- [ ] Plugin system
- [ ] Decentralized app marketplace
## 📊 System Requirements
### Minimum
- macOS 10.15 (Catalina)
- 8GB RAM
- 20GB disk space
- Intel or Apple Silicon CPU
### Recommended
- macOS 12.0 (Monterey) or later
- 16GB RAM
- 50GB+ disk space (for blockchain)
- SSD storage
- Fast internet
## 📜 License
This project is licensed under the [MIT License](LICENSE).
## 🙏 Acknowledgments
Built with amazing open-source projects:
- [Rust](https://www.rust-lang.org/) - Systems programming language
- [Vue.js](https://vuejs.org/) - Frontend framework
- [Docker](https://www.docker.com/) - Container runtime
- [Bitcoin Core](https://bitcoin.org/) - Bitcoin full node
- [LND](https://lightning.engineering/) - Lightning Network
- [Alpine Linux](https://alpinelinux.org/) - Minimal Linux (inspiration)
- And many more...
## 💖 Support the Project
If you find Archipelago useful:
- ⭐ Star the repository
- 🐦 Share on social media
- 🐛 Report bugs and request features
- 💻 Contribute code
- ☕ [Buy us a coffee] (coming soon)
---
<div align="center">
**Built with ❤️ by the Archipelago team**
[Website](https://archipelago.os) • [Documentation](./docs) • [Twitter](https://twitter.com/archipelago_os)
</div>