100 lines
2.5 KiB
Markdown
100 lines
2.5 KiB
Markdown
|
|
# Archipelago Bitcoin Node OS
|
||
|
|
|
||
|
|
Next-generation Bitcoin Node OS built on Alpine Linux with Podman containerization.
|
||
|
|
|
||
|
|
## Quick Start
|
||
|
|
|
||
|
|
### Development Setup
|
||
|
|
|
||
|
|
1. **Run setup script (optional):**
|
||
|
|
```bash
|
||
|
|
./scripts/dev-setup.sh
|
||
|
|
```
|
||
|
|
|
||
|
|
2. **Start development servers:**
|
||
|
|
|
||
|
|
**Quick start (mock backend for UI development):**
|
||
|
|
```bash
|
||
|
|
./scripts/dev.sh
|
||
|
|
```
|
||
|
|
|
||
|
|
**Or use the interactive starter:**
|
||
|
|
```bash
|
||
|
|
./scripts/dev-start.sh
|
||
|
|
```
|
||
|
|
|
||
|
|
**Or manually:**
|
||
|
|
```bash
|
||
|
|
# Terminal 1: Backend
|
||
|
|
cd /Users/tx1138/Code/Archipelago/core
|
||
|
|
cargo run --bin startbox
|
||
|
|
|
||
|
|
# Terminal 2: Frontend
|
||
|
|
cd /Users/tx1138/Code/Archipelago/neode-ui
|
||
|
|
npm run dev
|
||
|
|
```
|
||
|
|
|
||
|
|
3. **Open in browser:**
|
||
|
|
- Frontend: http://localhost:8100
|
||
|
|
- Backend API: http://localhost:5959
|
||
|
|
|
||
|
|
### Mock Backend (UI Development Only)
|
||
|
|
|
||
|
|
For frontend-only development:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd /Users/tx1138/Code/Archipelago/neode-ui
|
||
|
|
npm run dev:mock
|
||
|
|
```
|
||
|
|
|
||
|
|
## Project Structure
|
||
|
|
|
||
|
|
```
|
||
|
|
Archipelago/
|
||
|
|
├── core/ # Rust backend
|
||
|
|
│ ├── container/ # Container orchestration (NEW)
|
||
|
|
│ ├── parmanode/ # Parmanode compatibility (NEW)
|
||
|
|
│ ├── security/ # Security modules (NEW)
|
||
|
|
│ ├── performance/ # Performance optimization (NEW)
|
||
|
|
│ └── startos/ # Main backend (in Code/Archipelago)
|
||
|
|
├── 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](./docs/development-setup.md) for detailed instructions.
|
||
|
|
|
||
|
|
## Architecture
|
||
|
|
|
||
|
|
See [Architecture Documentation](./docs/architecture.md) for system design details.
|
||
|
|
|
||
|
|
## App Manifests
|
||
|
|
|
||
|
|
See [App Manifest Specification](./docs/app-manifest-spec.md) 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
|