Before you begin
- A supported x64 Windows computer
- The current Community Edition Windows installer from /download
- An organization name, administrator email, and password for first setup
- Permission to add a firewall rule if the server will accept LAN connections
Download and verify the installer
- 1
Choose the Windows server package
Open /download and select the Windows x64 EXE under Server Community Edition. Chat desktop downloads are a different product.
- 2
Compare its SHA-256
Open PowerShell in the folder containing the downloaded EXE. Use Get-FileHash and compare the complete value with the SHA-256 shown for that exact filename on /download.
- 3
Check the publisher signature
Use Get-AuthenticodeSignature and confirm that the release installer has a valid Orchestris publisher signature before running it.
$installer = Get-ChildItem ".\Orchestris-Setup-*-windows-x64.exe" |
Sort-Object LastWriteTime -Descending |
Select-Object -First 1
if (-not $installer) { throw "Community Edition installer not found in this folder." }
Get-FileHash -Algorithm SHA256 $installer.FullName
Get-AuthenticodeSignature $installer.FullName | Format-List Status,SignerCertificateInstall and create the first administrator
- 1
Run the installer as your Windows user
The package is a per-user installation under %LOCALAPPDATA% and does not install a Windows service.
- 2
Create the workspace
Enter the organization name, administrator email, and password. The password is used for the one-time initialization and is not written to orchestris.env.
- 3
Choose network access
Keep This computer only for 127.0.0.1 access, or intentionally choose LAN/custom access, a port, and the public API origin clients will use. The default is http://localhost:8080.
- 4
Finish and start
The installer checks the selected address and port, initializes the SQLite database, and offers to start Orchestris. Optional sign-in autostart launches the tray for this user.
Start, stop, and verify the server
Open Orchestris from the Start Menu to launch the tray. The tray starts and stops the server and provides Open Orchestris, Status, Start Server, Restart Server, Stop Server, and Exit Orchestris. The package does not install a Windows service.
$health = Invoke-WebRequest http://127.0.0.1:8080/health
$chat = Invoke-WebRequest http://127.0.0.1:8080/app/
"Health: $($health.StatusCode)"
"Hosted Chat: $($chat.StatusCode)"Both checks should print status 200. Then choose Open Orchestris from the tray and confirm that the hosted Chat sign-in page opens. If either request fails, open Status in the tray and inspect the listed log files.
Know what to back up
| Purpose | Location |
|---|---|
| Installed application | %LOCALAPPDATA%\Programs\Orchestris |
| Secret-bearing configuration | %LOCALAPPDATA%\Orchestris\orchestris.env |
| SQLite database | %LOCALAPPDATA%\Orchestris\orchestris.db |
| API logs | %LOCALAPPDATA%\Orchestris\logs\orchestris-api.stdout.log and orchestris-api.stderr.log |
| Automatic upgrade backups | %LOCALAPPDATA%\Orchestris\backups\upgrade-<timestamp> |
- Purpose
- Installed application
- Location
- %LOCALAPPDATA%\Programs\Orchestris
- Purpose
- Secret-bearing configuration
- Location
- %LOCALAPPDATA%\Orchestris\orchestris.env
- Purpose
- SQLite database
- Location
- %LOCALAPPDATA%\Orchestris\orchestris.db
- Purpose
- API logs
- Location
- %LOCALAPPDATA%\Orchestris\logs\orchestris-api.stdout.log and orchestris-api.stderr.log
- Purpose
- Automatic upgrade backups
- Location
- %LOCALAPPDATA%\Orchestris\backups\upgrade-<timestamp>
Change network configuration deliberately
Loopback access needs no inbound firewall exposure. LAN or reverse-proxy access requires a reviewed bind address, the actual HTTP(S) public API origin, and any required Windows Firewall rule. The installer checks whether it can bind the selected address and port but does not create a firewall rule.
$install = "$env:LOCALAPPDATA\Programs\Orchestris"
$state = "$env:LOCALAPPDATA\Orchestris"
& "$install\run-orchestris.ps1" -InstallDir $install -StateDir $state `
-EnvFile "$state\orchestris.env" -ConfigCheckAfter changing ORCHESTRIS_SERVER__HOST, ORCHESTRIS_SERVER__PORT, or ORCHESTRIS_SERVER__PUBLIC_BASE_URL in orchestris.env, run the configuration check and restart the server from the tray.
Upgrade or remove Windows Community Edition
- 1
Create a complete independent backup
Stop the server from the tray, then copy the entire %LOCALAPPDATA%\Orchestris directory to protected backup storage. Verify that the backup contains orchestris.env, orchestris.db, and any WAL/SHM files before upgrading.
- 2
Upgrade in place
Download and verify the newer EXE, then run it as the same Windows user. Setup stops only the installed Orchestris tray and API processes before replacing packaged files.
- 3
Treat the installer snapshot as best-effort
Setup attempts to copy the environment, database, WAL, and SHM files into a timestamped directory and retains the latest five automatic snapshots. Individual copies can fail or the snapshot can be skipped, and it does not include the complete state directory. It is not a substitute for the independent stopped-state backup.
- 4
Verify after upgrade
Start the tray, check Status and its logs, then verify /health and /app/. Automatic rollback and downgrade restoration are not provided.
- 5
Uninstall the application
Use Uninstall Orchestris from the Start Menu or Windows Installed Apps. Uninstall stops the tray and API and removes installer-owned application files.
- 6
Decide whether to retain data
Uninstall intentionally preserves %LOCALAPPDATA%\Orchestris. Remove that state manually only after verifying a backup and deciding that the database, secrets, logs, and upgrade backups are no longer needed.