Cómo instalar Euro-Office en Docker: Suite ofimática de código abierto Alternativa transparente a OnlyOffice y Microsoft 365

Euro-Office | Document Server | Docker

Euro-Office: Suite ofimática soberana y de código abierto

Alternativa transparente a OnlyOffice y Microsoft 365 para edición colaborativa de documentos, hojas de cálculo y presentaciones.

¿Qué es Euro-Office?


Euro-Office es una suite ofimática de código abierto desarrollada públicamente por una comunidad de individuos y organizaciones. Ofrece una solución verdaderamente abierta, transparente y soberana para la edición colaborativa de documentos.

A diferencia de servicios cloud propietarios, Euro-Office está diseñado para integrarse en tu propia infraestructura: sistemas de gestión de archivos como Nextcloud, wikis online, herramientas de gestión de proyectos, y más. No es una aplicación standalone, sino un servidor de documentos que se integra con tus aplicaciones existentes.

Filosofía de soberanía: Euro-Office te da control total sobre tus datos, tu infraestructura y tu privacidad. No hay telemetría, no hay vendor lock-in, y todo el desarrollo sucede de forma pública y transparente.

Origen del proyecto

Euro-Office se basa en el código de ONLYOFFICE (Ascensio System SIA), pero con modificaciones importantes para eliminar restricciones propietarias y mejorar la transparencia:

  • Eliminación de cláusulas de marca registrada (Section 7(b) de AGPL) que restringían el uso libre
  • Sistema de temas personalizable sin referencias hard-coded a marcas específicas
  • Desarrollo completamente público con gobernanza transparente
  • Sin telemetría ni rastreadores
Atribución: Euro-Office mantiene la atribución correcta indicando que está basado en ONLYOFFICE by Ascensio System SIA, cumpliendo con la licencia AGPL-3.0.

Características principales

Edición colaborativa en tiempo real

Múltiples usuarios pueden editar el mismo documento simultáneamente con cambios sincronizados al instante.

Compatibilidad con Office

Trabaja con documentos DOCX, XLSX, PPTX manteniendo formato y funcionalidades avanzadas.

Formatos abiertos

Soporte nativo para ODT, ODS, ODP y otros formatos estándar abiertos.

Editor de PDF

Visualiza, comenta y edita archivos PDF directamente en el navegador.

Interfaz web moderna

UI limpia y responsiva construida con tecnologías web modernas.

Integración flexible

APIs para integración con Nextcloud, OwnCloud, Seafile, wikis y más.

Conversión de formatos

Convierte entre más de 20 formatos de documentos, hojas de cálculo y presentaciones.

Plantillas personalizables

Sistema de temas y branding completo sin restricciones propietarias.

Comentarios y revisiones

Control de cambios, comentarios, sugerencias y resolución de conflictos.

Sin vendor lock-in

Tus datos, tu servidor, tu control. Migra cuando quieras sin restricciones.

Formatos soportados

Euro-Office puede visualizar, editar y convertir entre una amplia variedad de formatos:

Documentos de texto

DOCX / DOC
ODT
RTF
TXT
HTML
EPUB

Hojas de cálculo

XLSX / XLS
ODS
CSV

Presentaciones

PPTX / PPT
ODP

Otros

PDF
XPS
DjVu

Instalación con Docker

Método 1: Contenedor individual (pruebas)

La forma más rápida de probar Euro-Office:

docker pull ghcr.io/euro-office/documentserver:latest docker run -i -t -d -p 8080:80 \ --restart=always \ -e EXAMPLE_ENABLED=true \ -e JWT_SECRET=my_jwt_secret \ ghcr.io/euro-office/documentserver:latest

Accede a la interfaz de ejemplo en: http://localhost:8080

Método 2: Docker Compose (recomendado)

Paso 1: Crear el directorio del proyecto

mkdir ~/euro-office cd ~/euro-office

Paso 2: Crear docker-compose.yml

services: euro-office: image: ghcr.io/euro-office/documentserver:latest container_name: euro-office restart: unless-stopped ports: - "8080:80" environment: - EXAMPLE_ENABLED=true # Habilitar ejemplos de prueba - JWT_SECRET=tu-secreto-jwt-aqui # Cambiar por uno seguro - TZ=Europe/Madrid volumes: - euro-office-data:/var/www/onlyoffice/Data - euro-office-logs:/var/log/onlyoffice - euro-office-cache:/var/lib/onlyoffice volumes: euro-office-data: euro-office-logs: euro-office-cache:

