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
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!
Deploy a server with Ubuntu 24.04 ¡without pre-installed packages of other software!;
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!
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
Follow the on-screen prompts.
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
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;
Restart nginx:
service nginx reload
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