On-premise installation
For companies that do not want their data to leave their network, VidiStock can be installed on your own server. It is the same application as the cloud version, running for a single company.
Requirements
Section titled “Requirements”- A Linux or Windows server with Docker and Docker Compose
- Server hardware:
| Minimum | Recommended | |
|---|---|---|
| Processor | 4 cores | 8 cores |
| Memory | 8 GB | 16 GB |
| Disk | 50 GB SSD | 100 GB SSD and a separate disk for backups |
| Suitable for | up to 10,000 series | up to 50,000 series |
The number of series is the number of products plus every product-warehouse pair with sales or stock (2,000 products × 4 warehouses = 10,000 series). The values were measured with a load test: with 3 years of sales, 5,500 series are forecast in about 1.5 minutes and 15,000 series in about 5 minutes; the application uses at most 3.5 GB of memory. The forecast run starts automatically at night.
- Users must be able to reach the server from their browsers
Installation
Section titled “Installation”The installation package (vidistock-linux-vX.Y.Z.tar.gz) contains ready-made images of the application; nothing is built on the server. Extract the package and load the images, then in the deploy folder:
sudo tar -xzf vidistock-linux-vX.Y.Z.tar.gz -C /opt/vidistock --strip-components=1sudo docker load -i /opt/vidistock/images/vidistock-images.tarcd /opt/vidistock/deploycp .env.onprem.example .env# edit the .env filedocker compose -f docker-compose.onprem.yml up -dValues in the .env file:
| Value | Description |
|---|---|
POSTGRES_PASSWORD |
Database password |
JWT_KEY |
A random key of at least 32 characters |
TENANT_NAME |
Company name |
ADMIN_EMAIL, ADMIN_PASSWORD |
The first administrator account |
WEB_PORT |
The port the interface is served on (default 80) |
FORECAST_WORKERS |
The number of cores the forecast run uses at the same time (default and minimum 4). Can be raised on servers with more than 8 cores, e.g. 10–12 on 16 cores |
The company and administrator account are created on first start. Signing up new companies is disabled.
License
Section titled “License”An installation on your own server runs with a time-limited license that is bound to the server it is installed on. A new installation runs without a license for 15 days and must be activated within that time. The license status and the server’s machine ID are shown in the application under Settings → License.
| Path | How |
|---|---|
Online (the server can reach app.vidistock.com over HTTPS) |
Put the installation key in the settings (below). The license synchronises at start-up and every day; when the contract is renewed, the new date arrives automatically. To get it at once, use Sync now |
| Offline | Send the machine ID to VidiStock; upload the license file (.vslic) you receive with Upload license file. Ask for a new file before it expires |
Administrators see a warning 15 days before expiry. After expiry the application keeps running for another 15 days and shows a warning to everyone; then it closes: users can sign in but only the License screen opens. No data is deleted; once the license is renewed the application continues where it left off.
The license also limits the number of users, active products and warehouses, and ERP integration. During synchronisation only the machine ID, the application version and those three counts are sent to VidiStock; product, sales and stock data are not.
The license does not work on another server. If you are going to change servers or reinstall the operating system, tell VidiStock in advance; the license is moved to the new server.
Installation key and support connection
Section titled “Installation key and support connection”For the license to synchronise automatically and for the Support page in the application to work, put the installation key you received from VidiStock in the .env file and restart the installation:
SUPPORT_CENTRAL_URL=https://app.vidistock.comSUPPORT_INSTALLATION_KEY=vsi_...The server only needs outbound HTTPS access to that address; no inbound port is opened. For a support request, only the request text, attachments, the requester’s name and email, and the application version are sent to VidiStock. Without a key the Support page shows the support email address and the license is installed from a file.
To invite users by email, also fill in APP_PUBLIC_URL (the address users open the application at) and, optionally, the EMAIL_* (SMTP) settings in the same file. If SMTP is empty the invitation link is shown on screen.
Updating
Section titled “Updating”New versions are installed from the Settings → Updates card in the application; administrators see the card. It shows the new version and its release notes. With Update now:
- The package is downloaded; its VidiStock signature and integrity are checked.
- The database is backed up.
- The new version is installed; the application is unavailable for a few minutes.
- If the new version does not start, the previous version and the backup are restored automatically.
You can also turn on install new versions automatically at night. In-app updates require the installation key and a valid license. On Ubuntu, the updater is installed once on the server (sudo bash /opt/vidistock/updater/install-updater.sh); on Windows, the installation script sets it up.
On a server without internet access, update manually with the new package sent to you: back up first, extract the package, load the images and restart with the same command. Database changes are applied automatically at start-up.
Backup
Section titled “Backup”All data is in PostgreSQL (the pgdata volume). Take regular backups with pg_dump.
Direct installation on Windows Server
Section titled “Direct installation on Windows Server”For companies that do not use Docker or virtualisation. PostgreSQL 17 and Python 3.12 must be installed on the server; .NET and IIS are not needed. VidiStock runs as a single Windows service.
-
Extract the installation package (ZIP) to a folder.
-
In PowerShell opened as administrator:
Terminal window Get-ChildItem -Recurse | Unblock-FileSet-ExecutionPolicy -Scope Process Bypass -Force -
Set up the daily backup:
C:\VidiStock\scripts\backup.ps1 -Schedule -
Activate the license (above, License). If you have an installation key you can also pass it to the script as
-InstallationKey "vsi_..."; the script prints the machine ID and the license status at the end.
The script creates the database user, installs the application under C:\VidiStock, starts the “VidiStock” Windows service and opens the port in the firewall. To update, run install.ps1 from the new package without parameters; settings and data are kept. For the port, HTTPS, restoring from backup and troubleshooting, see the guide sent to you with the package.
Forgotten password
Section titled “Forgotten password”Users reset their password by email with Forgot password? on the sign-in page; this requires the email (EMAIL_*) and APP_PUBLIC_URL settings in the .env file. Otherwise the company’s administrator resets it under Settings → Users.
If the company’s only administrator forgot their password, this command on the server sets a temporary password and prints it:
# Docker installation (in the deploy folder)docker compose -f docker-compose.onprem.yml exec api dotnet VidiStock.Api.dll reset-password [email protected]# Direct installation on Windows (PowerShell opened as administrator)& 'C:\VidiStock\app\VidiStock.Api.exe' reset-password admin@company.comAfter signing in with the temporary password, set a new one with Change my password in the user menu.
ERP connector
Section titled “ERP connector”If you will use an ERP integration, the connector is included in the same installation under the netsis profile; see ERP integration.

