Getting Started

Requirements


Before you can use RunCloud, please make sure your server fulfils these requirements.


Software requirement:


  • Ubuntu 16.04/18.04/20.04 x86_64 LTS (Fresh installation)
  • If the server is virtual (VPS), OpenVZ may not be supported (Kernel 2.6)


Hardware Requirement:


  • More than 1GB of HDD
  • At least 1 core processor
  • 512MB minimum RAM
  • At least 1 public IP Address (NAT VPS is not supported)


External firewall


For VPS providers such as AWS and AZURE, those providers already include an external firewall for your VPS. Please open port 22, 80, 443, and 34210 to install RunCloud.


Installation


Login to your account and click add server. Fill in the form with your server name (any name that you want) and your server IP Address.


Registering the wrong IP Address will prevent your server from downloading the installation script.


SSH into your server as root and run the installation script given by RunCloud.


Installation may take up to 5 minutes minimum which may also depend on your server internet speed. After the installation is completed, you are ready to use RunCloud to manage your server.



Installation notes on AWS


AWS by default disables root login. To login as root inside AWS, login as default user and then use command sudo -s.


$ ssh [email protected]<your server IP address>
$ [email protected]:~$ sudo -s
$ [email protected]:~# <paste installation script>

Server Provisioning Packages


RunCloud will install the packages below during server provisioning.


PackageRequired3rd-PartyUninstallDescription
runcloud-agentYesNoNoThe RunCloud agent allows RunCloud Dashboard communicate with your server.
nginx-rc *YesNoNoNGINX is an open-source and high-performance HTTP server and reverse proxy. NGINX is known for its high performance, stability, rich feature set, simple configuration, and low resource consumption.
apache2-rc *YesNoNoApache HTTP Server is an open-source HTTP server for modern operating systems including UNIX and Windows.

When creating a new web application, you may choose to use NGINX-Apache Hybrid web server stack, that allows you to use .htaccess
php72rc *YesNoNoRunCloud uses this package to provide PHP7.2 in your web application.
php72rc-essentials *YesNoNoIt is a dependency of php72rc package.
php73rc *YesNoNoRunCloud uses this package to provide PHP7.3 in your web application.
php73rc-essentials *YesNoNoIt is a dependency of php73rc package.
php74rc *YesNoNoRunCloud uses this package to provide PHP7.4 in your web application.
php74rc-essentials *YesNoNoIt is a dependency of php74rc package.
php80rc *YesNoNoRunCloud uses this package to provide PHP8.0 in your web application.
php80rc-essentials *YesNoNoIt is a dependency of php80rc package.
php81rc *YesNoNoRunCloud uses this package to provide PHP8.1 in your web application.
php81rc-essentials *YesNoNoIt is a dependency of php81rc package.
mariadb-serverYesYesNoMariaDB is one of the world's most popular open source relational database software and is available in the standard repositories of all major Linux distributions.

Please do not uninstall this package to allow you to use MySQL database feature in RunCloud dashboard. If you do not use it, you can stop it from Services menu in RunCloud dashboard.
redis-serverYesYesNoRedis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker.

For WordPress, Redis can be used for Redis Object Cache and also Redis Full Page Cache using RunCloud Hub.

If you do not use it, you can stop it from Services menu in RunCloud dashboard.
memcachedYesYesNoMemcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.

Memcached is similar with Redis. For WordPress, Memcached can be used for Memcached Object Cache.

If you do not use it, you can stop it from Services menu in RunCloud dashboard.
supervisorYesYesNoSupervisor is a client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems.

Please do not uninstall this package to allow you to use Supervisor feature in RunCloud dashboard. If you do not use it, you can stop it from Services menu in RunCloud dashboard.
beanstalkdYesYesNoBeanstalkd is a big to-do list for your web application.

If you do not use it, you can stop it from Services menu in RunCloud dashboard.
gitYesYesNoGit is a distributed version control software.

Please do not uninstall this package to allow you to use Git deployment feature in RunCloud dashboard.
unattended-upgradesYesYesNoUnattended-upgrades is needed to ensures the latest security (and other) updates automatically.

RunCloud also uses this to auto-update 3rd-Party packages.
curlYesYesNoThe cURL library allows you to connect and communicate to many different types of servers with many different types of protocols.

RunCloud uses cURL to retrieve updated files.
zipYesYesNoAssembles ZIP archives of files or folders dynamically.

RunCloud uses this package for ZIP functionality in File Manager feature and also backup service.
unzipYesYesNoUNZIP is needed to open ZIP archives and extracts the contents.

RunCloud uses this package for UNZIP functionality in File Manager feature and also backup service.
firewalldYesYesNoFirewalld provides a dynamically managed firewall with support for network/firewall zones that define the trust level of network connections or interfaces.

RunCloud uses this package its advanced firewall rules.
fail2banYesYesNoScans log files for suspicious behavior from IP addresses and updates firewall rules to bans them to protect the server.

RunCloud uses Fail2Ban as part of its firewall operations, specifically IDS/IPS.
aclYesYesNoThe ACL package provides the ability to manage ACLs on nodes.

