Installation on your own server
invoiceR runs either in the cloud (operated by enio or a partner) or on a server in your own environment. This page describes the installation on your own Windows server. enio usually performs the installation together with your IT.
Prerequisites
Section titled “Prerequisites”- Windows Server (2022 or later) for frontend and backend
- Microsoft SQL Server for the database, with an SQL user for invoiceR
- one address (subdomain) with a valid certificate each for frontend and backend, separately for test and
production, for example:
invoicer.contoso.chandinvoicer-backend.contoso.chinvoicer-test.contoso.chandinvoicer-test-backend.contoso.ch
- DNS entries and routing of these addresses to the server (your IT’s task)
- the invoiceR installation files and, if applicable, a database backup from enio
Software on the server
Section titled “Software on the server”- Install IIS as a server role through Server Manager. For Windows sign-in also the Windows Authentication feature.
- ASP.NET Core Hosting Bundle in the version matching the invoiceR version (currently .NET 10). Restart the server afterwards.
- IIS URL Rewrite Module. The frontend needs it for navigation within the application.
- Optionally SQL Server Management Studio to test the database connection and restore backups.
Database
Section titled “Database”- Create the database or restore the backup. If SQL Server runs on another machine, the backup file must be located directly on the SQL Server.
- Use SQL Server Management Studio to test whether the SQL user can sign in from the invoiceR server.
Placing the files
Section titled “Placing the files”Store the frontend and backend files in separate folders, preferably on a data drive, for example
D:\invoiceR\Prod\Frontend, D:\invoiceR\Prod\Backend and likewise for Test.
Websites in IIS
Section titled “Websites in IIS”In IIS, create two websites per environment (so four for test and production): one for the frontend, one for the backend. Set the address and certificate for each. Under Test Settings both checks must succeed. If not, enter a user with access to the folder under Connect as… (including the domain).
Configuring the frontend
Section titled “Configuring the frontend”In the frontend file assets/appconfig.json:
| Key | Content |
|---|---|
remoteServiceBaseUrl | Backend address, for example https://invoicer-backend.contoso.ch |
appBaseUrl | Frontend address, for example https://invoicer.contoso.ch |
Configuring the backend
Section titled “Configuring the backend”In the backend appsettings.json (or your own file, see below):
| Key | Content |
|---|---|
ConnectionStrings:Default | Database connection (server, database, user, password). |
Dashboard:ConnectionStrings | Connection for the analyses (dashboards), usually the same database. |
App:ServerRootAddress | Backend address. |
App:ClientRootAddress | Frontend address. |
App:CorsOrigins | Frontend address, so that it may call the backend. Separate several addresses with commas. |
WorkflowManagement:CustomerSystemSecretKey | Key (GUID) with which the installation identifies itself to enio. The same value is stored in the updater. You receive it from enio. |
Updating the database and starting
Section titled “Updating the database and starting”- Run the migrator (
web_manager.Migrator.exein the backend folder). It brings the database up to the level of the installed version. For updates, the updater does this. - Restart the application pools in IIS (Recycle).
- Open the frontend address in the browser. If the login page appears, frontend and backend are connected.
After the installation
Section titled “After the installation”- Set up the updater so that new versions are installed automatically.
- Set up document storage, email and users.
- For access from outside the company network: Access from the internet.
