Windows
This guide explains how to install, configure, and uninstall Colibri Server on Windows.
Requirements
Windows 10 (version 1809) or newer, or Windows Server 2019 or newer
Administrator privileges
At least 500 MB free disk space
.NET Framework 4.7.2 or newer (usually pre-installed)
Optional: Memcached for caching (recommended for production)
Installation
Download
Download the latest MSI installer from the GitHub Releases page:
# Using PowerShell
Invoke-WebRequest -Uri "https://github.com/corpus-core/colibri-stateless/releases/latest/download/colibri-server-1.0.0.msi" -OutFile "colibri-server-1.0.0.msi"Install via GUI
Double-click the downloaded
.msifileFollow the installation wizard
Choose installation directory (default:
C:\Program Files\Colibri\)Configure server port and blockchain (optional, can be changed later)
Click "Install"
Allow firewall rule creation when prompted
Install via Command Line
Open PowerShell or Command Prompt as Administrator:
# Silent installation
msiexec /i colibri-server-1.0.0.msi /qn
# Installation with GUI
msiexec /i colibri-server-1.0.0.msi
# Installation with logging
msiexec /i colibri-server-1.0.0.msi /l*v install.logWhat Gets Installed
The installer places files in the following locations:
Binary:
C:\Program Files\Colibri\colibri-server.exeConfiguration:
C:\ProgramData\Colibri\server.confWindows Service: Installed as
ColibriServerLogs: Windows Event Log (Application) and
C:\ProgramData\Colibri\logs\Firewall Rule: Allows incoming TCP connections on configured port (default: 8090)
Automatic Service Start
The Colibri Server is automatically installed as a Windows Service and:
Starts immediately after installation
Starts automatically with Windows
Runs with restricted LocalService privileges
Restarts automatically on failure
The service listens on port 8090 by default.
Configuration
Edit Configuration File
Use Notepad or any text editor as Administrator:
notepad C:\ProgramData\Colibri\server.confKey Configuration Parameters
# Server port
PORT=8090
# Blockchain (1=Mainnet, 11155111=Sepolia, 17000=Holesky)
CHAIN_ID=1
# RPC endpoints (comma-separated)
RPC=https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY
# Beacon Chain API endpoints (comma-separated)
BEACON=https://lodestar-mainnet.chainsafe.io/
# Logging level (0=Error, 1=Warning, 2=Info, 3=Debug)
LOG_LEVEL=0
# Web UI (0=disabled, 1=enabled) - Only enable on trusted networks!
WEB_UI_ENABLED=0Reload Configuration
After changing the configuration, restart the service:
Restart-Service -Name ColibriServerEnable Memcached (Optional, Recommended for Production)
Memcached significantly improves performance by caching external RPC/Beacon API requests.
Install:
Download memcached for Windows: https://memcached.org/downloads
Or use pre-built binaries: https://github.com/nono303/memcached/releases
Run as service:
# Install as Windows service
sc.exe create Memcached binPath= "C:\memcached\memcached.exe -d runservice" start= auto
sc.exe start Memcached
# Or install using Chocolatey
choco install memcachedConfigure:
notepad C:\ProgramData\Colibri\server.conf
# Set: MEMCACHED_HOST=localhostRestart Colibri Server:
Restart-Service -Name ColibriServerVerify it's working:
# Check memcached is running
Get-Service -Name Memcached
# Check Colibri Server logs
Get-EventLog -LogName Application -Source ColibriServer -Newest 20 | Select-Object MessageEnable Web UI (Optional)
To enable the web-based configuration interface:
Edit the config file:
notepad C:\ProgramData\Colibri\server.confSet
WEB_UI_ENABLED=1Restart the service:
Restart-Service -Name ColibriServerAccess the UI at: http://localhost:8090/ui
⚠️ Security Warning: Only enable the Web UI on trusted local networks. It has no authentication and should never be exposed to the internet.
Service Management
Using PowerShell
# Start service
Start-Service -Name ColibriServer
# Stop service
Stop-Service -Name ColibriServer
# Restart service
Restart-Service -Name ColibriServer
# View status
Get-Service -Name ColibriServer
# View detailed status
Get-Service -Name ColibriServer | Select-Object *
# Set service to start automatically (default)
Set-Service -Name ColibriServer -StartupType Automatic
# Set service to start manually
Set-Service -Name ColibriServer -StartupType Manual
# Disable service
Set-Service -Name ColibriServer -StartupType DisabledUsing Services GUI
Press
Win + Rand typeservices.mscFind "Colibri Server" in the list
Right-click for Start/Stop/Restart options
Double-click to configure startup type
Using Command Prompt
REM Start service
net start ColibriServer
REM Stop service
net stop ColibriServer
REM View status
sc query ColibriServerView Logs
Event Viewer
Press
Win + Rand typeeventvwr.mscNavigate to Windows Logs → Application
Filter by source: ColibriServer
PowerShell
# View last 50 events
Get-EventLog -LogName Application -Source ColibriServer -Newest 50
# View only error events
Get-EventLog -LogName Application -Source ColibriServer -EntryType Error -Newest 20
# Export logs to file
Get-EventLog -LogName Application -Source ColibriServer -Newest 100 | Out-File colibri-logs.txtLog Files
Check the log directory for detailed logs:
Get-Content C:\ProgramData\Colibri\logs\server.log -Tail 50Firewall Configuration
Check Firewall Rule
# View Colibri firewall rules
Get-NetFirewallRule -DisplayName "Colibri Server*" | Format-TableManually Add Firewall Rule
If the installer didn't create the firewall rule:
New-NetFirewallRule -DisplayName "Colibri Server" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 8090 `
-Action Allow `
-Description "Allow inbound connections to Colibri Server"Remove Firewall Rule
Remove-NetFirewallRule -DisplayName "Colibri Server"Uninstallation
Using GUI
Open Settings → Apps → Apps & features
Search for "Colibri Server"
Click and select Uninstall
Follow the uninstallation wizard
Choose whether to keep configuration files
Using PowerShell
# Find the product code
$app = Get-WmiObject -Class Win32_Product | Where-Object { $_.Name -like "*Colibri*" }
$app | Select-Object Name, IdentifyingNumber
# Uninstall silently
msiexec /x {PRODUCT-GUID} /qn
# Or uninstall with GUI
msiexec /x {PRODUCT-GUID}Using MSI File
msiexec /x colibri-server-1.0.0.msiManual Cleanup (if needed)
If you want to remove all traces after uninstallation:
# Stop and remove service (if still exists)
Stop-Service -Name ColibriServer -ErrorAction SilentlyContinue
sc.exe delete ColibriServer
# Remove installation directory
Remove-Item -Path "C:\Program Files\Colibri" -Recurse -Force
# Remove configuration and data
Remove-Item -Path "C:\ProgramData\Colibri" -Recurse -Force
# Remove firewall rule
Remove-NetFirewallRule -DisplayName "Colibri Server*"Troubleshooting
Service Won't Start
Check Event Viewer logs:
Get-EventLog -LogName Application -Source ColibriServer -EntryType Error -Newest 10Common issues:
Port 8090 already in use → Change
PORTin config fileInvalid RPC endpoints → Check network connectivity
Config file syntax error → Validate config file format
Permission issues → Ensure service has necessary permissions
Test manually:
& "C:\Program Files\Colibri\colibri-server.exe" -c "C:\ProgramData\Colibri\server.conf"
Port Already in Use
Check what's using port 8090:
# Find process using port 8090
Get-NetTCPConnection -LocalPort 8090 | Select-Object OwningProcess
Get-Process -Id <ProcessId>Either stop that process or change the port in C:\ProgramData\Colibri\server.conf.
Permission Denied Errors
Ensure the service has read access to configuration:
# Grant read permissions to LocalService
$acl = Get-Acl "C:\ProgramData\Colibri\server.conf"
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule(
"NT AUTHORITY\LOCAL SERVICE", "Read", "Allow"
)
$acl.SetAccessRule($rule)
Set-Acl "C:\ProgramData\Colibri\server.conf" $aclService Crashes Immediately
Check for missing DLL dependencies:
# Download and install Visual C++ Redistributable if needed
# https://aka.ms/vs/17/release/vc_redist.x64.exeFirewall Blocking Connections
Temporarily disable Windows Firewall to test:
# Disable (test only!)
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
# Re-enable
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled TrueIf it works with firewall disabled, add the rule manually (see Firewall Configuration section).
Building from Source
If you want to build the installer yourself:
cd installer\windows
.\build_installer.ps1Requirements:
Visual Studio 2022 (or newer) with C++ build tools
WiX Toolset 3.11+ (https://wixtoolset.org/)
CMake (https://cmake.org/)
Output: ..\..build\colibri-server-1.0.0.msi
Support
Documentation: https://corpus-core.gitbook.io/specification-colibri-stateless
Issues: https://github.com/corpus-core/colibri-stateless/issues
Email: jork@corpus.io
License
The Colibri core library is licensed under the MIT License.
The server component is dual-licensed:
PolyForm Noncommercial License 1.0.0 for non-commercial use
Commercial License required for commercial use (contact jork@corpus.io)
Last updated