Files
calypso/installer/alpha/INSTALLATION-GUIDE.md
2026-01-04 15:39:19 +07:00

294 lines
5.2 KiB
Markdown

# 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://<server-ip>: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/`