Cómo instalar Freescout en Docker - Sistema de helpdesk autohospedado en Docker

Freescout | Help Desk | Docker

Freescout: Sistema de helpdesk y shared inbox autohospedado en Docker (alternativa Zendesk/Help Scout)

Gestión de tickets profesional. Integración de correo. Multi-mailbox. Colaboración en tiempo real. Unlimited agentes/tickets. Módulos extensibles. PHP + Laravel + MySQL. AGPL-3.0 open source. Self-hosted.

¿Qué es Freescout?


Freescout es un sistema de helpdesk y shared inbox profesional completamente open source diseñado para equipos que necesitan gestionar soporte al cliente sin pagar suscripciones a Zendesk o Help Scout. Transforma tus bandejas de correo en un sistema de tickets organizado, colaborativo y rastreable.

Ventaja clave: Sin límites de usuarios, tickets, o mailboxes. Mientras Zendesk te cobra por agente, Freescout no. Propietario de datos. AGPL-3.0 open source. Fácil de desplegar incluso en shared hosting.

Características principales: Gestión de tickets con estados customizables. Multi-mailbox: conecta múltiples direcciones de correo. Integración de correo seamless (IMAP/SMTP + OAuth). Conversaciones unificadas (agrupa replies). Asignación de tickets a agentes. Etiquetas y categorización. Búsqueda avanzada. Menciones (@) entre agentes. Notas internas privadas. Detección de colisiones (evita duplicate work). Mobile-responsive UI. Over 20 idiomas. Módulos extensibles (conocimiento base, SLA, Slack, WhatsApp, etc). Reportes y estadísticas. Automation (rules, workflows). Webhooks. API REST. Laravel framework (confiable). MySQL/MariaDB. Cero telemetría. Auditoría completa.

Para equipos de soporte: Centraliza soporte por email. Colaboración sin caos. Sin intermediarios SaaS. Propiedad total. Escalable sin costos por usuario.

Características principales

Gestión de tickets

Tickets con estados, prioridades, asignaciones. Workflow customizable. SLA tracking.

Multi-mailbox

Conecta múltiples direcciones de correo. Cada una su cola de tickets.

Integración de correo

IMAP/SMTP + OAuth (Microsoft, Gmail). Sincronización bidireccional.

Conversaciones unificadas

Agrupa replies en una timeline. Historial completo visible.

Colaboración en tiempo real

Menciones (@), notas internas, detección de colisiones (evita trabajo duplicate).

Etiquetas y categorías

Organiza tickets. Filtrado rápido. Taxonomía custom.

Búsqueda avanzada

Full-text. Por estado, agente, cliente, fecha. Resultados instantáneos.

Mobile-responsive

Interfaz bonita en desktop, tablet, móvil. Atender tickets desde cualquier lado.

Módulos extensibles

Conocimiento Base, SLA, Slack, WhatsApp, integración Zapier/Make.

Reportes

Estadísticas: tiempo respuesta, tickets resueltos, agente performance.

Automation

Rules-based triggers. Auto-responders. Workflows.

Unlimited

Usuarios, tickets, mailboxes. Sin limites de features.

Requisitos del sistema

  • Docker & Docker Compose
  • 1-2 GB RAM (PHP + MySQL)
  • 5+ GB espacio disco (depende volumen de tickets/attachments)
  • Puerto 80 o 443 (para web, configurable)
  • MySQL/MariaDB (incluido en compose o externo)
  • PHP 8.0+ (incluido en image Docker)
  • Acceso SMTP/IMAP para conectar bandejas de correo
  • Navegador moderno
Ligero pero potente: Usa menos recursos que Zendesk SaaS. Perfect para SMBs y teams pequeños.

Instalación con Docker Compose

Paso 1: Crear docker-compose.yml

cat > docker-compose.yml << 'EOF' version: '3.8' services: freescout-db: image: mariadb:latest container_name: freescout-db restart: unless-stopped environment: - MYSQL_ROOT_PASSWORD=root_password_change_me - MYSQL_DATABASE=freescout - MYSQL_USER=freescout - MYSQL_PASSWORD=freescout_password_change_me volumes: - freescout-db:/var/lib/mysql freescout: image: tiredofit/freescout:latest container_name: freescout restart: unless-stopped depends_on: - freescout-db ports: - "8080:80" volumes: - freescout-data:/data environment: # Timezone - TIMEZONE=Europe/Madrid # URL del sitio - SITE_URL=http://localhost:8080 # BD - DB_HOST=freescout-db - DB_NAME=freescout - DB_USER=freescout - DB_PASS=freescout_password_change_me # Admin - ADMIN_EMAIL=admin@example.com - ADMIN_PASS=change_me_securely # Mail (opcional) - MAIL_DRIVER=smtp - MAIL_HOST=smtp.gmail.com - MAIL_PORT=587 volumes: freescout-data: freescout-db: EOF

