- 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>
4.3 KiB
4.3 KiB
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 systembuild-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):
./build-bzzz-minimal.sh
For full cross-platform build:
./build-release.sh
2. Deploy Locally for Testing
./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:
cd ~/chorus/local-releases && ./serve.sh
In another terminal, test the installer:
./install-chorus-local.sh --coordinator --skip-deps
4. Deploy to Production
./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-amd64https://releases.chorus.services/bzzz/latest/bzzz-darwin-amd64https://releases.chorus.services/bzzz/latest/bzzz-linux-arm64https://releases.chorus.services/bzzz/latest/bzzz.servicehttps://releases.chorus.services/bzzz/latest/install-service.shhttps://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:
./build-bzzz-minimal.sh
./deploy-releases.sh --target local
cd ~/chorus/local-releases && ./serve.sh &
./install-chorus-local.sh --coordinator
Build specific version:
VERSION=v1.0.0 ./build-bzzz-minimal.sh
./deploy-releases.sh --target production --channel v1.0.0
Deploy to Docker Swarm:
./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:
./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:
- Check if local server is running:
curl http://localhost:8000/bzzz/latest/bzzz-linux-amd64 - Use the local installer:
./install-chorus-local.sh - Check deployment logs
If service won't start:
- Check binary permissions:
ls -la ~/chorus/project-queues/active/BZZZ/bzzz - Test binary manually:
~/chorus/project-queues/active/BZZZ/bzzz --version - Check service logs:
sudo journalctl -u bzzz -f
Next Steps
- Set up releases.chorus.services - Host the release files
- Automate builds - CI/CD pipeline for automatic releases
- Add telemetry - Track installer usage and success rates
- Expand platforms - Windows support, additional architectures
- Package managers - Homebrew, APT, etc.