- Inicio
- Docs
- Instalación y configuración
- Desarrollador
- Versión de Docker
- Instalación de la versión Docker de ONLYOFFICE Docs para arm64
Instalación de la versión Docker de ONLYOFFICE Docs para arm64
Introducción
A partir de la versión 7.1, ONLYOFFICE Docs se puede instalar utilizando Docker para la arquitectura ARM de 64 bits.
Developer Edition te permite instalar ONLYOFFICE Docs en tu servidor local e integrar los editores en línea con tu aplicación web.
ONLYOFFICE Docs es una suite ofimática en línea que incluye visores y editores para textos, hojas de cálculo y presentaciones, totalmente compatible con los formatos Office Open XML: .docx, .xlsx, .pptx y que permite la edición colaborativa en tiempo real.
Funcionalidades
- Editor de documentos
- Editor de hojas de cálculo
- Editor de presentaciones
- Visores web móviles
- Editores web móviles
- Edición colaborativa
- Soporte para jeroglíficos
- Compatibilidad con todos los formatos populares: DOC, DOCX, TXT, ODT, RTF, ODP, EPUB, ODS, XLS, XLSX, CSV, PPTX, HTML
Consulta la lista detallada de características disponibles para ONLYOFFICE Docs Developer Edition.
Esta guía te mostrará cómo instalar la versión Docker de ONLYOFFICE Docs Developer Edition versión 7.2 y posteriores para la arquitectura ARM de 64 bits.
Requisitos del sistema
-
CPUProcesadores ARM de 64 bits
-
RAM4 GB o más
-
HDDal menos 40 GB de espacio libre
-
SWAPal menos 4 GB, pero depende del sistema operativo del host. Más es mejor
-
OSDistribución Linux para arm64
-
Requisitos adicionales
- Docker: cualquier versión soportada por el equipo de Docker
Instalación de ONLYOFFICE Docs
/etc/default/docker y cambia la dirección IP en la siguiente línea a la dirección IP de un servidor DNS en tu red local:
docker_OPTS="--dns 8.8.8.8"
Para los sistemas operativos basados en RPM como CentOS:
-
Crea el archivo de configuración
/etc/docker/daemon.jsoncon el siguiente contenido:{ "dns" : [ "8.8.8.8" ] } -
Reinicia el servicio Docker:
sudo systemctl restart docker.service
Después de instalar Docker, ejecútalo y ejecuta el siguiente comando:
sudo docker run -i -t -d -p 80:80 --restart=always -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-de:latest
-e JWT_SECRET=my_jwt_secret.
Si no vas a usar JWT en tu instalación, utiliza -e JWT_ENABLED=false.
sudo docker run -i -t -d -p <PORT_NUMBER>:80 --restart=always -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-de:latest
Donde <PORT_NUMBER> es el número de puerto que deseas que use ONLYOFFICE Docs.
Esto instalará ONLYOFFICE Docs y todas las dependencias que necesita (la lista de lo que hace el script se puede encontrar aquí).
Almacenamiento de datos fuera de los contenedores
Todos los datos se almacenan en directorios especialmente designados, volúmenes de datos, en la siguiente ubicación:
/var/log/onlyofficepara los registros de ONLYOFFICE Docs/var/www/onlyoffice/Datapara certificados/var/lib/onlyofficepara caché de archivos/var/lib/postgresqlpara la base de datos
Para acceder a tus datos ubicados fuera del contenedor, necesitas montar los volúmenes. Esto se puede hacer especificando la opción -v en el comando docker run.
sudo docker run -i -t -d -p 80:80 --restart=always \
-v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
-v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice \
-v /
app/onlyoffice/DocumentServer/db:/var/lib/postgresql -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-de:latest
Normalmente, no necesita almacenar datos del contenedor porque la operación del contenedor no depende de su estado. Guardar datos será útil:
- para un fácil acceso a los datos del contenedor, como los registros;
- para eliminar el límite en el tamaño de los datos dentro del contenedor;
- cuando se utilizan servicios lanzados fuera del contenedor, como PostgreSQL, Redis, RabbitMQ.
Ejecutar ONLYOFFICE Docs usando HTTPS
sudo docker run -i -t -d -p 443:443 --restart=always \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-de:latest
El acceso a la aplicación onlyoffice se puede asegurar usando SSL para prevenir el acceso no autorizado. Aunque un certificado SSL certificado por una CA permite la verificación de confianza a través de la CA, los certificados autofirmados también pueden proporcionar un nivel igual de verificación de confianza siempre que cada cliente tome algunos pasos adicionales para verificar la identidad de su sitio web. Las instrucciones para lograr esto se proporcionan a continuación.
Para asegurar la aplicación mediante SSL, básicamente se necesitan dos cosas:
- Clave privada (.key)
- Certificado SSL (.crt)
Por lo tanto, necesita crear e instalar los siguientes archivos:
/app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
/app/onlyoffice/DocumentServer/data/certs/onlyoffice.crt
Cuando se utilizan certificados certificados por una CA (por ejemplo, Let's Encrypt), estos archivos son proporcionados por la CA. Si está utilizando certificados autofirmados, necesita generar estos archivos usted mismo.
Cambiar ONLYOFFICE Docs a HTTPS usando certbot
La forma más fácil de cambiar ONLYOFFICE Docs a HTTPS es obtener automáticamente certificados SSL de Let's Encrypt usando certbot.
Ejecute el contenedor Docker de ONLYOFFICE Docs, especificando los puertos 80 y 443 y configurando sus propios valores para las variables:
sudo docker run -i -t -d -p 80:80 -p 443:443 --restart=always \
-e LETS_ENCRYPT_DOMAIN=yourdomain.com -e LETS_ENCRYPT_MAIL=email@example.com -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-de:latest
Dónde:
- LETS_ENCRYPT_DOMAIN - un nombre de dominio para usar en el certificado.
- LETS_ENCRYPT_MAIL - un correo electrónico utilizado para el registro y contacto de recuperación.
El certificado firmado por la CA letsencrypt.org se generará e instalará automáticamente en su servidor. Ahora, su ONLYOFFICE Docs debería estar disponible en la dirección https://yourdomain.com.
Generación de certificados autofirmados
La generación de certificados SSL autofirmados implica un procedimiento simple de 3 pasos
PASO 1: Crear la clave privada del servidor
openssl genrsa -out onlyoffice.key 2048
PASO 2: Crear la solicitud de firma de certificado (CSR)
openssl req -new -key onlyoffice.key -out onlyoffice.csr
PASO 3: Firmar el certificado usando la clave privada y el CSR
openssl x509 -req -days 365 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt
Ahora ha generado un certificado SSL válido por 365 días.
Fortalecimiento de la seguridad del servidor
Esta sección le proporciona instrucciones para fortalecer la seguridad de su servidor.
Para lograr esto, necesita generar parámetros DHE más fuertes.
openssl dhparam -out dhparam.pem 2048
Instalación de los certificados SSL
De los cuatro archivos generados anteriormente, necesita instalar los archivos onlyoffice.key, onlyoffice.crt y dhparam.pem en el servidor onlyoffice. El archivo CSR no es necesario, pero asegúrese de hacer una copia de seguridad del archivo de forma segura (en caso de que lo necesite nuevamente).
La ruta predeterminada que la aplicación onlyoffice está configurada para buscar los certificados SSL es /var/www/onlyoffice/Data/certs, sin embargo, esto se puede cambiar utilizando las opciones de configuración SSL_KEY_PATH, SSL_CERTIFICATE_PATH y SSL_DHPARAM_PATH.
La ruta /var/www/onlyoffice/Data/ es la ruta del almacén de datos, lo que significa que debe crear una carpeta llamada certs dentro de /app/onlyoffice/DocumentServer/data/ y copiar los archivos en ella y como medida de seguridad actualizará el permiso en el archivo onlyoffice.key para que solo sea legible por el propietario.
mkdir -p /app/onlyoffice/DocumentServer/data/certs
cp onlyoffice.key /app/onlyoffice/DocumentServer/data/certs/
cp onlyoffice.crt /app/onlyoffice/DocumentServer/data/certs/
cp dhparam.pem /app/onlyoffice/DocumentServer/data/certs/
chmod 400 /app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
Y reinicia el contenedor de Docker:
sudo docker restart {{DOCUMENT_SERVER_ID}}
Ahora estás a solo un paso de tener nuestra aplicación asegurada.
Parámetros de configuración disponibles
--env-file, donde puedes especificar todas las variables de entorno requeridas en un solo archivo. Esto te ahorrará de escribir un comando docker run potencialmente largo.A continuación se muestra la lista completa de parámetros que se pueden configurar usando variables de entorno.
- ONLYOFFICE_HTTPS_HSTS_ENABLED: Opción de configuración avanzada para desactivar la configuración HSTS. Aplicable solo cuando se usa SSL. Por defecto es
true. - ONLYOFFICE_HTTPS_HSTS_MAXAGE: Opción de configuración avanzada para establecer el max-age de HSTS en la configuración del vHost de onlyoffice NGINX. Aplicable solo cuando se usa SSL. Por defecto es
31536000. - SSL_CERTIFICATE_PATH: La ruta al certificado SSL a utilizar. Por defecto es
/var/www/onlyoffice/Data/certs/tls.crt. - SSL_KEY_PATH: La ruta a la clave privada del certificado SSL. Por defecto es
/var/www/onlyoffice/Data/certs/tls.key. - SSL_DHPARAM_PATH: La ruta al parámetro Diffie-Hellman. Por defecto es
/var/www/onlyoffice/Data/certs/dhparam.pem. - SSL_VERIFY_CLIENT: Habilitar la verificación de certificados de cliente usando el
CA_CERTIFICATES_PATH file. Por defecto esfalse. - DB_TYPE: El tipo de base de datos. Los valores soportados son
postgres,mariadbomysql. Por defecto espostgres. - DB_HOST: La dirección IP o el nombre del host donde se ejecuta el servidor de base de datos.
- DB_PORT: El número de puerto del servidor de base de datos.
- DB_NAME: El nombre de una base de datos que se creará al iniciar la imagen.
- DB_USER: El nuevo nombre de usuario con permisos de superusuario para la cuenta de base de datos.
- DB_PWD: La contraseña establecida para la cuenta de base de datos.
- AMQP_URI: El URI AMQP para conectarse al servidor del broker de mensajes.
- AMQP_TYPE: El tipo de broker de mensajes. Los valores soportados son
rabbitmqoactivemq. Por defecto esrabbitmq. - REDIS_SERVER_HOST: La dirección IP o el nombre del host donde se ejecuta el servidor Redis.
- REDIS_SERVER_PORT: El número de puerto del servidor Redis.
- REDIS_SERVER_PASS: La contraseña del servidor Redis. La contraseña no está establecida por defecto.
- NGINX_WORKER_PROCESSES: Define el número de procesos de trabajo de NGINX.
- NGINX_WORKER_CONNECTIONS: Establece el número máximo de conexiones simultáneas que puede abrir un proceso de trabajo de NGINX.
- SECURE_LINK_SECRET: Define el secreto para la directiva de configuración nginx secure_link_md5. Por defecto es
random string. - JWT_ENABLED: Especifica la habilitación de la validación del token web JSON por ONLYOFFICE Docs. Por defecto es
true. - JWT_SECRET: Define la clave secreta para validar el token web JSON en la solicitud a ONLYOFFICE Docs. Por defecto es un valor aleatorio.
- JWT_HEADER: Define el encabezado HTTP que se usará para enviar el token web JSON. Por defecto es
Authorization. - JWT_IN_BODY: Especifica la habilitación de la validación del token en el cuerpo de la solicitud a ONLYOFFICE Docs. Por defecto es
false. - ALLOW_META_IP_ADDRESS: Define si se permite conectar la dirección IP meta o no. Por defecto es
false. - ALLOW_PRIVATE_IP_ADDRESS: Define si se permite conectar la dirección IP privada o no. Por defecto es
false. - WOPI_ENABLED: Especifica la habilitación de los manejadores wopi. Por defecto es
false. - USE_UNAUTHORIZED_STORAGE: Establece a
truesi se utilizan certificados autofirmados para tu servidor de almacenamiento, por ejemplo, Nextcloud. Por defecto esfalse. - GENERATE_FONTS: Cuando es
true, regenera la lista de fuentes y las miniaturas de las fuentes, etc., en cada inicio. Por defecto estrue. - METRICS_ENABLED: Especifica la habilitación de StatsD para ONLYOFFICE Docs. Por defecto es
false. - METRICS_HOST: Define el host de escucha de StatsD. Por defecto es
localhost. - METRICS_PORT: Define el puerto de escucha de StatsD. Por defecto es
8125. - METRICS_PREFIX: Define el prefijo de métricas de StatsD para los servicios de backend. Por defecto es
ds.. - LETS_ENCRYPT_DOMAIN: Define el dominio para el certificado de Let's Encrypt.
- LETS_ENCRYPT_MAIL: Define la dirección de correo del administrador del dominio para el certificado de Let's Encrypt.
Registrando tu versión Developer Edition
Si compraste Developer Edition y recibiste el archivo license.lic, puedes colocarlo en tu instalación para obtener la versión completa del software.
Cuando estás usando el contenedor de docker, el archivo license.lic puede colocarse en cualquier carpeta (por ejemplo, /app/onlyoffice/DocumentServer/data/license.lic), pero necesitarás montar esta carpeta cuando el contenedor se inicie:
sudo docker run -i -t -d -p 80:80 --restart=always \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
-e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-de:latest
Después de eso, tu versión de Developer Edition estará registrada y con todas las funciones habilitadas.