How to Deploy OTserver With Docker Compose

Prerequisites

Use the repository’s Docker Compose file, a long random OTSERVER_SECRET, and a .env file that is not committed. Keep the MongoDB volume and admin endpoint within the approved host boundary.

Deployment

From the OTserver repository:

1
2
3
cp .env.example .env
# Replace OTSERVER_SECRET in .env with a long random value.
docker compose up

Open http://localhost:3000/admin and create the first account. The first account receives the protected Admin role. Then create the site hierarchy that will receive discovery imports.

Import configuration

Import an authorized scanner export through Imports → Create New, or configure the scanner’s direct upload with the destination URL, site document ID, and a user API key with read/write access to that site.

Verify the result

Sign in at /admin, confirm that the expected site exists, and create a small authorized import before planning a plant-wide rollout. The import result shows created, updated, skipped, unresolved, and warning counts.

Deploy the scanner on Linux or plan a plant rollout.