Setup Path: Docker
This guide will walk you through the process of setting up Whisper2Linux using Docker on your system. Follow these steps carefully to ensure a smooth installation and configuration.
Prerequisites
Before you begin, ensure that your system meets the Hardware Requirements. Additionally, you'll need:
- Administrative access to your system
- Basic familiarity with Docker and the command line
- An active internet connection
Step 1: Install Docker
If Docker is not already installed on your system, you will need to install it.
For Debian-based distributions (e.g., Ubuntu):
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
For Arch-based distributions (e.g., Manjaro):
sudo pacman -Syu
sudo pacman -S docker
After installing Docker, ensure that the Docker service is running:
sudo systemctl start docker
sudo systemctl enable docker
Step 2: Prepare the Docker Compose File
Save the following Docker Compose configuration as docker-compose.yml in your desired directory:
services:
  # Audio to Text (asr)
  whisper_asr:
    container_name: whisper_asr
    ports:
      - "9000:9000"
    pull_policy: always
    restart: unless-stopped
    image: onerahmet/openai-whisper-asr-webservice:latest-gpu
    environment:
      - 'ASR_ENGINE=openai_whisper'
      - 'ASR_MODEL=large-v3'
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              # device_ids: ['0', '1'] # Select a gpu, or
              count: all
              capabilities: [gpu]
  # LLM
  ollama:
    volumes:
      - ollama:/root/.ollama
    container_name: ollama
    ports:
      - "11434:11434"
    pull_policy: always
    tty: true
    restart: unless-stopped
    image: ollama/ollama:${{OLLAMA_DOCKER_TAG-latest}}
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              # device_ids: ['0', '1'] # Select a gpu, or
              count: all
              capabilities: [gpu]
  # LLM GUI
  open-webui:
    build:
      context: .
      args:
        OLLAMA_BASE_URL: '/ollama'
      dockerfile: Dockerfile
    image: ghcr.io/open-webui/open-webui:${{WEBUI_DOCKER_TAG-main}}
    container_name: open-webui
    volumes:
      - open-webui:/app/backend/data
    depends_on:
      - ollama
    ports:
      - ${{OPEN_WEBUI_PORT-3000}}:8080
    environment:
      - 'OLLAMA_BASE_URL=http://ollama:11434'
      - 'WEBUI_SECRET_KEY='
    extra_hosts:
      - host.docker.internal:host-gateway
    restart: unless-stopped
  # Text to Speech (tts)
  server:
    image: ghcr.io/matatonic/openedai-speech:latest
    container_name: openedai-speech
    depends_on:
      - ollama
    env_file: speech.env
    ports:
      - "8000:8000"
    volumes:
      - tts-voices:/app/voices
      - tts-config:/app/config
    restart: unless-stopped
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              # device_ids: ['0', '1'] # Select a gpu, or
              count: all
              capabilities: [gpu]
volumes:
  tts-voices:
  tts-config:
  ollama: {}
  open-webui: {}
Step 3: Start the Docker Containers
Navigate to the directory where you saved the docker-compose.yml file and run the following command to start the services:
docker-compose up -d
This will pull the necessary images and start the containers in detached mode.
Congratulations! You've successfully set up Whisper2Linux Requirements using Docker. You can continue now to install Whisper2Linux.