Skip to content

Installation

This guide covers the installation and setup of EvidentSource for different environments and use cases.

  • CPU: 2 cores (x86_64 or ARM64)
  • Memory: 4GB RAM
  • Storage: 10GB available space
  • OS: Linux, macOS, or Windows (via WSL2)
  • CPU: 4+ cores (ARM64/Graviton preferred for AWS)
  • Memory: 16GB+ RAM
  • Storage: 100GB+ SSD
  • OS: Ubuntu 22.04 LTS or Amazon Linux 2023

For containerized deployments:

Terminal window
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install docker.io docker-compose
# macOS
brew install docker docker-compose
# Start Docker service
sudo systemctl start docker # Linux
# or use Docker Desktop on macOS/Windows

Required if you’re building applications using our JVM client libraries:

Terminal window
# Install Java 17+
# Ubuntu/Debian
sudo apt install openjdk-17-jdk
# macOS
brew install openjdk@17
# Verify
java -version

The recommended way to deploy EvidentSource is through AWS Marketplace:

  1. Visit the EvidentSource AWS Marketplace listing (coming soon)
  2. Subscribe to the product
  3. Launch using CloudFormation or ECS

Use the official Docker image from our registry:

Terminal window
# Login to EvidentSource registry (credentials provided after purchase)
docker login registry.evidentsource.com
# Pull the image
docker pull registry.evidentsource.com/evidentsource-server:latest
# Run with in-memory storage (development only)
docker run -p 8080:8080 registry.evidentsource.com/evidentsource-server:latest --scheme http in-memory

Download pre-built binaries from your customer portal:

Terminal window
# Download from your customer portal
# https://customers.evidentsource.com/downloads
# Example installation
chmod +x evidentsource-server-linux-x86_64
sudo mv evidentsource-server-linux-x86_64 /usr/local/bin/evidentsource-server
Terminal window
# Install runtime dependencies
sudo apt-get update
sudo apt-get install -y ca-certificates
# Download and install from customer portal
wget https://customers.evidentsource.com/downloads/evidentsource-server-linux-x86_64
chmod +x evidentsource-server-linux-x86_64
sudo mv evidentsource-server-linux-x86_64 /usr/local/bin/evidentsource-server
Terminal window
# Install runtime dependencies
sudo yum install ca-certificates
# Download and install from customer portal
wget https://customers.evidentsource.com/downloads/evidentsource-server-linux-x86_64
chmod +x evidentsource-server-linux-x86_64
sudo mv evidentsource-server-linux-x86_64 /usr/local/bin/evidentsource-server
Terminal window
# Download from customer portal
# Run the installer package (.pkg)
# Or use the binary directly:
chmod +x evidentsource-server-darwin-x86_64
sudo mv evidentsource-server-darwin-x86_64 /usr/local/bin/evidentsource-server

Use Docker Desktop for Windows with our official Docker images:

Terminal window
# Install Docker Desktop
# Then run EvidentSource container
docker run -p 8080:8080 registry.evidentsource.com/evidentsource-server:latest

Or use WSL2 and follow Linux instructions.

EvidentSource provides pre-built binaries for:

  • Linux x86_64: Standard Intel/AMD processors
  • Linux ARM64: AWS Graviton and other ARM processors
  • macOS x86_64: Intel Macs
  • macOS ARM64: Apple Silicon (M1/M2/M3)
  • Windows: Via Docker or WSL2

All binaries are optimized for their respective architectures.

Terminal window
# Server configuration
export EVIDENT_DB_PORT=8080
export EVIDENT_DB_HOST=0.0.0.0
export EVIDENT_DB_SCHEME=https
# Storage configuration (DynamoDB)
export AWS_REGION=us-east-1
export AWS_ENDPOINT_URL=http://localhost:4566 # LocalStack
# Logging
export RUST_LOG=evidentsource=debug,tower_http=debug

Create config.toml:

[server]
host = "0.0.0.0"
port = 8080
scheme = "http"
[storage]
adapter = "dynamodb"
[dynamodb]
endpoint_url = "http://localhost:4566"
region = "us-east-1"
Terminal window
evidentsource-server --version

Start the server and verify:

Terminal window
# Start server
evidentsource-server --scheme http in-memory
# In another terminal
curl http://localhost:8080/health
# Should return: OK

After installation, verify EvidentSource is working:

Terminal window
# Check version
evidentsource-server --version
# Run health check (after starting server)
curl http://localhost:8080/health

Add to pom.xml:

<dependency>
<groupId>com.evidentdb</groupId>
<artifactId>evidentsource-client</artifactId>
<version>0.1.0</version>
</dependency>

Add to build.gradle.kts:

dependencies {
implementation("com.evidentdb:evidentsource-client:0.1.0")
}

Add to Cargo.toml:

[dependencies]
evidentsource-client = "0.1.0"

Create /etc/systemd/system/evident-source.service:

[Unit]
Description=EvidentSource Server
After=network.target
[Service]
Type=simple
User=evident
ExecStart=/usr/local/bin/evidentsource-server --scheme http dynamodb
Restart=always
RestartSec=10
Environment="RUST_LOG=evidentsource=info"
[Install]
WantedBy=multi-user.target

Enable and start:

Terminal window
sudo systemctl enable evidentsource
sudo systemctl start evidentsource
sudo systemctl status evidentsource

Permission denied:

Terminal window
# Ensure executable permissions
chmod +x evidentsource-server
# Check file ownership
ls -la /usr/local/bin/evidentsource-server
# Fix if needed
sudo chown root:root /usr/local/bin/evidentsource-server

Missing dependencies:

Terminal window
# Linux: Install required libraries
sudo apt-get install ca-certificates libssl1.1
# macOS: Install via Homebrew if needed
brew install openssl

Port already in use:

Terminal window
# Find process using port
lsof -i :8080
# Use different port
evidentsource-server --port 8081

Permission denied:

Terminal window
# Check file permissions
ls -la /usr/local/bin/evidentsource-server
# Fix permissions
chmod +x /usr/local/bin/evidentsource-server