What are the deployment methods?

SSLcat offers several flexible deployment methods to suit various environments, from local development to large-scale production systems.

1. Single Binary Executable

Run the following command to download and install the latest version:

# Download the binary (example for Linux amd64)
wget https://sslcat.com/xurenlu/sslcat/releases/download/v1.3.16-rc10/sslcat_v1.3.16-rc10_linux-amd64.tar.gz
# Unpack
tar -xzf sslcat_v1.3.16-rc10_linux-amd64.tar.gz
# Install to system path
sudo install -m 0755 sslcat /usr/local/bin/sslcat

2. One-Liner Install Script

For Linux systems, we provide a convenient script to automatically download and install the most suitable version for your system.

curl -fsSL https://sslcat.com/xurenlu/sslcat/main/scripts/install-from-release-zh.sh | sudo bash -s -- -v 1.3.16-rc10

3. Docker

We provide official Docker images on Docker Hub for easy containerized deployment. This is the recommended method for most production environments.

# Pull the image
docker pull sslcat/sslcat:latest

# Run the container
docker run -d \
  --name sslcat \
  -p 80:80 \
  -p 443:443 \
  -v /path/to/config:/etc/sslcat \
  -v /path/to/certs:/var/lib/sslcat/certs \
  sslcat/sslcat:latest

4. Docker Compose Deployment

Manage multi-container setups with Docker Compose:

# docker-compose.yml
version: '3.8'
services:
  sslcat:
    image: sslcat/sslcat:latest
    container_name: sslcat
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./config:/etc/sslcat
      - ./certs:/var/lib/sslcat/certs
    restart: unless-stopped
    environment:
      - SSLCAT_CONFIG_FILE=/etc/sslcat/sslcat.conf
    networks:
      - sslcat-network

networks:
  sslcat-network:
    driver: bridge

5. Kubernetes Deployment

Deploy in a Kubernetes cluster:

# sslcat-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: sslcat
spec:
  replicas: 2
  selector:
    matchLabels:
      app: sslcat
  template:
    metadata:
      labels:
        app: sslcat
    spec:
      containers:
      - name: sslcat
        image: sslcat/sslcat:latest
        ports:
        - containerPort: 80
        - containerPort: 443
        volumeMounts:
        - name: config
          mountPath: /etc/sslcat
        - name: certs
          mountPath: /var/lib/sslcat/certs
      volumes:
      - name: config
        configMap:
          name: sslcat-config
      - name: certs
        persistentVolumeClaim:
          claimName: sslcat-certs

6. Cloud Platform Deployment

Deploy SSLcat on cloud platforms:

7. Load Balancing Deployment

Multi-instance load balancing deployment:

# Use Nginx as a load balancer
upstream sslcat_backend {
    server 127.0.0.1:8080;
    server 127.0.0.1:8081;
    server 127.0.0.1:8082;
}

server {
    listen 80;
    listen 443 ssl;
    
    location / {
        proxy_pass http://sslcat_backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

8. High Availability Deployment

Build a high-availability SSLcat cluster:

9. Development Environment Deployment

Quick deployment in a local development environment:

# Using Homebrew (macOS)
brew install sslcat

# Using a package manager (Ubuntu/Debian)
sudo apt update
sudo apt install sslcat

# Using Snap
sudo snap install sslcat

Deployment Recommendations

Choose the appropriate deployment method based on your use case:

Deployment Checklist

Items to check after deployment:

Choosing the right deployment method ensures that SSLcat runs stably and efficiently in your environment.