⟵ hearthere ⟶
  • Quick start
  • Install MIT
  • Hardware Requirements
  • Auto-installation on Ubuntu 24.04
  • If you need to change the domain of a running system
  • Changing the timezone on a running system
  • Install PRO
  • Updating
  • Optimization
  • Update v4-v5
  • 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 calculations 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 necessitates both CPU cores and RAM.

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

    Minimum resources for the test: 2C 2GB 10GB SSD


    youtube

    Video on YouTube ⟹


    Auto-installation on Ubuntu 24.04

    The auto-installation script is 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!

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

      DigitalOcean Referral Badge

      Or VULTR referal

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

      For testing or internal network, you can install on the server's IP. When the installer asks for a domain, leave the field empty.

      You can connect a domain later by creating an A-record and rerunning the installer ¡from the same folder it was initially run from!

    3. Open a terminal as 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 the PRO version, see the PRO version page

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

    4. Follow the on-screen prompts.

    If you need to change the domain of a running system

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

      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 running 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 host

    View system information:

    timedatectl
    

    View the list of all timezones:

    timedatectl list-timezones
    

    Set the timezone (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'
    

    Exit 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