1. Introduction
2. Cloud-Hosted vs. Self-Hosted
2.1. Cloud-hosted (On Installatron.com)
2.1.1. Prerequisites
2.1.2. Get Started
2.2. Self-Hosted
2.2.1. Prerequisites
2.2.2. Generate a License Key
2.2.3. Download and Install
2.2.4. Complete
3. Interfacing with Installatron Server
3.1. Interfaces
3.1.1. Accessing Installatron Server through UI
3.1.2. Accessing Installatron Server through APIs
4. Maintaining Installatron Server
4.1. How app updates work
4.2. Settings.ini values
4.3. Useful command-line tools
Installatron Server is an API and optional UI that enables scalable and flexible application management to be integrated seamlessly into existing web hosting infrastructure.
Please reference the What is Installatron Server? page for more information about what Installatron Server is.
As outlined, there are two hosting options for Installatron Server:
And three integration interfaces for Installatron Server:
These interfaces are not mutually exclusive: you can use safely use multiple interfaces on the same Installatron Server instance. And the interfaces do not differ between self-hosted and cloud-hosted.
Installatron Server is mostly managed through API calls. To use Installatron Server, you will need to be comfortable using API-driven systems.
This document will explain how to use and interface with each hosting option, and offer suggestions for which methods work best in which situations.
The cloud-hosted instance of Installatron Server for your company is provisioned on Installatron.com's servers and managed by our team.
This option is recommended for a low-maintenance, hassle-free solution:
Follow these steps to use Installatron Server as a cloud service:
Your web hosting platform will need to allow connections from Installatron.com. This may require firewall rule and rate limiting adjustments.
There are no additional prerequisites because Installatron Server is hosted on Installatron.com.
If you haven't done so already, you'll need to create an Installatron.com account and then log in.
Afterwards, contact us to receive access and begin the integration process.
The self-hosted Installatron Server is installed on one or more servers on your network and managed by your team.
This option is recommended to maximize data security and performance optimization:
Follow these steps to deploy Installatron Server on your network:
Installatron Server's architecture minimizes requirements while maximizing compatibility.
At least one server with a permanent internet connection is required to run Installatron Server. Management of this server is your responsibility, and we recommend the following best practices:
For small-to-medimum production deployments we recommend starting with these hardware specifications:
For larger deployments, contact us for recommendations based on anticipated usage.
Installatron Server supports the following Linux distributions:
We always recommend selecting a "minimal" variation of the distribution. Installatron Server will provision all necessary system services for you.
When partitioning your disk, we recommend a straightforward partition structure of:
Finally, Installatron Server uses a MySQL database to store data. There are two options available:
This concludes the Self-Hosted best practices and prerequisites. Contact us with any questions.
If you haven't done so already, you'll need to create an Installatron.com account and then log in.
You can now generate an Installatron Server License Key through your Installatron.com account portal.
The generated License Key can be used on any number of Installatron Server instances.
Start by provisioning the server following the best practices outlined in the Prerequisites section above.
Execute these commands from the SSH root command prompt (replace YOUR_LICENSE_KEY with the Installatron Server License Key generated in step 2.2.2):
curl -O https://data.installatron.com/installatron-server.sh chmod +x installatron-server.sh yum -y remove httpd ./installatron-server.sh -f --key YOUR_LICENSE_KEY
curl -O https://data.installatron.com/installatron-server.sh chmod +x installatron-server.sh yum -y remove httpd ./installatron-server.sh -f --key YOUR_LICENSE_KEY
apt-get update apt-get -y dist-upgrade apt-get -y install curl net-tools curl -O https://data.installatron.com/installatron-server.sh chmod +x installatron-server.sh ./installatron-server.sh -f --key YOUR_LICENSE_KEY
Note: If the MySQL database has been offloaded to a dedicated database server, or to add an additional Installatron Server node to a cluster, add these arguments to the install command:
--db-host=sql.yourhost.com --db-user=youruser --db-pass=yourpass --db-name=itron
That will take a couple minutes to install the system services and dependencies for Installatron Server. Contact us if you observe any issues during the process.
Core files and programs are installed here:
/usr/local/installatron/
And Installatron's data files are installed here:
/var/installatron/
Installatron Server is now ready!
Continue to 3 Interfacing with Installatron Server below to see how to use your new instance of Installatron Server.
Installatron Server can be accessed via UI or through API calls: the APIs can be called from both CLI and over HTTP.
There are two ways to interface with Installatron Server, and it's worth noting that these interfaces are not mutually exclusive: they can both be used on the same server at any time.
See the "guixfer" API for examples of using the Installatron Server UI.
See Installatron Server API Specification 1.0 for a complete list of all API calls and examples of how to use them.
This additional information can help you understand your Installatron Server.
The settings at Installatron Admin > Settings control how frequently Installatron Server checks for new app updates by configuring the crontab process at "/etc/cron.d/installatron". When this crontab process executes, Installatron Server checks every installation to determine whether an update is available, and if automatic update is enabled then Installatron Server will automatically queue the update task, otherwise an email notification will be sent to inform the user to let them know that an update is available.
Installatron Server utilizes a task queue to prevent the system from overloading from too many simultaneous tasks. No more than the number of tasks configured at Installatron Admin > Settings can execute concurrently.
As of Installatron Server 4.1.15, a new setting at Installatron Admin > Features > Force Update After enables server administrators to configure Installatron Server to forcibly update installed apps after a set number of days have elapsed since the update became available. This feature can be useful to enforce an application update policy.
Installatron Server's "/usr/local/installatron/etc/settings.ini" configuration file is provisioned automatically during installation and generally doesn't require manual editing. But here are some typical lines found in the settings.ini file:
NAME | VALUE |
key | required The product key. |
noperl | optional, default is "no" Installatron Server uses Perl .cgi files on the destination web server to speed up tasks. If Perl is not supported, this setting should be set to "yes" to avoid every task having to test Perl. |
update | required, default is "release" The update channel. Valid values include "edge", "release", "stable", or "never" to switch off automatic updates. |
debug | optional, default is "no" Set to "yes" to enable the debug log at /var/installatron/logs/debug_log which contains very verbose output which can be useful tracking down a multitude of issues. |
db_type | required, default is "mysql" The type of database server. Mysql and sqlite supported. This setting is configured automatically during installation to use MySQL. |
db_host | required for mysql, default is configured automatically The database server. |
db_name | required for mysql, default is configured automatically The database. |
db_user | required for mysql, default is configured automatically The database username. |
db_pass | required for mysql, default is configured automatically The database password. |
num_cpu | optional, default is the number of CPU threads multiplied by two The number of tasks allowed to execute concurrently systemwide. |
num_cpu_perserver | optional, default is 5 The number of tasks allowed to execute concurrently per web server. |
db_schema_update | optional, default is yes Whether database schema updates should be automatically managed by Installatron (recommended: yes). |
Here are some useful CLI commands:
Forcibly update/repair the entire system:
/usr/local/installatron/repair -f --quick
Create a single-use access token for the administrative UI:
/usr/local/installatron/installatron --createsession
Reset administrative login:
/usr/local/installatron/installatron --repair --reset-admin
Forcibly check for customer app updates for user named barry:
/usr/local/installatron/installatron --taskscheduler --full --user barry