Installing Timeline

Before you begin

  • Obtain the Timeline for Linux installer either from your ABBYY representative or ABBYY Technical Support by submitting a request on this page.
  • Verify all Linux system requirements and prerequisites before starting your Timeline installation.
  • Ensure that any firewall installations are not blocking ports 80, 443 and 5432 or the ports you plan to setup for the Web Server and database. The installation will not work if firewall is blocking the ports that have been specified during the Timeline installation.
  • If you intend to configure HTTPS, please visit the HTTPS Configuration section.

Procedure

  1. Copy the Timeline installer to the local disk, typically to /tmp.f
  2. Open the shell.
    Important. You need root access to install Timeline. Without root, you won’t have the necessary permissions to install it. Prefixing every command with sudo is cumbersome and it causes a problem with exported variables on the command line. If you are not using the host machine with the root user, start a new shell with root privileges using the command sudo bash.
  3. Set the permissions of the timeline-install-6.1.*.sh file so that it is executable:
    chmod +x /path/to/timeline-install-6.1.*.sh
  4. Execute the Timeline install script:
    path/to/timeline-install-6.1.*.sh
    If the script is in the current directory, then you need to specify the dot (./) before the script file name:
    ./timeline-install-6.1.*.sh
    Continue the installation when prompted.
  5. Read and accept the license agreement
    Read the information in the End-User License Agreement. After reviewing the license agreement information, to indicate acceptance of the EULA, press the Y key. Any other input cancels the installation. After you accept the license agreement, installation proceeds.
  6. Check and install prerequisites
    1. PostgreSQL instance and database
      Timeline needs access to PostgreSQL 13. You can install PostgreSQL on a computer along with Timeline or a separate computer.
      The program will ask you about using either local or remote database.
      If you already installed PostgreSQL on another computer, select Remote. This option is useful if you install the program in a production environment where the host machine is accessible from outside the corporate network. If you prefer to keep Timeline and the database on the same machine, select Local.
      1. Local
        If you want to use PostgreSQL on the host machine, select Local. The database will be set up by the installer and run inside the docker-container. This option is useful if you install the program for testing purposes or environments where the host machine is not accessible from outside the corporate network, and only the HTTP/HTTPS ports open.

        During the installation process, the following PostgreSQL databases are created:
        timeline
        The database contains all information about users, their activity, and projects.

        timeline-log
        The database contains detailed records of Timeline events such as security, errors, and notifications.

        timeline-000
        The database contains information about user repositories.
      2. Remote
        When you select this option, the program will ask you about establishing a secure SSL connection to the remote PostgreSQL database. Press Y if you plan to use SSL, or N to reject.
        For several databases, located on different servers provisioned by different certificate authorities, set SSL root certificate paths for them separately, as prompted by the installer.
        Important. If your PostgreSQL is configured with SSL support and a root CA certificate file is used, you must provide the full path to the root CA certificate when configuring your connection settings. The certificate file will be copied to the $TIMELINE_INSTALLATION_DIR/db-ssl folder.
        To use this option, you must prepare timeline, timeline-log, and timeline-000 databases in the remote PostgreSQL in advance:
        1. Launch PostgreSQL.
        2. Create a user that can own database objects.
          For example, TimelineUser.
        3. Create the following databases owned by the user you created in the previous step:
          timeline
          The database contains all information about users, their activity, and projects.

          timeline-log
          The database contains detailed records of Timeline events such as security, errors, and notifications.

          timeline-000
          The database contains information about user repositories.

          For setting up access to Timeline databases, you will be asked for the connection settings in one of the further installation steps.
    2. Docker and docker-compose
      Timeline runs in Docker containers so Docker and Docker-compose should be installed on the host machine. Docker is a Linux-based virtualization tool that helps to make complex applications more portable. You can install it manually or let the Timeline installer download and install it.
      Important. Starting from Timeline 6.0, the installer automatically downloads Docker and its dependencies from the Internet. If your machine is not connected to the Internet, the program will ask you to download it manually and prompt sources.
  7. Configure web server
    1. HTTP and HTTPS port
      Specify the TCP/IP port for the Timeline website. Make sure that the specified port is not being used by any other application. By default, the application listens on port 80 for HTTP and port 443 for HTTPS. If both ports are defined, HTTP requests will be redirected to HTTPS.
      You will be asked whether to use both HTTP and HTTPS, HTTP only, or HTTPS only. Navigate to the needed option using the arrow keys and press Enter to select it.
      1. HTTP and HTTPS ports
        Define ports for both options as described in further steps.
      2. HTTP port (80)
        Press Enter to use the default 80 port or enter the port number.
      3. HTTPS port (443)
        Press Enter to use the default 443 port or enter the port number.

        If HTTP and HTTPS or HTTPS options are selected, after specifying the ports you will be prompted to specify the SSL certificate and key (and optionally a key password file). Provide the absolute path to these files. Then these files will be copied to the appropriate location ($TIMELINE_INSTALLATION_DIR/nginx) and the ssl.conf set up accordingly.
        Then you will be asked whether to set the root certificate. Agree if you use self-signed certificates, otherwise this step can be skipped.

        For preconditions and HTTPS related troubleshooting instructions, please see the HTTPS Configuration with SSL section.
        You can change ports' configuration after installation. For more information, see Configuring ABBYY Timeline Using .env File section.
    2. Base URL
      Enter the base URL that hosts Timeline or press Enter to use the default https://127.0.0.1 one. It must be a public IP of the server or an external fully qualified URL. The lowercase pattern is recommended. Base URL also is used for links inside email messages sent by Timeline.

      The Base URL must have the following syntax: http[s]://hostname:port
      Important. Do not use extra spaces and forward slash '/' at the end of the base URL.

      If you are using the default port (80 or 443), you do not need to add them to the base URL.

      Examples:
      The base URL of the HTTP endpoint, if a custom port is specified:
      http://mytimeline.com:8080

      The base URL of the HTTPS endpoint, if a custom port is specified:
      https://mytimeline.com:30443
  8. Configure mail server
    Configure the SMTP server access to allow Timeline to send out emails in several features such as Alerting, User invitation, etc.
    The installer asks if you want to use a custom NodeMailer configuration, further steps depend on your decision (Y/N):
    1. no (default)
      If this option is selected, you need to provide general information to configure SMTP mail server and specify its security options. To decide which options you have to select, please refer to the documentation of your mail server. The server's basic settings are set during installation. You can change the SMTP mail server configuration after installation. For more information, see Configuring ABBYY Timeline Using .env File section.
      Configure the following options right in the installer dialog:
      1. Host
        Specify server name where SMTP mail server is installed.
      2. Port
        Enter SMTP mail server port number.
      3. Username and Password
        Enter SMTP mail server access credentials.
      4. E-Mail sender
        Enter the sender address that is used to fill the 'From' header field of emails.
      5. Use TLS? (Y/N)
        Enter N in case your SMTP server does not use TLS. It is a typical use case for mock, local mail services, for example, mailcatcher.
      6. Require TLS (Y/N)
        Enter Y if the initial connection should happen over an unencrypted connection and then the STARTTLS command should be used to upgrade to a secure connection. For example, Microsoft Exchange.
      7. Reject unauthorized (Y/N)
        Enter Y if your mail server uses SSL certificate issued by the Certification Authority (CA).
        Enter N if your mail server uses an unauthorized, e.g., self-signed, SSL certificate.
    2. yes
      If this option is selected, you need to have a prepared file with mail server configuration in JSON format.
      Important. If you have no configuration file prepared at this step, you can finish the current installation with some default mail server configuration (answer no as described above). After that, follow the additional steps to configure the JSON described in Custom NodeMailer Configuration.
      If the configuration file is prepared, provide the following information in the installer dialog:
      1. Configuration file path
        Absolute path to the file created in advance, for example: <path-to-directory>/mailServerConfig.json
        After validation, the file will be copied to the installation location. By default: /opt/timeline/config
      2. E-Mail sender
        Enter the sender address that is used to fill the 'From' header field of emails.
  9. SMS service
    Configure Twilio SMS service to receive SMS notifications from Timeline containing verification codes, alert notifications, and error messages.
    Important. Twilio account is required to configure and send SMS notifications.
    1. Do you want to use Twilio SMS service? (Y/N)
      Enter N in case you don't want SMS notifications. Enter Y to proceed with SMS notifications configuration.
    2. Twilio account SID
      Enter a String Identifier (SID), a unique key that will be used to identify your account when sending SMS notifications.
    3. Twilio Auth Token
      Enter your Auth Token, an access token that Timeline needs to connect to your Twilio account.
    4. Phone number
      Enter the phone number from your Twilio account. It will be the sender number.
  10. Configure admin user account
    Enter a valid e-mail address using an existing domain name that is configured to receive emails, for example, user@domain.com, and a password for it. This will be the first user of Timeline and the one that will have access to the ABBYY Timeline website, where other users can be administered.
    The password you specified must contain only English letters and digits from 0 to 9.
    Note. If you are upgrading Timeline, you are not prompted to enter admin user credentials because previous settings are maintained.
  11. Database
    This step appears if you choose Remote to connect to a remote PostgreSQL instance at the beginning of the installation process. The installer will ask for the settings for accessing the Admin DB, Log DB, User DB databases. For each of these databases, specify the connection parameters to timeline, timeline-log, and timeline-000 databases located on the remote PostgreSQL.
    1. PostgreSQL host
      If you select Connect to existing database on the previous step, specify server name where PostgreSQL is installed. By default, localhost is used.
    2. PostgreSQL port
      Specify the TCP/IP port for PostgreSQL. By default, TCP/IP port 5432 is used. Make sure that it is not being used by any other application.
    3. Database username
      Provide the credentials of the PostgreSQL user who owns the Timeline databases. For example, TimelineUser.
    4. Database name
      - Enter timeline as the database name for the Admin DB.
      - Enter timeline-log as the database name for the Log DB.
      - Enter timeline- as the database name for the User DB. It is the prefix of the timeline-000 database you created in the remote PostgreSQL.
  12. Perform Timeline health check

Important. If you intend to configure HTTPS, you must set up SSL configuration after installation is complete. See HTTPS Configuration with SSL for details.

9/5/2024 4:23:54 PM

Usage of Cookies. In order to optimize the website functionality and improve your online experience ABBYY uses cookies. You agree to the usage of cookies when you continue using this site. Further details can be found in our Privacy Notice.