Installation¶
The app can be started using 3 environments:
Development
- is used for development purposeStage
- is used on pre- productionProduction
- is used for clients, on server side
NOTE
: For development use Development env
NOTE
: Each configuration corresponds to a configuration file, like this: appsettings.{Env}.json
Structure of appssetings file:
{
"SystemConfig": {
"MachineIdentifier": ".GR.Prod"
},
"ConnectionStrings": {
"Provider": "Npgsql.EntityFrameworkCore.PostgreSQL",
"ConnectionString": "Host=127.0.0.1;Port=5432;Username=postgres;Password=Gear2019;Persist Security Info=true;Database=GEAR.PROD;MaxPoolSize=1000;"
},
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Error"
}
},
"HealthCheck": {
"Timeout": 3,
"Path": "/health"
},
"LocalizationConfig": {
"Languages": [
{
"IsDisabled": false,
"Identifier": "en",
"Name": "English"
},
{
"IsDisabled": false,
"Identifier": "ro",
"Name": "Romanian"
},
{
"IsDisabled": true,
"Identifier": "ru",
"Name": "Russian"
},
{
"IsDisabled": true,
"Identifier": "it",
"Name": "Italian"
},
{
"IsDisabled": true,
"Identifier": "fr",
"Name": "French"
},
{
"IsDisabled": true,
"Identifier": "de",
"Name": "German"
},
{
"IsDisabled": true,
"Identifier": "uk",
"Name": "Ukrainian"
},
{
"IsDisabled": true,
"Identifier": "ja",
"Name": "Japanese"
},
{
"IsDisabled": true,
"Identifier": "zh",
"Name": "Chinese"
},
{
"IsDisabled": true,
"Identifier": "el",
"Name": "Greek"
},
{
"IsDisabled": true,
"Identifier": "nl",
"Name": "Dutch"
},
{
"IsDisabled": true,
"Identifier": "pl",
"Name": "Polish"
},
{
"IsDisabled": true,
"Identifier": "es",
"Name": "Spanish"
}
],
"Path": "Localization",
"SessionStoreKeyName": "lang",
"DefaultLanguage": "en"
},
"IsConfigured": true,
"LdapSettings": {
"ServerName": "",
"ServerPort": 389,
"UseSSL": false,
"Credentials": {
"DomainUserName": "",
"Password": ""
},
"SearchBase": "",
"ContainerName": "",
"DomainName": "",
"DomainDistinguishedName": ""
},
"WebClients": {
"CORE": {
"uri": "http://159.69.195.160:6969"
},
"BPMApi": {
"uri": "http://159.69.195.160:6969"
}
},
"RedisConnection": {
"Host": "127.0.0.1",
"Port": "6379"
},
"BackupSettings": {
"Enabled": false,
"UsePostGreSql": false,
"UseMsSql": false,
"BackupFolder": "ISODMS",
"Interval": "24",
"PostGreSqlBackupSettings": {
"PgDumpPath": "C:\\Program Files\\PostgreSQL\\11\\bin\\pg_dump.exe",
"Host": "localhost",
"Port": "5432",
"User": "postgres",
"Password": "1111",
"Database": "ISODMS.PROD",
"FileExtension": "pgbackup"
},
"MsSqlBackupSettings": {
}
},
"EmailSettings": {
"Enabled": true,
"Host": "smtp.office365.com",
"Port": 587,
"Timeout": 5000,
"EnableSsl": true,
"NetworkCredential": {
"Email": "iso_dms.mail@indrivo.com",
"Password": "I50_dm5.M@!1"
}
},
"Sentry": {
"Dsn": "https://a898fb5130514f2485704835f8109591@sentry.io/1547729",
"IncludeRequestPayload": true,
"SendDefaultPii": true,
"MinimumBreadcrumbLevel": "Debug",
"MinimumEventLevel": "Warning",
"AttachStackTrace": true,
"Debug": true,
"DiagnosticsLevel": "Error"
}
}
Explanation of appsettings blocks:¶
SystemConfig
- represent a general section that provide some global info:- MachineIdentifier - is used for identify the app id, if is installed multiple GEAR apps, after app installation it is ovverided by generated string
ConnectionStrings
- represent databases providers configuration- Provider - default is postgres
- Npgsql.EntityFrameworkCore.PostgreSQL - postgres ,enabled and default
- Microsoft.EntityFrameworkCore.SqlServer - enabled
- Microsoft.EntityFrameworkCore.Sqlite - for the future
- Microsoft.EntityFrameworkCore.InMemory - for the future
- Microsoft.EntityFrameworkCore.Cosmos - for the future
- Pomelo.EntityFrameworkCore.MySql - for the future
- Pomelo.EntityFrameworkCore.MyCat - for the future
- EntityFrameworkCore.SqlServerCompact40 - for the future
- EntityFrameworkCore.SqlServerCompact35 - for the future
- EntityFrameworkCore.Jet - for the future
- MySql.Data.EntityFrameworkCore - for the future
- FirebirdSql.EntityFrameworkCore.Firebird - for the future
- EntityFrameworkCore.FirebirdSql - for the future
- IBM.EntityFrameworkCore - for the future
- EntityFrameworkCore.OpenEdge - for the future
- Provider - default is postgres
- [Logging] - see microsoft docs
LocalizationConfig
- language configurationsIsConfigured
- This property determines whether the app has been installed or not, if set to true then the configurations set in the database are taken, otherwise when accessing any page, it will be redirected to the installerLdapSettings
- This involves configuring the AD modeRedisConnection
- configurations for distributed cache- Host - represent the ip address of redis connection
- Port - represent the port where is bind redis service, default: 6379
BackupSettings
- this section is used for backup module, now is developed only for postgres providerEmailSettings
- this section is used for email client- Enabled - set active or inactivity of service
- Host - the smptp host
- Port - the port of smtp
- Timeout - represents the time allowed for the service to wait for the message to be successfully sent
- EnableSsl - represent usage of smtp with ssl
- NetworkCredential
- Email - existent smtp email
- Password - the password of smtp email
Sentry
- consult sentry documentation for .net core
App run¶
To start the app, you need:
Restore ui packages on all razor projects (is optional step because, they are restored on build)
libman restore
Restore C# nuget packages by typing
dotnet restore
Build. To build, you must navigate the explorer to the path:
./src/GR.WebHosts/GR.Cms
orcd ./src/GR.WebHosts/GR.Cms
after it execute the following command:
dotnet build
If build has run successfully, it is the green wave to start the project
dotnet run
optional
for change exposed portdotnet run --urls=http://localhost:5001/
Install steps¶
Note
: Be sure that in appsettings{Env}.json, the IsConfigured property is set to false
- Start the application
You will be met by the following message describing the platform
Welcome board
Click on
Go to installation
- Configure admin profile Profile tab Settings:
User Name
- adminstrator user nameEmail
- your email address to receive emails on system eventsPassword
andConfirm Password
- the administrator passwordFirst Name
- admin first nameLast Name
- admin last nameOrganization Name
- represent the default organization name
- Set up database provider
Configuration of database provider
Note
: Use postgres default, because MsSql has not been tested for a long time, we plan support for other providersConnection String example
: Host=127.0.0.1;Port=5432;Username=postgres;Password=Gear2020;Persist Security Info=true;Database=Gear.PROD;MaxPoolSize=1000; - Press
Install
button and wait until the system is installed