Paso 3: Iniciar el contenedor

docker compose up -d

Paso 4: Verificar el estado

# Ver logs docker compose logs -f euro-office # Comprobar estado docker compose ps

Variables de entorno importantes

  • JWT_SECRET: Clave secreta para firmar tokens JWT. Obligatoria para seguridad en producción
  • EXAMPLE_ENABLED: Habilita/deshabilita la interfaz de ejemplos (true/false)
  • TZ: Zona horaria del contenedor (ej: Europe/Madrid)
  • DB_TYPE: Tipo de base de datos (postgres o mysql, por defecto interno)
  • DB_HOST: Host de la base de datos externa (opcional)
  • DB_PORT: Puerto de la base de datos (opcional)
  • DB_NAME: Nombre de la base de datos (opcional)
  • DB_USER: Usuario de la base de datos (opcional)
  • DB_PWD: Contraseña de la base de datos (opcional)
Seguridad: Genera un JWT_SECRET fuerte y único usando: openssl rand -hex 32. Nunca uses valores por defecto en producción.

Integración con Nextcloud

Euro-Office está diseñado para integrarse con aplicaciones existentes. El caso de uso más común es Nextcloud:

Paso 1: Instalar la app ONLYOFFICE en Nextcloud

# Desde la línea de comandos de Nextcloud php occ app:install onlyoffice

O desde la interfaz web: Aplicaciones → Oficina & texto → ONLYOFFICE

Paso 2: Configurar la conexión

  1. En Nextcloud: Configuración → ONLYOFFICE
  2. URL del servidor de documentos: http://euro-office:80 (si está en la misma red Docker)
  3. Secreto JWT: El mismo que configuraste en JWT_SECRET
  4. Guardar configuración

Docker Compose con Nextcloud

services: nextcloud: image: nextcloud:latest container_name: nextcloud ports: - "8081:80" volumes: - nextcloud-data:/var/www/html networks: - office-network euro-office: image: ghcr.io/euro-office/documentserver:latest container_name: euro-office environment: - JWT_SECRET=shared-secret-123 networks: - office-network networks: office-network:

Gestión del contenedor

Ver logs en tiempo real

docker compose logs -f euro-office

Reiniciar el servicio

docker compose restart euro-office

Detener Euro-Office

docker compose down

Actualizar a la última versión

docker compose pull docker compose up -d

Limpiar caché del servidor de documentos

docker exec euro-office /usr/bin/documentserver-flush-cache.sh

Arquitectura del proyecto

Euro-Office es un proyecto modular compuesto por múltiples repositorios:

  • DocumentServer: Repositorio principal que orquesta todos los componentes
  • web-apps: Frontend de los editores (React, interfaces de usuario)
  • sdkjs: SDK JavaScript para los editores
  • core: Componentes del servidor para conversión de formatos
  • server: Servicios backend Node.js
  • dictionaries: Diccionarios de corrección ortográfica
  • core-fonts: Fuentes del sistema
  • document-server-integration: Ejemplos de integración

Contribuir al proyecto

Euro-Office es desarrollado de forma pública y acepta contribuciones:

  • Issues: Reporta bugs o solicita funcionalidades en GitHub
  • Pull Requests: Contribuye código siguiendo el proceso documentado
  • Código de conducta: Todos los colaboradores deben seguir el código de conducta
  • Modelo de gobernanza: "Quien codifica, decide" basado en consenso
  • Transparencia: Todas las decisiones se toman de forma pública
Comité directivo: El proyecto está en proceso de establecer una estructura de gobernanza transparente con un comité directivo. Mientras tanto, las decisiones se toman por consenso entre todos los miembros activos.

Casos de uso

  • Nextcloud empresarial: Suite ofimática integrada para colaboración interna
  • Administraciones públicas: Soberanía digital con datos bajo control gubernamental
  • Educación: Plataformas educativas con edición colaborativa de documentos
  • Organizaciones sin ánimo de lucro: Herramientas ofimáticas sin costes de licencia
  • Empresas europeas: Cumplimiento con GDPR y soberanía de datos
  • Intranets corporativas: Edición de documentos sin depender de servicios externos

Comentarios

Entradas populares de este blog

NAS SYNOLOGY DSM 7.1 en VMware ESXI - Guía instalación y configuración Synology DSM 7.1 en VMWARE

Solución al error: «user is not in the sudoers file» en Debian

Comando "NET USE", uso, parámetros y algunos ejemplos de uso