Installation
This guide covers the installation and setup of EvidentSource for different environments and use cases.
System Requirements
Section titled “System Requirements”Minimum Requirements
Section titled “Minimum Requirements”- CPU: 2 cores (x86_64 or ARM64)
- Memory: 4GB RAM
- Storage: 10GB available space
- OS: Linux, macOS, or Windows (via WSL2)
Recommended for Production
Section titled “Recommended for Production”- CPU: 4+ cores (ARM64/Graviton preferred for AWS)
- Memory: 16GB+ RAM
- Storage: 100GB+ SSD
- OS: Ubuntu 22.04 LTS or Amazon Linux 2023
Installing Prerequisites
Section titled “Installing Prerequisites”Docker
Section titled “Docker”For containerized deployments:
# Ubuntu/Debiansudo apt-get updatesudo apt-get install docker.io docker-compose
# macOSbrew install docker docker-compose
# Start Docker servicesudo systemctl start docker # Linux# or use Docker Desktop on macOS/WindowsJava (For JVM Client Applications)
Section titled “Java (For JVM Client Applications)”Required if you’re building applications using our JVM client libraries:
# Install Java 17+# Ubuntu/Debiansudo apt install openjdk-17-jdk
# macOSbrew install openjdk@17
# Verifyjava -versionInstallation Methods
Section titled “Installation Methods”Method 1: AWS Marketplace
Section titled “Method 1: AWS Marketplace”The recommended way to deploy EvidentSource is through AWS Marketplace:
- Visit the EvidentSource AWS Marketplace listing (coming soon)
- Subscribe to the product
- Launch using CloudFormation or ECS
Method 2: Docker Image
Section titled “Method 2: Docker Image”Use the official Docker image from our registry:
# Login to EvidentSource registry (credentials provided after purchase)docker login registry.evidentsource.com
# Pull the imagedocker 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-memoryMethod 3: Binary Installation
Section titled “Method 3: Binary Installation”Download pre-built binaries from your customer portal:
# Download from your customer portal# https://customers.evidentsource.com/downloads
# Example installationchmod +x evidentsource-server-linux-x86_64sudo mv evidentsource-server-linux-x86_64 /usr/local/bin/evidentsource-serverPlatform-Specific Instructions
Section titled “Platform-Specific Instructions”Ubuntu/Debian
Section titled “Ubuntu/Debian”# Install runtime dependenciessudo apt-get updatesudo apt-get install -y ca-certificates
# Download and install from customer portalwget https://customers.evidentsource.com/downloads/evidentsource-server-linux-x86_64chmod +x evidentsource-server-linux-x86_64sudo mv evidentsource-server-linux-x86_64 /usr/local/bin/evidentsource-serverRed Hat/CentOS/Amazon Linux
Section titled “Red Hat/CentOS/Amazon Linux”# Install runtime dependenciessudo yum install ca-certificates
# Download and install from customer portalwget https://customers.evidentsource.com/downloads/evidentsource-server-linux-x86_64chmod +x evidentsource-server-linux-x86_64sudo mv evidentsource-server-linux-x86_64 /usr/local/bin/evidentsource-server# Download from customer portal# Run the installer package (.pkg)# Or use the binary directly:chmod +x evidentsource-server-darwin-x86_64sudo mv evidentsource-server-darwin-x86_64 /usr/local/bin/evidentsource-serverWindows
Section titled “Windows”Use Docker Desktop for Windows with our official Docker images:
# Install Docker Desktop# Then run EvidentSource containerdocker run -p 8080:8080 registry.evidentsource.com/evidentsource-server:latestOr use WSL2 and follow Linux instructions.
Architecture Support
Section titled “Architecture Support”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.
Configuration
Section titled “Configuration”Environment Variables
Section titled “Environment Variables”# Server configurationexport EVIDENT_DB_PORT=8080export EVIDENT_DB_HOST=0.0.0.0export EVIDENT_DB_SCHEME=https
# Storage configuration (DynamoDB)export AWS_REGION=us-east-1export AWS_ENDPOINT_URL=http://localhost:4566 # LocalStack
# Loggingexport RUST_LOG=evidentsource=debug,tower_http=debugConfiguration File
Section titled “Configuration File”Create config.toml:
[server]host = "0.0.0.0"port = 8080scheme = "http"
[storage]adapter = "dynamodb"
[dynamodb]endpoint_url = "http://localhost:4566"region = "us-east-1"Verifying Installation
Section titled “Verifying Installation”Check Server Version
Section titled “Check Server Version”evidentsource-server --versionHealth Check
Section titled “Health Check”Start the server and verify:
# Start serverevidentsource-server --scheme http in-memory
# In another terminalcurl http://localhost:8080/health# Should return: OKVerify Installation
Section titled “Verify Installation”After installation, verify EvidentSource is working:
# Check versionevidentsource-server --version
# Run health check (after starting server)curl http://localhost:8080/healthClient Library Installation
Section titled “Client Library Installation”JVM (Maven)
Section titled “JVM (Maven)”Add to pom.xml:
<dependency> <groupId>com.evidentdb</groupId> <artifactId>evidentsource-client</artifactId> <version>0.1.0</version></dependency>JVM (Gradle)
Section titled “JVM (Gradle)”Add to build.gradle.kts:
dependencies { implementation("com.evidentdb:evidentsource-client:0.1.0")}Rust Client
Section titled “Rust Client”Add to Cargo.toml:
[dependencies]evidentsource-client = "0.1.0"Systemd Service
Section titled “Systemd Service”Create /etc/systemd/system/evident-source.service:
[Unit]Description=EvidentSource ServerAfter=network.target
[Service]Type=simpleUser=evidentExecStart=/usr/local/bin/evidentsource-server --scheme http dynamodbRestart=alwaysRestartSec=10Environment="RUST_LOG=evidentsource=info"
[Install]WantedBy=multi-user.targetEnable and start:
sudo systemctl enable evidentsourcesudo systemctl start evidentsourcesudo systemctl status evidentsourceTroubleshooting
Section titled “Troubleshooting”Installation Errors
Section titled “Installation Errors”Permission denied:
# Ensure executable permissionschmod +x evidentsource-server
# Check file ownershipls -la /usr/local/bin/evidentsource-server
# Fix if neededsudo chown root:root /usr/local/bin/evidentsource-serverMissing dependencies:
# Linux: Install required librariessudo apt-get install ca-certificates libssl1.1
# macOS: Install via Homebrew if neededbrew install opensslRuntime Errors
Section titled “Runtime Errors”Port already in use:
# Find process using portlsof -i :8080
# Use different portevidentsource-server --port 8081Permission denied:
# Check file permissionsls -la /usr/local/bin/evidentsource-server
# Fix permissionschmod +x /usr/local/bin/evidentsource-serverNext Steps
Section titled “Next Steps”- Follow the Quick Start Guide to create your first database
- Learn about Deployment Options for production
- Explore Configuration Options in detail
- Set up Monitoring and Observability