Depository — deployment wizard and installers
Depository is a document archiving and retrieval system for enterprises: a REST API, an authentication service, a background ingestion worker, a document gatherer, a digestor, the Customer Intelligence miner and a web interface, running against SQL Server or Oracle.
This package is how Depository is installed and upgraded. It contains the setup wizard, the installers for Windows and Linux, and the configuration template. The service binaries themselves come from a platform package that npm selects for you — see Platform packages below.
This is a commercial product. The package is public on npm so that installed sites can update themselves without a credentialled registry, but running Depository requires a licence.
Most sites never install this by hand
An installed Depository server updates itself. Its update script runs
npm install -g depository-deploy@<version> --include=optional
and then applies what it downloaded. If you are upgrading an existing server, use that server's update script rather than installing this package yourself — it stops the services in the right order, keeps your configuration, and restarts them.
--include=optional matters. Without it npm skips the platform package and you get the installers
with no binaries behind them.
A new installation
1. Prerequisites
| Database | SQL Server 2019+ or Oracle 19c+ — may be on another machine |
| Runtime | .NET 9 ASP.NET Core Runtime (x64) on the Depository server |
| Node | 18 or newer, to run this package |
| Web server | nginx, or IIS on Windows — optional, for serving the UI on port 80 |
2. Run the wizard
npx depository-wizard
It serves a setup page on http://localhost:7474. Answer the questions and it writes a
depository.conf for you.
Prefer to edit the file directly? depository.conf ships with every value commented. The full
step-by-step guide is README.txt in this package — prerequisites, what each setting means,
how to serve the UI under IIS, daily start/stop commands, and troubleshooting.
3. Run the installer
Windows — PowerShell, as Administrator:
cd install
.\install-windows.ps1
Linux:
cd install
sudo bash install-unix.sh
The installer creates the directories, copies the services, generates each service's configuration
from depository.conf, registers and starts the services, configures nginx or Windows Services,
opens the firewall ports and prints a status summary.
4. Open the web interface
Browse to the SITE_URL you configured. The first administrator account is created from the web
UI, or comes from Active Directory if you enabled Windows authentication.
Installing only part of the product
A server can be given one job — most often a machine placed next to the scanners or hot folders it reads, running ingestion only:
COMPONENTS=worker,gatherer
Valid names are api, auth, worker, gatherer, digestor, intelligence, ui. Leave
COMPONENTS blank to install everything, which is what a single server wants.
intelligence is the Customer Intelligence miner: installed with everything, inert until Customer
Intelligence is switched on in Admin > Intelligence. An update refreshes it only where it is already
installed; an existing server gets it by running the installer again.
Only a server with api creates or migrates the database, only one with auth touches the user
directory, and only one with ui is given a web site. Installing one part never stops or replaces
another part already on that machine.
Do not write an ingest server's configuration by hand. Generate it from the main server — the
setup wizard's Export ingest package button, or the DEPOSITORY.TOOLS.SETUP tool in that
server's setup/ folder. The generated file contains database passwords: move it over a trusted
channel and delete it once the ingest server is running.
Upgrading a server whose settings have been changed
Every installer run rewrites each service's configuration from depository.conf. That is right for
a first install, and wrong for a server whose settings have since been changed in the Administrator
screens — those changes live on the server, and a plain upgrade puts them back.
KEEP_SETTINGS=true
A configuration file that is already there is then left alone; one that is missing is still written, so nothing ends up unconfigured.
Upgrading a Windows server without removing its services
Every installer run removes each Depository Windows service and registers it again. That throws away the service's Log On account, its password and its recovery settings — and where granting "Log on as a service" again needs a change request, every upgrade needs one.
UPDATE_IN_PLACE=true
A registered service is then stopped, its files replaced and started again, as the automatic update
does. No database connection is made, so the database password is not needed; the API brings the
database up to date when it starts. Service configuration and the IIS site, app pool and bindings
are left as they are. A service that is new in this release is created as before, running as
LocalSystem — the installer says so, and you set its Log On account by hand. Not for a first
install, and refused together with CLEAN_DB=true. The setup wizard shows this as Update in
place when it finds an installation on the server.
Your database and your stored documents are never touched by the installer.
Platform packages
The service binaries are not in this package. They are in three optional dependencies, each restricted to its own operating system so npm installs exactly one:
| Package | For |
|---|---|
depository-deploy-linux | Linux x64 |
depository-deploy-windows | Windows x64 |
depository-deploy-macos | macOS |
They are published together with this package at the same version and are not meant to be installed directly.
Configuration files inside them are sanitised at publish time: every connection string, password
and token is replaced with a placeholder, any file the installer writes at run time is removed, and
the publish is refused outright if a real credential survives. What reaches npm configures nothing
on its own — the installer generates the real configuration from your depository.conf.
What is in this package
wizard.html, wizard-server.mjs | the setup wizard (npx depository-wizard) |
install/ | installers, uninstallers, update and restart scripts, nginx and service templates |
depository.conf | the configuration template, fully commented |
README.txt | the complete installation and operations guide |
RELEASE_NOTES.html | what changed in each release, and what an upgrade does |
Read RELEASE_NOTES.html before upgrading. It states, per release, whether a database migration
runs, what an upgrade changes for a site that changes nothing, and what is deliberately not in the
release yet.
Air-gapped sites
Sites with no route to npm install from an offline bundle instead — the same contents as a zip, delivered through your usual channel. Ask your supplier for the bundle for the version you want; everything above applies unchanged once it is unpacked.
Keep depository.conf safe
It holds your database passwords and your JWT signing secret. Keep it readable only by the account that runs the installer, and delete any copy you moved between machines once that machine is running.
Support and licensing
Licensed commercially; this package does not grant a licence to run the product. Please raise
problems through the support channel on your existing agreement, and include the version you are
on from RELEASE_NOTES.html.
On Windows, diagnose-windows.bat collects the service state, ports and recent log entries into
one output worth attaching. There is no Linux equivalent yet; on Linux send
systemctl status 'depository-*' and journalctl -u depository-api -n 100.