Skip to content

Installation GuideΒΆ

This guide will walk you through installing and configuring the Altegon video communication platform on your infrastructure.

Installation OptionsΒΆ

Our managed cloud service provides the fastest setup with automatic scaling and maintenance.

🏒 On-Premise Deployment¢

Full control over your infrastructure with enterprise-grade security and compliance.

πŸ”„ Hybrid DeploymentΒΆ

Combine cloud and on-premise components for optimal performance and compliance.


PrerequisitesΒΆ

Before starting the installation, ensure you have:

  • System meets minimum requirements
  • Valid Altegon Solutions license
  • Administrative access to target servers
  • SSL/TLS certificates for HTTPS
  • Database server (PostgreSQL 12+ recommended)

Cloud DeploymentΒΆ

Step 1: Account SetupΒΆ

  1. Sign up at https://console.altegon-solutions.com
  2. Verify your email address
  3. Complete account verification (may require business documents)
  4. Choose your plan (Free, Professional, or Enterprise)

Step 2: Configure Your InstanceΒΆ

# Install Altegon CLI
npm install -g @altegon/cli

# Login to your account
altegon login

# Create new deployment
altegon deploy create --name "my-video-platform" --region "us-east-1"

Step 3: Custom Domain SetupΒΆ

# Add custom domain
altegon domain add video.yourcompany.com

# Configure SSL certificate
altegon ssl configure --domain video.yourcompany.com --auto-renew

Step 4: Verify DeploymentΒΆ

# Check deployment status
altegon status

# Test connectivity
curl https://video.yourcompany.com/api/health

On-Premise DeploymentΒΆ

Step 1: Download Installation PackageΒΆ

# Download the latest release
wget https://releases.altegon-solutions.com/v2.1.0/altegon-server-linux-x64.tar.gz

# Extract files
tar -xzf altegon-server-linux-x64.tar.gz
cd altegon-server

# Make installer executable
chmod +x install.sh

Step 2: Database SetupΒΆ

PostgreSQL Installation (Ubuntu/Debian)ΒΆ

# Install PostgreSQL
sudo apt update
sudo apt install postgresql postgresql-contrib

# Create database and user
sudo -u postgres psql
CREATE DATABASE altegon;
CREATE USER altegon_user WITH PASSWORD 'secure_password';
GRANT ALL PRIVILEGES ON DATABASE altegon TO altegon_user;
\q

PostgreSQL Installation (CentOS/RHEL)ΒΆ

# Install PostgreSQL
sudo yum install postgresql-server postgresql-contrib

# Initialize database
sudo postgresql-setup initdb
sudo systemctl enable postgresql
sudo systemctl start postgresql

# Create database and user
sudo -u postgres psql
CREATE DATABASE altegon;
CREATE USER altegon_user WITH PASSWORD 'secure_password';
GRANT ALL PRIVILEGES ON DATABASE altegon TO altegon_user;
\q

Step 3: ConfigurationΒΆ

Create configuration file /etc/altegon/config.yml:

# Altegon Server Configuration
server:
  host: "0.0.0.0"
  port: 8443
  ssl:
    enabled: true
    cert_file: "/etc/ssl/certs/altegon.crt"
    key_file: "/etc/ssl/private/altegon.key"

database:
  type: "postgresql"
  host: "localhost"
  port: 5432
  name: "altegon"
  username: "altegon_user"
  password: "secure_password"
  ssl_mode: "require"

media:
  # Media server configuration
  servers:
    - host: "localhost"
      port: 8080
      capacity: 100

  # STUN/TURN servers
  stun_servers:
    - "stun:stun.altegon-solutions.com:3478"

  turn_servers:
    - url: "turn:turn.altegon-solutions.com:3478"
      username: "altegon"
      credential: "your-turn-secret"

security:
  # JWT configuration
  jwt:
    secret: "your-jwt-secret-key"
    expiry: "24h"

  # API rate limiting
  rate_limit:
    requests_per_minute: 100
    burst_size: 10

recording:
  # Recording configuration
  enabled: true
  storage:
    type: "local" # or "s3", "gcs"
    path: "/var/lib/altegon/recordings"

  # Video encoding settings
  encoding:
    video_codec: "h264"
    audio_codec: "aac"
    quality: "high"

logging:
  level: "info"
  file: "/var/log/altegon/server.log"
  max_size: "100MB"
  max_files: 10

monitoring:
  metrics:
    enabled: true
    port: 9090

  health_check:
    enabled: true
    endpoint: "/health"

Step 4: SSL Certificate SetupΒΆ

Self-Signed Certificate (Development)ΒΆ

# Generate self-signed certificate
sudo mkdir -p /etc/ssl/altegon
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
  -keyout /etc/ssl/altegon/altegon.key \
  -out /etc/ssl/altegon/altegon.crt \
  -subj "/C=US/ST=State/L=City/O=Organization/CN=your-domain.com"

Let's Encrypt Certificate (Production)ΒΆ

# Install certbot
sudo apt install certbot

# Generate certificate
sudo certbot certonly --standalone -d your-domain.com

# Link certificates
sudo ln -s /etc/letsencrypt/live/your-domain.com/fullchain.pem /etc/ssl/altegon/altegon.crt
sudo ln -s /etc/letsencrypt/live/your-domain.com/privkey.pem /etc/ssl/altegon/altegon.key

Step 5: Install ServicesΒΆ

# Run installer
sudo ./install.sh

# Enable and start services
sudo systemctl enable altegon-gateway
sudo systemctl enable altegon-media
sudo systemctl enable altegon-signaling

