Edge Server is currently in preview. It is not recommended for production use.
Ditto Edge Server is a lightweight standalone server for resource-constrained edge environments, based on the core Ditto Edge SDK. With Ditto Edge Server, you can join devices as small as a Raspberry Pi to a local mesh network and synchronize data across edge environments.

Prerequisites

Edge Server does not currently support Windows. But it can run in a Docker container using Windows Subsystem for Linux (WSL).
  • Ditto SDK Connection Details from the Ditto Portal
  • Docker on a host that supports linux/arm64 or linux/amd64 platforms using a containerd image store.
  • A Linux Arm64 or Linux x86 host if installing native binaries.

Installation Methods

You can run the Ditto Edge Server as either a Docker container or a pre-built binary. Choose the method that best fits your environment.

Option 1: Docker Container

Download and load the Docker image:
 export TARGET=x86_64-unknown-linux-gnu # For linux/amd64 platform
 export TARGET=aarch64-unknown-linux-gnu # For linux/arm64 platform
 export DATE=2025-08-20  # Use the latest available date or check with your Ditto contact
 URL="https://edge-server-nightlies.s3.us-east-1.amazonaws.com/${DATE}/ditto-edge-server-container_${TARGET}.tar"   

 curl --fail -L "$URL" -o edge-server-image.tar
 docker load -i edge-server-image.tar
 # Tag the image for convenience (replace <image-id> with the actual ID):
 docker tag <image-id> edge-server-container:latest
Run the Edge Server
docker run \
  -rm \
  -p 127.0.0.1:8080:8080 \
  -v ./<your_config>.yaml:/config.yaml edge-server-container:latest \
  run -c /config.yaml

Option 2: Binary

Download the Edge Server binary
 export TARGET=x86_64-unknown-linux-gnu
 export DATE=2025-08-20  # Use the latest available date or check with your Ditto contact
 URL="https://edge-server-nightlies.s3.us-east-1.amazonaws.com/${DATE}/ditto-edge-server_${TARGET}"   

 curl --fail -L "$URL" -o edge-server
 chmod +x edge-server
Run the binary
./edge-server -c ./<your_config>.yaml

Configuration

To get a configuration file, follow the steps in Getting Started: Ditto Database.

Troubleshooting

Refer to the SDK Troubleshooting Guide for more help.
  • Permission denied: Make the binary executable (chmod +x edge-server).
  • Port already in use: Change the -p flag in the Docker command to use a different port.
  • Configuration errors: Double-check your YAML file for typos or missing fields.
  • Log files: See the Logging Configuration guide for details on controlling log verbosity and output.

Configuration Options

Edge Server offers several optional configuration settings: