Back to Blogs

Install Cyllo on Ubuntu Server

cyllo
30/01/2026
install-cyllo-on-ubuntu-server

Cyllo, your gateway to streamlined business excellence!

By uniting advanced ERP capabilities with cutting-edge AI and limitless integrations, we’ve built more than a platform—we’ve built your ultimate competitive advantage. Prepare to experience a smoother, smarter way of working where complex tasks become effortless. Your journey to peak efficiency starts now. Let’s transform your operations together. Welcome aboard the future of business management!

This article provides a detailed guide on how to install cyllo on an Ubuntu 20.04 or newer server.

Step -1: Connect to the Ubuntu server using SSH:

ssh username@IP_Address -p Port_number 

Connect via SSH to your server. 

Step-2: Update the server to ensure all existing software is current

sudo apt-get update
sudo apt-get upgrade

Make sure the system is up to date.

Step-3: Enhance server security

sudo apt-get install openssh-server fail2ban

Implementing Fail2ban to prevent SSH attacks.

Step-4: Install required packages and libraries

Install the Python packages needed for cyllo and set up pip3.

Run the following command to install pip3:

sudo apt-get install -y python3-pip

Use the instructions provided to install web dependencies and other necessary packages. Check that all packages are installed correctly and without errors.

sudo apt-get install python-dev python3-dev libxml2-dev libxslt1-dev zlib1g-dev libsasl2-dev libldap2-dev build-essential libssl-dev libffi-dev libmysqlclient-dev libjpeg-dev libpq-dev libjpeg8-dev liblcms2-dev libblas-dev libatlas-base-dev
sudo apt-get install -y npm
sudo ln -s /usr/bin/nodejs /usr/bin/node
sudo npm install -g less less-plugin-clean-css
sudo apt-get install -y node-less

Step-5: Configure the database server

As mentioned earlier, PostgreSQL is the database used by cyllo.

sudo apt-get install postgresql

Set up and install the PostgreSQL database.

A user and password are required for the configuration file.

PostgreSQL uses a separate system user for performing tasks. To switch to this user, run sudo su – postgres. Then, create a database user for cyllo.

sudo su - postgres
createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt cyllo

Next, enter PostgreSQL to grant superuser access.

psql
ALTER USER cyllo WITH SUPERUSER;

By executing the above command, the user is granted superuser privileges.

After that, log out of Postgres-user and PSQL.

\q
exit

Step-6: Create a system user

sudo adduser --system --home=/opt/cyllo --group cyllo

It is necessary for security reasons and to run cyllo tasks.

Access to all of cyllo’s files and directories will be limited to the user.

Step-7: Get cyllo community from git

The source file for cyllo needs to be uploaded to the server.

 First, install git on the server.

sudo apt-get install git

Once the system user is changed to cyllo, the file will be placed in the specified directory.

sudo su - cyllo -s /bin/bash

The dot (.) at the end of the command ensures that the files are cloned into the current user’s home directory, which is /opt/cyllo. This directory was set during the user creation process.

The following command will clone the source directory.

git clone https://www.github.com/cyllo/cyllo --depth 1 --branch 17.0 --single-branch 

After running this, you should log out of the user before proceeding with the installation.

exit

Step-8:Install Required Python Packages

sudo pip3 install -r /opt/cyllo/requirements.txt

Step-9:Install Wkhtmltopdf

Wkhtmltopdf is needed to generate PDF reports from cyllo. It allows the conversion of HTML data to PDF format. Additionally, the report engine converts Qweb template reports to HTML, and Wkhtmltopdf then creates the PDF report.

sudo wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb
sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb
sudo apt install -f

Step-10:Setup Conf file

Cyllo requires certain configuration details to function properly, such as the database user, password, and locations of add-ons. These details are stored in the configuration file. Therefore, the first step is to create a configuration file for cyllo. You can find an example configuration file in the cyllo folder and copy it to the desired location. The configuration file should be copied to /etc.

sudo cp /opt/cyllo/debian/cyllo.conf /etc/cyllo.conf
sudo nano /etc/cyllo.conf

Update the conf file as shown in the code below.

[options]
   admin_passwd = admin
   db_host = False
   db_port = False
   db_user = cyllo
   db_password = your_password_of_db_user
   addons_path = /opt/cyllo/addons, /opt/cyllo/cyllo_addons
   server_wide_modules = web, cyllo_web
   logfile = /var/log/cyllo/cyllo.log

Before proceeding with the operations, the following parameters must be configured.

The master password for cyllo is admin_passwd, which is used for creating, deleting, duplicating, and performing other database-related operations. The database host, or db_host, must also be set.

admin_passwd: This is the password that allows database operations

db_port: The port used by the database.

db_user: The name of the database user.

db_password: The password used when the database user was created.

addons_path: The path to the directories that contain the cyllo add-on directories.

 Multiple directories can be listed, separated by commas.

Logfile: The path to the log file.

 For example, 

addons_path = /opt/cyllo/addons, /opt/cyllo/cyllo_addons.

sudo chown cyllo: /etc/cyllo.conf
sudo chmod 640 /etc/cyllo.conf

Also, create a ‘cyllo’ log directory and set the appropriate permissions to help identify cyllo-related issues.

sudo mkdir /var/log/cyllo
sudo chown cyllo:root /var/log/cyllo

Step-11: Cyllo service file

A service is needed to run Cyllo. Let’s create a service file named ‘cyllo.service’ in the /etc/systemd/system directory.

sudo nano /etc/systemd/system/cyllo.service

Add the following details to the newly created service file.

[Unit]
   Description=cyllo
   Documentation=http://www.cyllo.com
   [Service]
   # Ubuntu/Debian convention:
   Type=simple
   User=cyllo
   ExecStart=/opt/cyllo/cyllo-bin -c /etc/cyllo.conf
   [Install]
   WantedBy=default.target

Finally, set the permissions for the root user on this service file.

sudo chmod 755 /etc/systemd/system/cyllo.service
sudo chown root: /etc/systemd/system/cyllo.service

Step-12:Run cyllo

sudo systemctl start cyllo.service

Use the above command to start the Cyllo instance. Then, use the following command to check the current status of the service. If the installation was successful, it will show as active.

sudo systemctl status cyllo.service
"http://<your_domain_or_IP_address>:8069"

Check cyllo logs:

If you are facing any issues during the installation or for any other reason, use the following command to view the logs of the Cyllo platform you have configured.

You can get real-time logs in the terminal with this command.

sudo tail -f /var/log/cyllo/cyllo.log

Finally, use the following command to ensure that the Cyllo service starts automatically after the server restarts.

sudo systemctl enable cyllo.service

Use the following command to restart the Cyllo service if you have made changes to the add-ons so that your instance reflects the updates.

sudo systemctl restart cyllo.service

After successfully installing Cyllo, you can begin your career in Cyllo development and learn more about it by using our Cyllo Development Tutorial App, which you can access from the Cyllo Apps Page.

Share this Blog