Zum Hauptinhalt springen

Installation

Install on Windows

qmBase can be installed on Windows.

Prerequisites

  • MS SQL 2019 Database - Older Versions might work but are not tested by us.
  • Windows 10 Pro or higher
  • ASP.NET Core Hosting Bundle 7.x
  • IIS Webserver V 10
  • SSL Certificate Public or self signed
  • Hardware requirements
    • min 4 GB Ram
    • min 10 GB HDD
  • Internet access from the server validate subscriptions and user management
  • D:\qmbase\
    • app\ -> Save the app data here
    • builds\ -> Save old builds here if you need to roll back an update
    • databases\ -> Store databases here
    • uploads\[CustomerId]\ -> Save user generated uploads here
note

Use a dedidacted partition (D:\) to store the data.

How to install?

  1. Download the latest qmBase version from here. You will get the credentials via mail after you have signed the contract.

  2. Extract the ZIP file to the folder where the IIS is located.

  3. Run the latest database migrations. The SQL scripts will be provided on the download page as well. You will need to create 2 databases. Use the following name schema

    • multi-tenant
    • qmbase[CustomerId]
  4. qmBase requires a SSL connection. So you have to configure the IIS to use either a self signed certificate or use a regular certificate. The assigned url must not contain qmbase. You can use qm-base as an alternative.

  5. Configure qmBase and start running.

Configure qmBase

To configure qmBase you have take actions in 2 different places.

Insert this row in your multi tenant database

INSERT INTO [yourDatabase].[dbo].[MultiTenants]
(
,[DatabaseType]
,[Host]
,[ConnectionString]
,[StorageConnectionString]
,[Name]
,[CustomerId]
)
VALUES
(
,0
,pathToYour.qmbase
,SQL Connection string
,NULL
,yourCustomerName
,yourCustomerId
)

Change the appSettings.Production.json file

// These settings will only be applied if HostingEnvironment is "Production"
// Use this file to customize the behavior in Production
// Be aware of invalid json due to unescaped characters, trailing comma etc.
{
//ApplicationInsights settings omitted for brevity.
"ConnectionStrings": {
"MultiTenantConnection": "Connection string to multiTenantContext",
// These settings are not needed if multiTenant==true
"DefaultConnection": "Your Ms SQL ConnectionString -> not needed in MultiTenantScenario"
},
"AppSettings": {
"MultiTenantContext": true,
"StorageType": "FileSystem", //"FileSystem" | "AzureBlobStorage"
"PhysicalFileProviderRootPath": "D:\\qmbase\\uploads"
}
}

How to update?

We are improving qmBase continuously. That means that we are releasing multiple Updates per Day. So if you are experiencing any bugs you can always try to download the latest release.

  1. Delete all files in app folder except web.config and appSettings.Production.json.
  2. Extract the zip file from the update and copy all files except web.config and appSettings.Production.json to the app folder.

qmBase.Installer

Alternatively you can use the qmBase.Installer.exe. If you use the default configuration you can do 9 out of 10 updates automatically. Please note that the qmBase.Installer is part of the Enterprise subscription.

Access to the internet

Even On-Premises installation need access to the internet. Some specific connections are required for full functionality. The urls that need to be accessible are displayed in the table below. If endpoints are not available qmBase might work with limited functionality. The IP addresses might change over time.

Central qmBase API

PurposeImpact if blocked
Subscription management, Ticket SystemNo access to our ticket system
Access to qmBase TemplatesNo access to our templates in document management and various other places
Central user managementWe need access to the server for billing and licensing
Recurring weekly notifications and web calendar functionalityNo internet calender, no recurring notifications

E-Mail Sending and Status Updates

UrlIP-AddressPurposeWorkaroundImpact if blocked
https://api.sendgrid.comn/aE-Mail notificationsCould be exachanged by own Email Server which is available via SMTPWorkaround can be applied else no email notifications
https://status.sendgrid.com/n/aStatus of send grid apiNo info about current status of send grid api. You do not know whether sending Email notifications is operational

Other

UrlIP-AddressPurposeWorkaroundImpact if blocked
https://qmbasesupport.blob.core.windows.net/n/aAccess to qmBase TemplatesNo access to our templates in document management and various other places
https://caqadmin.blob.core.windows.netn/aSoftware Updates (Only On-Premises users)You can not download software updates
https://js.monitor.azure.comn/aAzure Monitor tracks availability and performance of the applicationWe can not collect crash and telemetry data. Problems specific to you might not be detected
https://help.qmbase.comn/aRelease notes alertNo notification about new releases

Use your own Email Server

Upon request we can also use an Email Server that is provided by you. The email server must be accessible via Simple Mail Transfer Protocol (SMTP) connection.

Install on Linux

Possible but not yet documented

Breaking Changes

Deployment Status

Status
BuildBuild status
DeploymentDeployment status

Tools & Frameworks we use

qmBase builds upon modern and popular technologies.

Backend technology

  • C#
  • ASP.NET 7.0
  • Entity Framework Core for data access

Frontend technology

  • React
  • Code is written in TypeScript