Skip to content

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.

  • 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.ch and invoicer-backend.contoso.ch
    • invoicer-test.contoso.ch and invoicer-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
  1. Install IIS as a server role through Server Manager. For Windows sign-in also the Windows Authentication feature.
  2. ASP.NET Core Hosting Bundle in the version matching the invoiceR version (currently .NET 10). Restart the server afterwards.
  3. IIS URL Rewrite Module. The frontend needs it for navigation within the application.
  4. Optionally SQL Server Management Studio to test the database connection and restore backups.
  1. 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.
  2. Use SQL Server Management Studio to test whether the SQL user can sign in from the invoiceR server.

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.

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).

Add Website dialog in IIS with the fields Site name, Physical path, https binding and Host name filled in

In the frontend file assets/appconfig.json:

KeyContent
remoteServiceBaseUrlBackend address, for example https://invoicer-backend.contoso.ch
appBaseUrlFrontend address, for example https://invoicer.contoso.ch

In the backend appsettings.json (or your own file, see below):

KeyContent
ConnectionStrings:DefaultDatabase connection (server, database, user, password).
Dashboard:ConnectionStringsConnection for the analyses (dashboards), usually the same database.
App:ServerRootAddressBackend address.
App:ClientRootAddressFrontend address.
App:CorsOriginsFrontend address, so that it may call the backend. Separate several addresses with commas.
WorkflowManagement:CustomerSystemSecretKeyKey (GUID) with which the installation identifies itself to enio. The same value is stored in the updater. You receive it from enio.
  1. Run the migrator (web_manager.Migrator.exe in the backend folder). It brings the database up to the level of the installed version. For updates, the updater does this.
  2. Restart the application pools in IIS (Recycle).
  3. Open the frontend address in the browser. If the login page appears, frontend and backend are connected.