Skip to main content

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:

  1. Administrative access to your system
  2. Basic familiarity with Docker and the command line
  3. 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.