Sail

Docker Deployment

Deploy Sail using Docker and Docker Compose.

Docker Compose (Recommended)

The simplest way to run Sail is using Docker Compose:

git clone https://github.com/lqlive/sail.git
cd sail
docker-compose up -d

This starts all required services:

  • MongoDB (port 27017)
  • Sail Management API (port 5000)
  • Sail Proxy Gateway (ports 8080/8443)
  • Web UI (port 5173)

Docker Compose Configuration

version: '3.8'

services:
  mongodb:
    image: mongo:latest
    ports:
      - "27017:27017"
    volumes:
      - mongodb_data:/data/db

  sail-api:
    image: sail/api:latest
    ports:
      - "5000:5000"
    environment:
      - MongoDB__ConnectionString=mongodb://mongodb:27017
    depends_on:
      - mongodb

  sail-proxy:
    image: sail/proxy:latest
    ports:
      - "8080:8080"
      - "8443:8443"
    environment:
      - MongoDB__ConnectionString=mongodb://mongodb:27017
    depends_on:
      - mongodb

  web-ui:
    image: sail/web:latest
    ports:
      - "5173:80"
    environment:
      - API_URL=http://sail-api:5000

volumes:
  mongodb_data:

Running Individual Containers

1. Start MongoDB

docker run -d -p 27017:27017 --name sail-mongodb mongo:latest

2. Run Management API

docker run -d -p 5000:5000 --name sail-api \ -e MongoDB__ConnectionString=mongodb://sail-mongodb:27017 \ sail/api:latest

3. Run Proxy Gateway

docker run -d -p 8080:8080 -p 8443:8443 --name sail-proxy \ -e MongoDB__ConnectionString=mongodb://sail-mongodb:27017 \ sail/proxy:latest

Environment Variables

Variable Description Default
MongoDB__ConnectionString MongoDB connection string mongodb://localhost:27017
MongoDB__Database Database name sail
API_URL Management API URL (for Web UI) http://localhost:5000

See also