Skip to content

Deployment Overview of OnlyOffice on Server

Prerequisites and Basic Requirements

To ensure a successful deployment, the following requirements must be met:

  • Operating System: Ubuntu

  • Privileges: Root or sudo access is required for installing Docker and managing containers.

  • Ports:

  • 8080/TCP: Internal application traffic (localhost).

  • 443/TCP: External HTTPS traffic via Nginx proxy.

FQDN of the final panel on the hostkey.in domain

The application is accessible via a specific subdomain template based on the server ID.

Parameter Value
Prefix only-docs
Domain hostkey.in
Full template only-docs{Server_ID}.hostkey.in

Application installation process

The application is deployed using a combination of Docker container orchestration and an Nginx reverse proxy setup:

  1. Docker Installation: The system environment is prepared by installing the Docker engine.

  2. Application Deployment: The OnlyOffice Docs container is started using the onlyoffice/documentserver:9.3 image.

  3. Proxy Configuration: An Nginx service is deployed via Docker Compose to handle SSL termination and traffic routing.

Access Rights and Security

  • Firewall: Access is restricted to port 443 for external users. The application itself listens on 127.0.0.1:8080 to prevent direct exposure to the public internet.

  • JWT Security: JSON Web Token (JWT) security is enabled by default to secure communication between the document server and integrated applications.

Docker Containers and Their Deployment

The deployment consists of two primary containerized components:

OnlyOffice Docs Container

  • Image: onlyoffice/documentserver:9.3

  • Ports: 127.0.0.1:8080:80

  • Environment Variables:

  • JWT_ENABLED: true

  • JWT_SECRET: change_me

  • Restart Policy: always

Nginx Proxy Container

  • Image: jonasal/nginx-certbot:latest

  • Network Mode: host

  • Volumes:

  • nginx_secrets:/etc/letsencrypt (SSL certificates)

  • /data/nginx/user_conf.d:/etc/nginx/user_conf.d (User configuration files)

  • Restart Policy: unless-stopped

Custom Scripts and Additional Setup

The deployment includes automated configuration updates to ensure the Nginx proxy correctly routes traffic to the application:

  • Proxy Configuration Update: A script modifies the Nginx configuration file located at /data/nginx/user_conf.d/{prefix}{server_id}.hostkey.in.conf. It replaces existing proxy_pass directives with proxy_pass http://127.0.0.1:8080; to ensure traffic is directed to the local OnlyOffice container.

  • Directory Setup: The directory /root/nginx is created to manage the Nginx Docker Compose configuration.

Application Update Instructions

To update the main application, perform the following steps:

  1. Pull the latest image for the document server.

  2. Recreate the container to apply changes:

    docker compose pull && docker compose up -d
    

Location of configuration files and data

  • Nginx Configuration Directory: /root/nginx

  • User Nginx Configs: /data/nginx/user_conf.d/

  • SSL Certificates: Managed via the nginx_secrets Docker volume.

Available ports for connection

Port Protocol Usage
443 TCP External HTTPS Access
8080 TCP Internal Application Service (Localhost only)
question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×