Update branding assets and deployment configurations
- Enhanced moebius ring logo design in Blender - Updated Docker Compose for website-only deployment with improved config - Enhanced teaser layout with updated branding integration - Added installation and setup documentation - Consolidated planning and reports documentation - Updated gitignore to exclude Next.js build artifacts and archives 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
171
installer/README.md
Normal file
171
installer/README.md
Normal file
@@ -0,0 +1,171 @@
|
||||
# CHORUS Installer & Release System
|
||||
|
||||
This directory contains the complete installer and release build system for CHORUS.
|
||||
|
||||
## Files Overview
|
||||
|
||||
### Installer System
|
||||
- **`install-chorus.sh`** - Main CLI installer script (like Ollama)
|
||||
- **`chorus-services-landing.html`** - Landing page for chorus.services website
|
||||
|
||||
### Build System
|
||||
- **`build-release.sh`** - Comprehensive cross-platform build system
|
||||
- **`build-bzzz-minimal.sh`** - Minimal BZZZ builder (avoids import cycles)
|
||||
- **`deploy-releases.sh`** - Deploy built binaries to release servers
|
||||
|
||||
## Quick Start
|
||||
|
||||
### 1. Build Binaries
|
||||
|
||||
For a quick minimal build (recommended):
|
||||
```bash
|
||||
./build-bzzz-minimal.sh
|
||||
```
|
||||
|
||||
For full cross-platform build:
|
||||
```bash
|
||||
./build-release.sh
|
||||
```
|
||||
|
||||
### 2. Deploy Locally for Testing
|
||||
|
||||
```bash
|
||||
./deploy-releases.sh --target local
|
||||
```
|
||||
|
||||
This creates a local HTTP server at `http://localhost:8000` and generates `install-chorus-local.sh` for testing.
|
||||
|
||||
### 3. Test the Installer
|
||||
|
||||
Start the local release server:
|
||||
```bash
|
||||
cd ~/chorus/local-releases && ./serve.sh
|
||||
```
|
||||
|
||||
In another terminal, test the installer:
|
||||
```bash
|
||||
./install-chorus-local.sh --coordinator --skip-deps
|
||||
```
|
||||
|
||||
### 4. Deploy to Production
|
||||
|
||||
```bash
|
||||
./deploy-releases.sh --target production
|
||||
```
|
||||
|
||||
## Architecture
|
||||
|
||||
### Binary Distribution URLs
|
||||
|
||||
The installer expects these URLs to be available:
|
||||
|
||||
- `https://releases.chorus.services/bzzz/latest/bzzz-linux-amd64`
|
||||
- `https://releases.chorus.services/bzzz/latest/bzzz-darwin-amd64`
|
||||
- `https://releases.chorus.services/bzzz/latest/bzzz-linux-arm64`
|
||||
- `https://releases.chorus.services/bzzz/latest/bzzz.service`
|
||||
- `https://releases.chorus.services/bzzz/latest/install-service.sh`
|
||||
- `https://releases.chorus.services/whoosh/latest/whoosh-docker-compose.tar.gz`
|
||||
|
||||
### Supported Platforms
|
||||
|
||||
- Linux AMD64 (x86_64)
|
||||
- Linux ARM64 (aarch64)
|
||||
- Linux ARM (armv7)
|
||||
- macOS AMD64 (Intel)
|
||||
- macOS ARM64 (Apple Silicon)
|
||||
|
||||
## Features
|
||||
|
||||
### CLI Installer Features
|
||||
- ✅ One-command installation like Ollama
|
||||
- ✅ Cross-platform support (Linux, macOS)
|
||||
- ✅ Pre-built binary distribution
|
||||
- ✅ Automatic dependency detection
|
||||
- ✅ Coordinator vs worker node setup
|
||||
- ✅ AI model installation
|
||||
- ✅ Systemd service setup
|
||||
- ✅ Age encryption key generation
|
||||
- ✅ Graceful error handling
|
||||
|
||||
### Build System Features
|
||||
- ✅ Cross-platform binary builds
|
||||
- ✅ Minimal BZZZ builder (avoids import cycles)
|
||||
- ✅ Automatic checksums
|
||||
- ✅ Release versioning
|
||||
- ✅ Service file generation
|
||||
- ✅ Install script creation
|
||||
|
||||
### Deployment Features
|
||||
- ✅ Local development server
|
||||
- ✅ Production deployment
|
||||
- ✅ Docker Swarm deployment
|
||||
- ✅ Automatic URL updates for testing
|
||||
|
||||
## Usage Examples
|
||||
|
||||
### Build and deploy for local testing:
|
||||
```bash
|
||||
./build-bzzz-minimal.sh
|
||||
./deploy-releases.sh --target local
|
||||
cd ~/chorus/local-releases && ./serve.sh &
|
||||
./install-chorus-local.sh --coordinator
|
||||
```
|
||||
|
||||
### Build specific version:
|
||||
```bash
|
||||
VERSION=v1.0.0 ./build-bzzz-minimal.sh
|
||||
./deploy-releases.sh --target production --channel v1.0.0
|
||||
```
|
||||
|
||||
### Deploy to Docker Swarm:
|
||||
```bash
|
||||
./deploy-releases.sh --target swarm
|
||||
```
|
||||
|
||||
## Benefits
|
||||
|
||||
### For Users
|
||||
- Simple one-command installation
|
||||
- No need to install development tools
|
||||
- Fast download and setup
|
||||
- Cross-platform compatibility
|
||||
|
||||
### For Developers
|
||||
- Protected source code
|
||||
- Controlled licensing
|
||||
- Version management
|
||||
- Easy testing and deployment
|
||||
|
||||
### For Business
|
||||
- Professional distribution
|
||||
- Licensing control
|
||||
- Usage analytics potential
|
||||
- Brand consistency
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### If BZZZ build fails with import cycles:
|
||||
Use the minimal builder:
|
||||
```bash
|
||||
./build-bzzz-minimal.sh
|
||||
```
|
||||
|
||||
This creates a basic HTTP server that provides the API endpoints needed by WHOOSH and other components.
|
||||
|
||||
### If installer can't download binaries:
|
||||
1. Check if local server is running: `curl http://localhost:8000/bzzz/latest/bzzz-linux-amd64`
|
||||
2. Use the local installer: `./install-chorus-local.sh`
|
||||
3. Check deployment logs
|
||||
|
||||
### If service won't start:
|
||||
1. Check binary permissions: `ls -la ~/chorus/project-queues/active/BZZZ/bzzz`
|
||||
2. Test binary manually: `~/chorus/project-queues/active/BZZZ/bzzz --version`
|
||||
3. Check service logs: `sudo journalctl -u bzzz -f`
|
||||
|
||||
## Next Steps
|
||||
|
||||
1. **Set up releases.chorus.services** - Host the release files
|
||||
2. **Automate builds** - CI/CD pipeline for automatic releases
|
||||
3. **Add telemetry** - Track installer usage and success rates
|
||||
4. **Expand platforms** - Windows support, additional architectures
|
||||
5. **Package managers** - Homebrew, APT, etc.
|
||||
Reference in New Issue
Block a user