āŸµ hearthere āŸ¶
  • Quick start
  • Install MIT
  • Hardware Requirements
  • Auto-installation on Ubuntu 24.04
  • If you need to change the domain on a working system
  • Changing the timezone on a working system
  • Install PRO
  • Updating
  • Optimization
  • Update v4-v6
  • Backups
  • Console utility bin/totum
  • Basics for users
  • Interface and Layout
  • Tables and their parameters
  • Prefilter
  • Fields and their parameters
  • Syntax
  • Code, actions, formatting
  • Relational relationships
  • Calculation order and calculation units
  • Auto-complete calculations and timing
  • Duplicate rows and cycles
  • Comparisons
  • Functions
  • Debugging
  • Print and CSV
  • API
  • Roles and users
  • Notifications
  • Scheduled Actions
  • System tables
  • Trees
  • Anonymous tables
  • External Forms
  • Exporting and importing tables
  • [PRO] MeiliSearch
  • [PRO] Databases
  • [PRO] Custom CSS
  • [PRO] Custom docs
  • [PRO] LDAP AD
  • [PRO] File versions
  • [PRO] List-unsubscribe
  • [PRO] Dynamic fields
  • [PRO] Only Office
  • [PRO] Auth Tokens
  • [PRO] 2FA
  • [PRO] Superlang
  • [PRO] Daemons
  • [PRO] Profiler
  • Connecting functions
  • [SRV] Installation and Connection
  • [SRV] Export, PDF, Upload, and Preview
  • [SRV] XLSX/DOCX Generators
  • Totum Installation

    Hardware Requirements

    Performance requirements depend on the specific solution, but the general principle is as follows:

    • Totum consumes little RAM but is sensitive to CPU clock speed.

    • PostgreSQL consumes both RAM and CPU.

    For most small solutions, a CPU with a frequency of 2.4 - 2.6 GHz (2-4 core), 2 Gb RAM, and 10 Gb SSD is sufficient.

    The higher the frequency, the faster the calculation will be for the user. The number of cores only affects the comfort of collaborative work for multiple users. The calculation of the operation result for the user always runs on one core.

    For data-intensive solutions, PostgreSQL performance tuning is required, which requires both CPU cores and RAM.

    For large-scale solutions (millions of rows), PostgreSQL will require a CPU with 6-8 cores and 14-20 Gb RAM or more.

    Minimum resources for testing: 2C 2Gb 10Gb SSD


    youtube

    Video on YouTube āŸ¹


    Auto-installation on Ubuntu 24.04

    The auto-installation script is intended ONLY FOR CLEAN IMAGES!!!

    If you already have other software installed and configured (or other versions of Totum), the server will become non-operational with no rollback option!

    If installation is performed using an intermediate proxy āŸ¹

    1. Deploy a server with Ubuntu 24.04 Ā”without pre-installed packages of other software!;

      Virtual servers with a convenient control panel and virtual console: NetAngels referral link ā€”>

      If you need to install on a version of Ubuntu different from 24.04 (for example, if you or your hoster do not have the required image), you can disable version checking by passing the parameter --without-check

    2. If you want to install with a domain ā€” buy a domain, delegate it, and make an A-record on the server's IP (you need to wait for the DNS to take effect);

      For testing or for an internal network, you can install on the server's IP, for this, when the installer asks about the domain ā€” leave the field empty.

      You can connect the domain later by making an A-record and re-running the installer Ā”from the same folder from which it was run during the initial installation!

    3. Open a terminal under root or sudo-user and execute:

      sudo curl -O https://raw.githubusercontent.com/totumonline/totum-mit/master/totum/moduls/install/totum_autoinstall.sh && sudo bash totum_autoinstall.sh
      

      The script installs both the MIT and PRO versions. For more detailed information on PRO ā€” see the PRO version page

      If the server says it doesn't have curl, it needs to be installed: apt update && apt -y install curl

    4. Follow the on-screen prompts.

    If you need to change the domain on a working system

    1. Delegate the new domain (wait for the DNS changes to apply).

      Open the Totum config file and replace the old domain with the new one.

      nano /home/totum/totum-mit/Conf.php
      

      If you uploaded files ā€” rename the folder (replace YOUR_OLD_DOMAIN with YOUR_NEW_DOMAIN):

      mv /home/totum/totum-mit/http/fls/YOUR_OLD_DOMAIN  /home/totum/totum-mit/http/fls/YOUR_NEW_DOMAIN
      

      If you uploaded protected! files ā€” rename another folder (replace YOUR_OLD_DOMAIN and YOUR_NEW_DOMAIN):

      mv /home/totum/totum-mit/secureFiles/YOUR_OLD_DOMAIN  /home/totum/totum-mit/secureFiles/YOUR_NEW_DOMAIN
      
    2. Issue a new certificate.

      Check certificate acquisition in test mode (replace YOUR_DOMAIN.ZONE with your new domain):

      certbot certonly --dry-run -d YOUR_DOMAIN.ZONE
      

      If the test passes ā€” obtain the certificate:

      certbot certonly -d YOUR_DOMAIN.ZONE
      

      Connect the certificate in the nginx config:

      nano /etc/nginx/sites-available/totum.online.conf
      

      Replace YOUR_DOMAIN.ZONE with your new domain:

      In the server_name line and in the certificate block

      ssl_certificate /etc/letsencrypt/live/YOUR_DOMAIN.ZONE/fullchain.pem;
      ssl_certificate_key /etc/letsencrypt/live/YOUR_DOMAIN.ZONE/privkey.pem;
      ssl_trusted_certificate /etc/letsencrypt/live/YOUR_DOMAIN.ZONE/chain.pem;
      
    3. Restart nginx:

      service nginx reload
      

    Changing the timezone on a working system

    We recommend updating all packages on the server to the latest versions:

    apt update
    
    apt upgrade
    

    If asked about local configurations ā€” choose to keep the local ones as they are configured for your hoster

    View system information:

    timedatectl
    

    View the list of all timezones:

    timedatectl list-timezones
    

    Set the timezone (the timezone name is taken from the list above):

    timedatectl set-timezone Europe/Kaliningrad
    

    Set the timezone for the FPM pool:

    nano /etc/php/8.3/fpm/pool.d/totum.conf
    

    PHP-FPM takes the system timezone at startup, so after setting the new system timezone, you need to restart FPM and nginx:

    service php8.3-fpm restart
    
    service nginx restart
    

    Set the timezone for PostgreSQL. Launch the PostgreSQL console as the postgres user.

    sudo -u postgres psql
    

    Set the timezone:

    ALTER SYSTEM SET timezone TO 'Europe/Minsk'
    

    Close the database console

    \q
    

    Restart PostgreSQL:

    service postgresql restart
    

    Change the timezone in CLI.totum.php.ini

    nano /home/totum/totum-mit/CLI.totum.php.ini