DocumentionUmo Editor ServerDeployment with Docker

Deploying with Docker

Umo Editor Server provides Docker image deployment capabilities (located in docker/). You can deploy Umo Editor Server using Docker and modify the Dockerfile in the project root directory according to your specific requirements.

Docker deployment simplifies the installation process and is especially suitable for internal network deployments.

0. Prerequisites

Install Docker and log in.

If you need multi-architecture images, make sure docker buildx is enabled on your machine.

Note

The current arm64 image does not support PDF or image export. If your deployment needs /export/pdf, /export/image/:format, or /export/thumbnail, use the amd64 image.

1. Build a Local Docker Image

By default, this builds a single-architecture image that matches your current machine architecture, then exports it as a tar file:

npm run build:docker

After the build finishes:

  • The default local image name is umo-editor-server:latest
  • The exported image file is ./docker/umo-editor-server.tar

If you want to inspect the actual architecture of the local image, run:

npm run docker:inspect

If you want to build a specific architecture explicitly, run:

npm run docker:build:amd64
npm run docker:build:arm64

If you want to build and export a tar file for a specific architecture, run:

npm run build:docker:amd64
npm run build:docker:arm64

In practice:

  • The amd64 image supports PDF and image export
  • The arm64 image currently does not support PDF and image export

2. Build and Push a Multi-Architecture Image

If you want to support both x86_64 and arm64, run:

DOCKER_IMAGE=your-registry/umo-editor-server:latest npm run docker:build:multiarch

This command uses docker buildx to build both linux/amd64 and linux/arm64, then pushes the result directly to your image registry.

Please note that the arm64 variant in the multi-architecture image also does not support PDF or image export.

3. Load the Exported Local Docker Image

# Execute in the project root directory
docker load -i ./docker/umo-editor-server.tar

4. Start the Container

# Execute in the project root directory
docker run -d --name umo-editor-server -p 1235:1235 umo-editor-server:latest

If you change the port mapping, for example -p 8080:1235, then the host access URL becomes http://127.0.0.1:8080.

5. Verify Container Status

# Check the container running status
docker ps | grep umo-editor-server

6. Access Umo Editor Server

The service listens on 0.0.0.0:1235 inside the container by default. If you start the container with -p 1235:1235, open http://127.0.0.1:1235 in your browser to verify that the service is running properly.