Guía completa: Cómo instalar Speakr en Linux (Ubuntu, Debian o derivados)

Speakr es una aplicación web de transcripción, resumen y consulta de grabaciones de audio mediante IA. Su arquitectura está basada en Flask (Python) para el backend y Vue.js para el frontend, con compatibilidad con APIs como Whisper y OpenRouter.


✅ Requisitos previos

  • Servidor Linux (Ubuntu 20.04/22.04 o similar)
  • Acceso SSH con privilegios sudo
  • Python 3.8+ y venv
  • git, curl, wget
  • Claves API válidas para:
    • Un servicio de transcripción (OpenAI Whisper, instancia local, etc.)
    • Un modelo de lenguaje (OpenRouter, GPT-4o, etc.)

1. Instalar dependencias básicas

sudo apt update && sudo apt install -y git python3 python3-venv python3-pip curl

2. Clonar el repositorio de Speakr

git clone https://github.com/murtaza-nasir/speakr.git
cd speakr

3. Crear entorno virtual Python

python3 -m venv venv
source venv/bin/activate

4. Instalar dependencias de Python

pip install --upgrade pip
pip install -r requirements.txt

5. Crear archivo .env

Copia el archivo de ejemplo:

cp .env.example .env

Edita .env con tus claves:

nano .env

Valores recomendados:

# API para resumen y chat
OPENROUTER_API_KEY=tu_clave_openrouter
OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
OPENROUTER_MODEL_NAME=openai/gpt-4o-mini

# API para transcripción
TRANSCRIPTION_API_KEY=cant-be-empty
TRANSCRIPTION_BASE_URL=http://127.0.0.1:8787/v1/
WHISPER_MODEL=Systran/faster-distil-whisper-large-v3

# Seguridad de Flask
SECRET_KEY=$(python3 -c 'import secrets; print(secrets.token_hex(32))')

ALLOW_REGISTRATION=true

6. Iniciar la base de datos

python reset_db.py

Esto crea instance/transcriptions.db y estructura inicial.


7. Crear usuario administrador

python create_admin.py

Introduce nombre, email y contraseña.


8. Ejecutar la aplicación

Modo desarrollo (Flask):

flask run --host=0.0.0.0 --port=8899

Modo producción (Gunicorn):

gunicorn --workers 3 --bind 0.0.0.0:8899 --timeout 600 app:app

9. Acceder a la aplicación

Abre en el navegador:

http://TU_IP:8899

🔁 Instalación automatizada (opcional)

Si prefieres un despliegue con systemd, puedes usar el script de instalación incluido:

chmod +x deployment/setup.sh
sudo bash deployment/setup.sh

Este script:

  • Instala en /opt/transcription-app
  • Crea entorno virtual
  • Configura el .env si existe
  • Crea el servicio transcription.service para systemd

Ver estado del servicio:

sudo systemctl status transcription.service

🔐 Recomendaciones de seguridad

  • Usa HTTPS con Nginx como proxy inverso.
  • Protege la instancia con fail2ban y un firewall (UFW).
  • Cambia ALLOW_REGISTRATION=false si solo quieres usuarios controlados.

✅ Comprobación final

Accede al panel de administración:

http://TU_IP:8899/admin

Desde ahí podrás:

  • Gestionar usuarios
  • Ver estadísticas
  • Revisar grabaciones

Suscríbete al boletín SysAdmin

Este es tu recurso para las últimas noticias y consejos sobre administración de sistemas, Linux, Windows, cloud computing, seguridad de la nube, etc. Lo enviamos 2 días a la semana.

¡Apúntate a nuestro newsletter!


– patrocinadores –

Noticias destacadas

– patrocinadores –

¡SUSCRÍBETE AL BOLETÍN
DE LOS SYSADMINS!

Scroll al inicio
×