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
Recommended Folder Structure
- 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
Use a dedidacted partition (D:\) to store the data.
How to install?
Download the latest qmBase version from here. You will get the credentials via mail after you have signed the contract.
Extract the ZIP file to the folder where the IIS is located.
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}
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.
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.
- Delete all files in
app
folder except web.config and appSettings.Production.json. - 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.
Url | IP-Address | Purpose | Workaround | Impact if blocked |
---|---|---|---|---|
https://qmadmin.qmbase.com | 20.50.2.7 | Subscription management, Ticket System | No access to our ticket system | |
https://qmbasestore.azurewebsites.net | 13.69.68.47 | Access to qmBase Templates | No access to our templates in document management and various other places | |
https://qmbasesupport.blob.core.windows.net/ | n/a | Access to qmBase Templates | No access to our templates in document management and various other places | |
https://qmbase-armfunctions.azurewebsites.net | 20.50.2.41 | Central user management | We need access to the server for billing and licensing | |
https://qmbasefunctions.azurewebsites.net | 13.94.211.38 | Recurring weekly notifications and web calendar functionality | No internet calender, no recurring notifications | |
https://api.sendgrid.com | n/a | E-Mail notifications | Could be exachanged by own Email Server which is available via SMTP | Workaround can be applied else no email notifications |
https://caqadmin.blob.core.windows.net | n/a | Software Updates | You can not download software updates | |
https://js.monitor.azure.com | n/a | Azure Monitor tracks availability and performance of the application | We can not collect crash and telemetry data. Problems specific to you might not be detected | |
https://help.qmbase.com | n/a | Release notes alert | No notification about new releases | |
https://status.sendgrid.com/ | n/a | Status of send grid api | No info about current status of send grid api. You do not know whether sending Email notifications is operational |
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 | |
---|---|
Build | |
Deployment |
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