RunCloud uses this package to ensure user permissions are set for user.
passwdYesYesNoThe passwd command changes passwords for user accounts.

RunCloud uses this package to allow you to set system user password from RunCloud dashboard.
opensslYesYesNoOpenSSL is a software library for applications that secure communications over computer networks against eavesdropping or need to identify the party at the other end.

RunCloud uses this package for SSL and TLS protocols implementation.
perlYesYesNoPerl is a reusable collection of related variables and subroutines that perform a set of programming tasks.

It is required by Linux OS.
net-toolsYesYesNonet-tools is a networking utilities for Linux.

It is required by Linux OS.
python-setuptoolsYesYesNopython-setuptools is used to download, build, install, upgrade, and uninstall Python packages.

This package is specifically used for various purposes, but does not allow user to run Python on RunCloud.
makeYesYesNoMake is a tool which controls the generation of executables and other non-source files of a program from the program's source files.

It is required by Linux OS.
jqYesYesNojq is a lightweight and flexible command-line JSON processor.

RunCloud uses this package to parse JSON data.
bcYesYesNoBc can perform mathematical functions in terminal.

RunCloud uses this package for certain feature to make calculations between your web server and the RunCloud dashboard.
software-properties-commonYesYesNoThis software provides an abstraction of the used apt repositories.

It is required by Linux OS and RunCloud uses this package to manage distribution and independent software vendor software sources.
apt-transport-httpsYesYesNoThis APT transport allows the use of repositories accessed via the HTTP Secure protocol (HTTPS), also referred to as HTTP over TLS.

It is required by Linux OS.
libmysqlclient21YesYesNoLibmysqlclient21 is a dependency of mariadb-server.
dirmngrYesYesNoDirmngr is a server for managing and downloading certificate revocation lists (CRLs) for X.509 certificates and for downloading the certificates themselves.

RunCloud uses this package to process the Let's Encrypt SSL certificate for web applications.
gnupgYesYesNoThe gnupg package enables you to secure your files on Windows, macOS, and Linux using state of the art cryptography.

RunCloud uses this package to encrypt and sign data and communications.
libmagic-devYesYesNoThe libmagic-dev package recognizes the type of data in a file using "magic" numbers - development.

RunCloud uses this package to run test calculations.
build-essentialYesYesNoThe build-essential package is used for creating DEB packages from the source code of an application

The packages contained with are libc, gcc, g++, make, dpkg-dev etc., which are used by RunCloud to speed up installing batch software services.
python3-pipYesYesNoThe python3-pip is the package installer for Python. You can use pip to install packages from the Python Package Index and other indexes.

RunCloud uses this package to install Supervisor.
augeas-toolsYesYesYesThe augeas-tools package is a tool to manage configuration files.

RunCloud uses this package to help with editing config files during server provisioning.
libaugeas0YesYesYesThe libaugeas0 package is a library for the augeas-tools module.

RunCloud uses this package to help with editing config files during server provisioning.
augeas-lensesYesYesYesThe augeas-lenses package is a library for the augeas-tools module.

RunCloud uses this package to help with editing config files during server provisioning.
expectYesYesYesThe expect package is a contemporary shells that provide only minimal control (starting, stopping, etc.) over programs, leaving interaction up to users.

RunCloud uses this package when provisioning the server.
postfixNoYesYesPostfix is a free and open-source mail transfer agent that routes and delivers electronic mail.

RunCloud installs this package to enable your web server's ability to send email. If you are troubleshooting because mail is not working, you may need to contact your VPS.
nodejsNoYesYesAs an asynchronous event-driven JavaScript runtime, Node.js is designed to build scalable network applications.

RunCloud installs this package to allow you to setup NodeJS-based web application.
wgetNoYesYesWget is a computer program that retrieves content from web server.
nanoNoYesYesGNU nano is a text editor for Unix-like computing systems or operating environments using a command line interface.

*) These packages are installed for Nginx server only.


Server Provisioning Packages (OpenLiteSpeed)


RunCloud will install the packages below exclusively for OpenLiteSpeed server during server provisioning.


PackageRequired3rd-PartyUninstallDescription
openlitespeedYesNoNoOpenLiteSpeed is an open-source web server configuration with event-driven architecture similar to and compatible with Apache and has the capability of serving thousands of clients simultaneously, while expending very minimal CPU, memory, and other resources.
lsphp72YesNoNoRunCloud uses this package to provide PHP7.2 in your web application.
lsphp72-essentialsYesNoNoIt is a dependency of lsphp72 package.
lsphp73YesNoNoRunCloud uses this package to provide PHP7.3 in your web application.
lsphp73-essentialsYesNoNoIt is a dependency of lsphp73 package.
lsphp74YesNoNoRunCloud uses this package to provide PHP7.4 in your web application.
lsphp74-essentialsYesNoNoIt is a dependency of lsphp74 package.
lsphp80YesNoNoRunCloud uses this package to provide PHP8.0 in your web application.
lsphp80-essentialsYesNoNoIt is a dependency of lsphp80 package.
lsphp81YesNoNoRunCloud uses this package to provide PHP8.1 in your web application.
lsphp81-essentialsYesNoNoIt is a dependency of lsphp81 package.