Installing, updating, and removing Episode archive🔗

The Episode archive service provides the possibility to keep individual archive fragments for an unlimited time. Using the Episode archive service, you can be sure that important archive fragments will not be lost due to loop recording or corruption of the main archive.

Note

This feature is available only for Enterprise and ULTRA licenses.

The service can be installed on any computer without installing the Eocortex server on it.

Only one service instance can be configured for the entire system.

The service can be installed using the following two options:

  • Online, if the device has Internet access.

  • Offline, if the device does not have Internet access.

Supported versions:

  • Debian 10

Online installation
  1. Add Eocortex repository:

    wget -O - http://packages.eocortex.com/deb/install/eocortex-deps-debian.sh | bash
    
  2. Install the service.

    sudo apt-get install eocortex-archive-episodes-service
    
Offline installation

Warning

For this installation method, you will need a computer with Internet access and the same operating system as the one on which you want to install the Episode archive service.

  1. Clear local repository:

    sudo apt-get clean
    
  2. Add Eocortex repository:

    wget -O - http://packages.eocortex.com/deb/install/eocortex-deps-debian.sh | bash
    
  3. Install all required packages (dependencies):

    sudo apt-get install -d -y eocortex-archive-episodes-service
    
  4. Create the ArchiveEpisodesPackages directory and transfer all downloaded packages to it:

    mkdir ~/ArchiveEpisodesPackages/ && cp -R /var/cache/apt/archives/*.deb ~/ArchiveEpisodesPackages/
    
  5. After that, copy the entire ArchiveEpisodesPackages directory to a USB drive and transfer the data to the server. Install the Episode archive service and all dependencies using the following command:

    sudo dpkg -i /path_to_ArchiveEpisodesPackages/*.deb
    
Dependencies

The following dependency packages must be installed in the operating system for the service to work:

  • aspnetcore-runtime-6.0 (>= 6.0)

  • debconf (>= 0.5)

  • postgresql-12

During the online installation the dependency packages will be installed automatically, while during the offline installation they may require to be installed manually.

To check if a package is installed and its version, use the command dpkg -s %package_name%.

Update

To update the service, run the following commands:

sudo apt-get update

sudo apt-get install eocortex-archive-episodes-service

Or download a new version package from the repository and install it manually using the dpkg command.

Uninstallation

To uninstall the service, use the following command:

sudo apt-get remove eocortex-archive-episodes-service

Network settings of the service🔗

Warning

These settings should be made on the device where the service is installed.

As part of the installation process, a configuration file appsettings.json containing network settings will be created in the root directory of the service.

Default path:

/opt/eocortexArchiveEpisodesService/appsettings.json

Below is an example of default settings:

{
    "ConnectionStrings": {
        "DatabaseConnectionTemplateWithoutDbName": "Host=localhost; Port=5432;Database={0};Username=eocortex;Password=masterkey"
    },
    "Serilog": {
        "MinimumLevel": {
            "Default": "Debug",
            "Override": {
                "Default": "Information",
                "Microsoft": "Warning",
                "Microsoft.Hosting.Lifetime": "Information"
            }
        },
        "WriteTo": [
            {
                "Name": "Logger",
                "Args": {
                    "configureLogger": {
                        "Filter": [
                            {
                                "Name": "ByIncludingOnly",
                                "Args": {
                                    "expression": "(@Level = 'Error' or @Level = 'Fatal' or @Level = 'Warning')"
                                }
                            }
                        ],
                        "WriteTo": [
                            {
                                "Name": "File",
                                "Args": {
                                    "path": "%LogsDir%/service.log",
                                    "rollOnFileSizeLimit": true,
                                    "fileSizeLimitBytes": "52428800",
                                    "retainedFileCountLimit": 10
                                }
                            }
                        ]
                    }
                }
            },
            {
                "Name": "Console",
                "Args": {
                    "outputTemplate": "===> {Timestamp:HH:mm:ss.fff zzz} [{Level}] {Message}{NewLine}{Exception}"
                }
            }
        ],
        "Enrich": [
            "FromLogContext",
            "WithMachineName",
            "WithThreadId"
        ],
        "Properties": {
            "Application": "LongTerArchiveService"
        }
    },
    "AllowedHosts": "*",
    "EpisodesDbRelativePath": "ArchiveServiceData/episodes-database",
    "AlwaysRedirectToHttps": "false",
    "Network": {
        "Endpoints": {
            "Http": {
                "Url": "http://*:8899"
            }
        }
    }
}

To change the HTTP port, find the following section in the configuration file:

"Network": {
    "Endpoints": {
        "Http": {
            "Url": "http://0.0.0.0:8899"
        }
    }
},

And set a custom port in the Url line instead of the default 8899.

To add an SSL certificate to the service configuration and enable HTTPS connection, change the Network section by one of the following ways:

"Network": {
    "Endpoints": {
        "Http": {
            "Url": "http://0.0.0.0:8899"
        },
        "Https": {
            "Url": "https://0.0.0.0:18899",
            "Certificate": {
                "Path": ".pfx file",
                "Password": "cert_password"
            }
        }
    }
}

Where:

  • Path: Location of the PFX file of the certificate.

  • Password: Password of the certificate.

"Network": {
    "Endpoints": {
        "Http": {
            "Url": "http://0.0.0.0:8899"
        },
        "HttpsInlineCertAndKeyFile": {
            "Url": "https://0.0.0.0:18899",
            "Certificate": {
                "Path": ".pem/.crt file",
                "KeyPath": ".key file",
                "Password": "cert_password"
            }
        }
    }
}

Where:

  • Path: Location of the .pem/.crt file of the certificate.

  • KeyPath: Location of the .key file of the certificate.

  • Password: Password of the certificate.

"Network": {
    "Endpoints": {
        "Http": {
            "Url": "http://0.0.0.0:8899"
        },
        "Https": {
            "Url": "https://0.0.0.0:18899",
            "Certificate": {
                "Subject": "Subject",
                "Store": "Store",
                "Location": "Location",
                "AllowInvalid": "true/false"
            }
        }
    }
}

Where:

  • Subject: Name of the certificate subject.

  • Store: Name of the certificate storage.

  • Location: Location of the certificate storage. By default, CurrentUser.

  • AllowInvalid: State of the policy of using invalid (e.g. self-signed) certificates. By default, it's false.

Note

Changing the HTTPS port can be done similarly to the HTTP port, but for the relevant section.

To enable forced redirection of all requests to the service to a secured connection, find and change the value from false to true for the following line:

"AlwaysRedirectToHttps": false,

Note

After saving the settings, the service must be restarted via the Services snap-in to take all changes into effect.

Warning

Changing other settings provided in the configuration file may cause the service to malfunction or fail. It is not recommended to change settings that are not described in the present documentation.

Related references🔗

Overview of the service

Use in the Eocortex Client application

Episode archive

Installation of Episode archive on Windows