Urban Strategy Server Setup
The Urban Strategy server can be set up in multiple ways:
- Linux: Use
aptto integrate installation and upgrades into the standard Linux package management workflow. - Windows: Use an executable or MSI file provided via Scenexus.
The recommended platform for the Urban Strategy server is the latest LTS release of Ubuntu Server.
Access to Installation Sources
All package installation sources are available at setup.urbanstrategy.nl. Server installation requires credentials, which can be obtained by contacting support@scenexus.com.
Server Modes: Production and Beta
The server is available in two modes: production and beta.
Production contains the stable release of all server components, including calculation models. Components are updated at a predetermined interval.
Beta is intended exclusively for participants in the Scenexus Beta Program. It contains pre-release versions of all server components, including calculation models, which are updated more frequently and may change without prior notice. New features and updated models are made available in the beta environment first and can be tested there.
⚠️ The beta version must not be used in production environments.
Contact support@scenexus.com for more information about the Beta Program.
With additional configuration of the TCP ports (which must be distinct), the production and beta server versions can run side by side on the same host.
Installing the Windows Server Version
The Windows version of the Urban Strategy server is installed using either an .MSI or .EXE file. The .EXE file bundles the .MSI installer together with all required prerequisites for the installed server components.
The latest versions can be downloaded from the links below. Credentials provided by support@scenexus.com are required when prompted.
Production: - MSI file / EXE file
Beta (Scenexus Beta Program participants only): - MSI file / EXE file
Desktop shortcuts for starting and stopping the server components will be created automatically during installation.
Installing the Linux Server Version
The Linux version of the server is installed using apt. Depending on the Ubuntu Server version, additional repositories must be configured beforehand.
Supported versions: Ubuntu Server 24.04.x and 26.04.x.
Step 1: Prepare the Environment
Run the following script to add the Urban Strategy repository and configure access credentials:
wget -qO- https://setup.urbanstrategy.nl/prerequisites/prerequisites-ubuntu-server.sh | sudo bash
When prompted, enter the username and password for setup.urbanstrategy.nl, as provided by support@scenexus.com.
The script may produce minor warnings but should successfully prepare the environment for server installation.
Step 2: Install the Server Package
Production:
sudo apt install us-server-linux-prod
Beta:
sudo apt install us-server-linux-beta
After rebooting the server, the Urban Strategy setup will be running in its default configuration. Without a license key installed, the server will operate in a fully functional state for a limited period (approximately 30 minutes).
License
The license key is stored in:
/var/urbanstrategy/<mode>/core/hub/hub.ini
This file is created automatically on first startup if it does not already exist.
In the current version, the license activation process is as follows:
1. Send the hub.ini file to support@scenexus.com.
2. Scenexus will add the license key and return the updated file.
3. Replace the existing hub.ini with the returned file.
This is sufficient to license the hub until the end-of-life date defined in the .ini file.
Starting and Stopping the Server
The server starts automatically via systemd. To start or stop it manually:
Production:
sudo systemctl start us-server-linux-prod
sudo systemctl stop us-server-linux-prod
Beta:
sudo systemctl start us-server-linux-beta
sudo systemctl stop us-server-linux-beta
Configuration
Default and Override Settings
Default options are defined in:
/var/urbanstrategy/<prod|beta>/defaults
⚠️ Do not edit this file directly — it is overwritten during upgrades.
All customizations must be placed in:
/var/urbanstrategy/<prod|beta>/override
Running Production and Beta Side by Side
To run both server modes simultaneously, configure the following settings in the beta override file to avoid port conflicts:
# Create /var/urbanstrategy/beta/override and add the following:
# Main port for the hub to listen on
PORT=4007
# HTTP port for the frontend web server
HTTP_PORT=8087
# HTTPS port for the frontend web server (0 = HTTP only)
HTTP_PORTS=0
# Use HTTP as the default protocol; do not redirect to HTTPS
WEB_HTTPS_AS_DEFAULT=false
Custom Data Storage Paths
Project data storage can be redirected to an alternative path, for example to support external storage. There are two data types: store (project content) and schema (data structure definitions).
To redirect storage, add the following entries to the override file:
export DATAFOLDER=/path/to/storage/store
export SCHEMAFOLDER=/path/to/storage/schema
The default paths are:
/var/urbanstrategy/<mode>/data/store
/var/urbanstrategy/<mode>/data/schema
Alternatively, a symbolic link can be created in place of /var/urbanstrategy/<mode>/data.
Frontend Service
The web server component of Urban Strategy is referred to as the frontend service. It can be configured in several ways.
By default, the frontend service exposes two ports: one for HTTP and one for HTTPS. Certificates for the HTTPS port can be configured independently — for example, using Let's Encrypt.
HTTPS Certificates
To configure certificates for HTTPS connections, add the following to the override file:
# Example using Let's Encrypt
# Replace <fqdn> with the fully qualified domain name used by clients
export WEB_HTTPS_CERT=/etc/letsencrypt/live/<fqdn>/fullchain.pem
export WEB_HTTPS_KEY=/etc/letsencrypt/live/<fqdn>/privkey.pem
# Optional: if a separate chain file is needed
# export WEB_HTTPS_CHAIN=/<path>/chain.pem
The frontend service automatically re-reads certificate files when they are updated (e.g. via auto-renewal).
Reverse Proxy
For production deployments, it is recommended to place a reverse proxy in front of the frontend service to handle incoming web client connections and TLS termination. Nginx is a suitable option. The reverse proxy connects to the Urban Strategy frontend service over HTTP internally.
Configuration of Nginx is outside the scope of this document.
Local Firewall
An additional layer of protection can be provided by configuring a local firewall to restrict access to a minimal set of ports and services. The standard Linux firewall ufw is a suitable option.
Recommended rules: - Allow SSH connections from a designated management IP range. - Allow HTTPS access from internal user IP addresses, or from any address if external access is required.
Reverse Tunnel Gateway
If the Urban Strategy server must operate in a protected network environment where inbound connections are not permitted, the frontend service can be deployed separately on an external server. In this configuration, the hub initiates an outbound connection from inside the protected environment to the frontend service — referred to as a Reverse Tunnel Gateway setup.
The frontend directory from the installation folder can be copied to a separate server that has at least Node.js v22 installed. Note that no dedicated package is currently available for this setup; starting, stopping, and updating the service must be configured manually.
Contact support@scenexus.com for assistance with this configuration.
Custom Frontend Access URL
If the URL used to access the frontend service differs from the server's hostname, add the following entry to the override file:
export URL_BASE=https://external.proxy.server.name.domain.x
Installation Folder Structure
Default install paths:
- Windows: C:\Program Files\Scenexus\Urban Strategy\Server\<prod|beta>
- Linux: /var/urbanstrategy/<prod|beta>
Basic Folder Structure
├── core
│ ├── hub
│ ├── schema
│ ├── store
│ ├── mcnode
│ ├── auth
│ ├── rest
│ ├── state
│ └── wcommit
├── frontend
│ ├── doc
│ ├── portal
│ ├── webclient
│ └── webclient3d
├── modules
├── tools
├── data
│ ├── schema
│ └── store
├── logs
└── cache
Essential Files
├── core
│ └── hub
│ └── hub.ini
├── start.sh
├── stop.sh
├── update.sh
└── defaults
Custom Settings
└── overrides
Reference Folder Structure — Beta Setup (as of 2026-05-19)
├── cache
│ ├── hub
│ └── publisher
├── core
│ ├── hub
│ ├── mcnode
│ ├── rest
│ ├── schema
│ ├── state
│ ├── store
│ └── wcommit
├── data
│ ├── schema
│ └── store
├── frontend
│ ├── doc
│ ├── imb
│ ├── login
│ ├── portal
│ ├── webclient
│ └── webclient3d
├── logs
├── modules
│ ├── conversionmode
│ ├── demand
│ ├── demand.demand-bbma
│ ├── destinationdemand.dft-vdm
│ ├── destinationdemand.dft-vdmcleanup
│ ├── destinationdemand.dft-vdm-singly
│ ├── dokdata
│ ├── indicatorbuildings
│ ├── indicators
│ ├── inreach
│ ├── matrixmanipulator
│ ├── mobilityhub
│ ├── modalsplit
│ ├── nmm
│ ├── nmm.legacy
│ ├── ptindic
│ ├── publictransit
│ ├── publictransport
│ ├── publishedtilers
│ ├── publisher
│ ├── publisher3d
│ ├── publisher.publisherNT
│ ├── receptorsplus
│ ├── tiler
│ ├── trafficassignment
│ ├── trafficassignment.feature-newnetwork
│ ├── trafficplus
│ ├── trafindic
│ ├── TransitLines
│ ├── usair
│ ├── us_industry_noise
│ └── us_road_noise
└── tools
├── compcol
├── mcmon
├── projsize
├── publisherwebdebug
├── rarchive
├── storecmd
└── uploaderCmd