Paso 2: Iniciar Freescout

docker compose up -d # Espera 30-60 segundos para que inicie y set up BD docker compose logs -f freescout

Acceder

http://localhost:8080 - Dashboard Freescout

Primer login

  • Email: admin@example.com
  • Password: La que setaste en ADMIN_PASS

Primeros pasos

1. Cambiar contraseña admin

  1. Login con admin@example.com / password
  2. Profile → Settings → Change Password
  3. Actualiza a contraseña fuerte

2. Conectar primera mailbox

  1. Settings → Mailboxes → New Mailbox
  2. Email: support@tuempresa.com
  3. Name: "Support"
  4. Elige tipo: IMAP/SMTP o Gmail OAuth
  5. Credentials: user/password o autoriza OAuth
  6. Test Connection
  7. Save

3. Ver inbox

  1. Dashboard muestra Mailbox y conversaciones
  2. Nuevos emails aparecen como conversaciones
  3. Haz click para abrir

4. Asignar a agente

  1. Abre conversación
  2. Click "Assign" → selecciona agente
  3. O auto-assign rules (Settings → Automation)

5. Responder al cliente

  1. Abre conversación
  2. Click "Reply"
  3. Escribe respuesta
  4. Click "Send"
  5. Email se envía y registra en ticket

6. Cerrar ticket

  1. Conversación → Status dropdown
  2. Selecciona "Closed"
  3. Save
  4. Tickets cerrados archivados

7. Etiquetar y filtrar

  1. Conversación → Add Tag
  2. Busca por tag después
  3. Organiza flujo de trabajo

8. Agregar más agentes

  1. Settings → Users → New User
  2. Email, password, rol (admin/agent/customer)
  3. Asigna a mailboxes

Casos de uso

  • Startups/SMBs: Soporte profesional sin costar un fortune.
  • Shared inboxes: support@, contact@, sales@ — todo centralizado.
  • Equipos remotos: Colaboración async sobre tickets. Notas internas.
  • Multi-departamento: Varios mailboxes, cada uno su equipo.
  • Compliance-heavy: Auditoría completa. Datos locales. No cloud vendor.

HTTPS con Caddy (producción)

Caddyfile

support.tudominio.com { reverse_proxy localhost:8080 }

Acceso remoto seguro

https://support.tudominio.com con HTTPS automático

Actualizar SITE_URL

SITE_URL=https://support.tudominio.com

Gestión y mantenimiento

Ver logs

docker compose logs -f freescout

Backup de BD

docker compose exec freescout-db mysqldump -u freescout -pfreescout_password freescout > freescout-$(date +%Y%m%d).sql

Backup de datos

docker cp freescout:/data ./freescout-backup-$(date +%Y%m%d)

Reiniciar

docker compose restart freescout

Actualizar a versión más reciente

docker compose pull docker compose up -d

Monitorear consumo

docker stats freescout freescout-db

Ejecutar scheduler (importante)

# Freescout necesita scheduler para fetch emails, queue jobs, etc # En Docker, generalmente se ejecuta automáticamente docker compose exec freescout /bin/bash -c "*/1 * * * * php /var/www/html/artisan schedule:run"

Comparativa con alternativas

vs Zendesk

Freescout gana: Gratis, sin limites de usuarios/tickets, open source, datos locales. Zendesk gana: Enterprise features, AI, integraciones avanzadas, soporte.

vs Help Scout

Freescout gana: Self-hosted, módulos propios. Help Scout gana: UX pulida, managed hosting.

vs osTicket

Freescout gana: Más moderno, mejor UI, email integration. osTicket gana: Más antiguo (15k+ users), estable.

vs Zammad

Freescout gana: Más ligero. Zammad gana: Más features omnichannel, UI moderna.

Mejor para: Equipos que necesitan helpdesk profesional sin pagar Zendesk. Self-hosted. Sin vendor lock-in. Colaboración local.

Comentarios

Entradas populares de este blog

Cómo Instalar y configurar SERVIDOR VPN WIREGUARD en MIKROTIK 🔐 #VPN #Wireguard #Mikrotik #RouterOS

Cómo instalar y configurar DSM SYNOLOGY 7.2.2 en PC | Guía completa, instalación, RAID 1, SMB

Cómo INSTALAR y CONFIGURAR OpenVPN en MIKROTIK. Guía completa paso a paso.