sudo systemctl start altegon-gateway
sudo systemctl start altegon-media
sudo systemctl start altegon-signaling

Step 6: Initialize DatabaseΒΆ

# Run database migrations
sudo altegon-admin migrate

# Create admin user
sudo altegon-admin user create \
  --email admin@yourcompany.com \
  --password secure_admin_password \
  --role admin

Docker DeploymentΒΆ

Step 1: Docker Compose SetupΒΆ

Create docker-compose.yml:

version: '3.8'

services:
  postgres:
    image: postgres:14
    environment:
      POSTGRES_DB: altegon
      POSTGRES_USER: altegon_user
      POSTGRES_PASSWORD: secure_password
    volumes:
      - postgres_data:/var/lib/postgresql/data
    ports:
      - "5432:5432"

  redis:
    image: redis:7-alpine
    ports:
      - "6379:6379"

  altegon-gateway:
    image: altegon/gateway:2.1.0
    ports:
      - "8443:8443"
    environment:
      - DATABASE_URL=postgresql://altegon_user:secure_password@postgres:5432/altegon
      - REDIS_URL=redis://redis:6379
    volumes:
      - ./config:/etc/altegon
      - ./ssl:/etc/ssl/altegon
    depends_on:
      - postgres
      - redis

  altegon-media:
    image: altegon/media:2.1.0
    ports:
      - "8080:8080"
      - "10000-10100:10000-10100/udp"
    environment:
      - GATEWAY_URL=http://altegon-gateway:8443
    depends_on:
      - altegon-gateway

  altegon-signaling:
    image: altegon/signaling:2.1.0
    ports:
      - "8081:8081"
    environment:
      - GATEWAY_URL=http://altegon-gateway:8443
      - REDIS_URL=redis://redis:6379
    depends_on:
      - altegon-gateway
      - redis

volumes:
  postgres_data:

Step 2: Start ServicesΒΆ

# Start all services
docker-compose up -d

# Check service status
docker-compose ps

# View logs
docker-compose logs -f altegon-gateway

Kubernetes DeploymentΒΆ

Step 1: Helm Chart InstallationΒΆ

# Add Altegon Helm repository
helm repo add altegon https://charts.altegon-solutions.com
helm repo update

# Install Altegon
helm install altegon altegon/altegon \
  --namespace altegon \
  --create-namespace \
  --set domain=video.yourcompany.com \
  --set postgresql.enabled=true \
  --set redis.enabled=true

Step 2: Custom ValuesΒΆ

Create values.yaml:

# Altegon Helm Chart Values
global:
  domain: video.yourcompany.com
  storageClass: fast-ssd

gateway:
  replicaCount: 3
  resources:
    requests:
      cpu: 500m
      memory: 1Gi
    limits:
      cpu: 2
      memory: 4Gi

media:
  replicaCount: 5
  resources:
    requests:
      cpu: 1
      memory: 2Gi
    limits:
      cpu: 4
      memory: 8Gi

signaling:
  replicaCount: 2
  resources:
    requests:
      cpu: 250m
      memory: 512Mi
    limits:
      cpu: 1
      memory: 2Gi

postgresql:
  enabled: true
  auth:
    database: altegon
    username: altegon_user
    password: secure_password
  primary:
    persistence:
      size: 100Gi
      storageClass: fast-ssd

redis:
  enabled: true
  auth:
    enabled: false
  master:
    persistence:
      size: 10Gi

ingress:
  enabled: true
  className: nginx
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt-prod
  tls:
    - secretName: altegon-tls
      hosts:
        - video.yourcompany.com

Apply custom configuration:

helm upgrade altegon altegon/altegon \
  --namespace altegon \
  --values values.yaml

Post-Installation ConfigurationΒΆ

Step 1: Verify InstallationΒΆ

# Check service health
curl https://your-domain.com/api/health

# Expected response:
# {
#   "status": "healthy",
#   "version": "2.1.0",
#   "services": {
#     "gateway": "online",
#     "media": "online",
#     "signaling": "online"
#   }
# }

Step 2: Configure MonitoringΒΆ

# Install monitoring stack
kubectl apply -f https://raw.githubusercontent.com/altegon-solutions/k8s-monitoring/main/monitoring-stack.yaml

# Access Grafana dashboard
kubectl port-forward svc/grafana 3000:3000 -n monitoring

Step 3: Set Up BackupΒΆ

# Configure automated backups
altegon-admin backup configure \
  --schedule "0 2 * * *" \
  --retention "30d" \
  --destination "s3://my-backup-bucket/altegon"

Troubleshooting InstallationΒΆ

Common IssuesΒΆ

Database Connection FailedΒΆ

# Check database connectivity
telnet localhost 5432

# Verify credentials
psql -h localhost -U altegon_user -d altegon

SSL Certificate IssuesΒΆ

# Test SSL certificate
openssl s_client -connect your-domain.com:443

# Check certificate expiry
openssl x509 -in /etc/ssl/altegon/altegon.crt -text -noout

Port ConflictsΒΆ

# Check port usage
netstat -tulpn | grep :8443

# Kill conflicting processes
sudo fuser -k 8443/tcp

Service Startup IssuesΒΆ

# Check service logs
journalctl -u altegon-gateway -f

# Check configuration
altegon-admin config validate

Next StepsΒΆ

After successful installation:

  1. Quick Start Guide - Test your installation
  2. Configuration - Customize settings
  3. Security Setup - Configure security
  4. Performance Tuning - Optimize performance

Installation Complete!

Your Altegon video communication platform is now ready for use. Continue with the Quick Start Guide to make your first video call.