# Calypso Appliance Installation Guide ## Prerequisites - Ubuntu Server 24.04 LTS (recommended) - Root or sudo access - Minimum 10GB free disk space - Network connectivity - At least 4GB RAM ## Quick Installation ```bash # Clone or extract Calypso source cd /path/to/calypso # Run installer sudo ./installer/alpha/install.sh ``` ## Installation Options ### Basic Installation ```bash sudo ./installer/alpha/install.sh ``` ### Skip Optional Components ```bash # Skip ZFS (if already installed) sudo ./installer/alpha/install.sh --skip-zfs # Skip SCST (install manually later) sudo ./installer/alpha/install.sh --skip-scst # Skip MHVTL sudo ./installer/alpha/install.sh --skip-mhvtl # Skip Bacula sudo ./installer/alpha/install.sh --skip-bacula ``` ### Configuration Only ```bash # Only setup configuration, don't build/install binaries sudo ./installer/alpha/install.sh --config-only ``` ### Custom Version ```bash sudo ./installer/alpha/install.sh --version 1.0.0 ``` ## Installation Process The installer performs the following steps: 1. **Pre-flight Checks** - Verify OS compatibility - Check disk space - Verify network connectivity 2. **Filesystem Setup** - Create directory structure per architecture spec - Set permissions - Create calypso user 3. **System Dependencies** - Install Go 1.22+ - Install Node.js 20.x LTS - Install PostgreSQL 14+ - Install storage and tape tools 4. **Component Installation** - ZFS (if not installed) - SCST prerequisites - MHVTL (optional) - Bacula (optional) 5. **Application Build** - Build backend binary - Build frontend assets - Install to `/opt/adastra/calypso/releases/VERSION/` 6. **Database Setup** - Create PostgreSQL database - Create database user - Run migrations (on first API start) 7. **Configuration** - Generate secrets - Create configuration files - Setup environment variables 8. **Service Installation** - Install systemd service - Enable service - Start service 9. **Verification** - Verify installation - Test API connectivity - Print access information ## Post-Installation ### 1. Access Web UI Open browser and navigate to: ``` http://:3000 ``` ### 2. Login Default credentials (displayed during installation): - **Username:** admin - **Password:** (check installation output) **⚠️ IMPORTANT:** Change the default password immediately! ### 3. Configure System 1. **Storage Configuration** - Create ZFS pools - Create datasets - Configure storage repositories 2. **Network Configuration** - Configure network interfaces - Setup NTP servers 3. **Service Configuration** - Enable/disable services - Configure SCST targets - Setup tape libraries ### 4. Setup Reverse Proxy (Optional) For production, setup reverse proxy: ```bash # Nginx sudo ./installer/alpha/scripts/setup-reverse-proxy.sh nginx # Or Caddy sudo ./installer/alpha/scripts/setup-reverse-proxy.sh caddy ``` ## Directory Structure After installation: ``` /opt/adastra/calypso/ releases/ 1.0.0-alpha/ bin/calypso-api web/ (frontend assets) migrations/ scripts/ current -> releases/1.0.0-alpha /etc/calypso/ config.yaml secrets.env tls/ integrations/ system/ scst/ /srv/calypso/ db/ backups/ object/ shares/ vtl/ iscsi/ uploads/ cache/ _system/ /var/log/calypso/ (application logs) /var/lib/calypso/ (runtime data) /run/calypso/ (runtime files) ``` ## Service Management ### Start Service ```bash sudo systemctl start calypso-api ``` ### Stop Service ```bash sudo systemctl stop calypso-api ``` ### Restart Service ```bash sudo systemctl restart calypso-api ``` ### Check Status ```bash sudo systemctl status calypso-api ``` ### View Logs ```bash # Follow logs sudo journalctl -u calypso-api -f # Last 100 lines sudo journalctl -u calypso-api -n 100 ``` ## Configuration ### Main Configuration Edit `/etc/calypso/config.yaml`: ```bash sudo nano /etc/calypso/config.yaml ``` ### Environment Variables Edit `/etc/calypso/secrets.env`: ```bash sudo nano /etc/calypso/secrets.env ``` After changing configuration, restart service: ```bash sudo systemctl restart calypso-api ``` ## Uninstallation ### Full Uninstallation ```bash sudo ./installer/alpha/uninstall.sh ``` ### Keep Data and Configuration ```bash sudo ./installer/alpha/uninstall.sh --keep-data --keep-config ``` ## Troubleshooting See `TROUBLESHOOTING.md` for common issues and solutions. ## Manual Steps (if needed) ### SCST Installation If SCST installation fails, install manually: ```bash # See documentation docs/on-progress/scst-installation.md ``` ### ZFS Setup If ZFS needs manual setup: ```bash # Create ZFS pool sudo zpool create tank /dev/sdb /dev/sdc # Create datasets sudo zfs create tank/calypso ``` ### Database Setup If database setup fails: ```bash sudo -u postgres createdb calypso sudo -u postgres createuser calypso sudo -u postgres psql -c "ALTER USER calypso WITH PASSWORD 'your_password';" sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE calypso TO calypso;" ``` ## Support For issues: 1. Check `TROUBLESHOOTING.md` 2. Review logs: `sudo journalctl -u calypso-api -f` 3. Check documentation: `docs/alpha/`