Getting Started
Picking a Server OS
You can run on a wide range of operating systems, so pick whichever you are most comfortable using.
Kubectyl supports OpenVZ systems, but they are not highly recommended.
Dependencies
PHP
8.0
or8.1
(recommended) with the following extensions:cli
,openssl
,gd
,mysql
,PDO
,mbstring
,tokenizer
,bcmath
,xml
ordom
,curl
,zip
, andfpm
if you are planning to use NGINX.MySQL
5.7.22
and higher (MySQL8
recommended) or MariaDB10.2
and higher.Redis (
redis-server
)A webserver (Apache, NGINX, Caddy, etc.)
curl
tar
unzip
git
composer
v2
Example Dependency Installation
The commands below are simply an example of how you might install these dependencies. Please consult with your operating system's package manager to determine the correct packages to install.
Installing Composer
Composer is a dependency manager for PHP that allows us to ship everything you'll need code wise to operate the Panel. You'll need composer installed before continuing in this process.
Download Files
The first step in this process is to create the folder where the panel will live and then move ourselves into that newly created folder. Below is an example of how to perform this operation.
Once you have created a new directory for the Panel and moved into it you'll need to download the Panel files. This is as simple as using curl
to download our pre-packaged content. Once it is downloaded you'll need to unpack the archive and then set the correct permissions on the storage/
and bootstrap/cache/
directories. These directories allow us to store files as well as keep a speedy cache available to reduce load times.
Installation
Now that all of the files have been downloaded we need to configure some core aspects of the Panel.
Database Configuration
You will need a database setup and a user with the correct permissions created for that database before continuing any further. See below to create a user and database for your Kubectyl panel quickly. To find more detailed information please have a look at Setting up MySQL.
First we will copy over our default environment settings file, install core dependencies, and then generate a new application encryption key.
DANGER
Back up your encryption key (APP_KEY in the file). It is used as an encryption key for all data that needs to be stored securely (e.g. api keys). Store it somewhere safe - not just on your server. If you lose it all encrypted data is irrecoverable -- even if you have database backups.
Environment Configuration
Kubectyl's core environment is easily configured using a few different CLI commands built into the app. This step will cover setting up things such as sessions, caching, database credentials, and email sending.
Database Setup
Now we need to setup all of the base data for the Panel in the database you created earlier. The command below may take some time to run depending on your machine. Please DO NOT exit the process until it is completed! This command will setup the database tables and then add all of the Nests & Eggs that power Kubectyl.
Add The First User
You'll then need to create an administrative user so that you can log into the panel. To do so, run the command below. At this time passwords must meet the following requirements: 8 characters, mixed case, at least one number.
Set Permissions
The last step in the installation process is to set the correct permissions on the Panel files so that the webserver can use them correctly.
Queue Listeners
We make use of queues to make the application faster and handle sending emails and other actions in the background. You will need to setup the queue worker for these actions to be processed.
Crontab Configuration
The first thing we need to do is create a new cronjob that runs every minute to process specific Kubectyl tasks, such as session cleanup and sending scheduled tasks to daemons. You'll want to open your crontab using sudo crontab -e
and then paste the line below.
Create Queue Worker
Next you need to create a new systemd worker to keep our queue process running in the background. This queue is responsible for sending emails and handling many other background tasks for Kubectyl.
Create a file called kubeq.service
in /etc/systemd/system
with the contents below.
Redis on CentOS
If you are using CentOS, you will need to replace with at the line in order to ensure starts before the queue worker.
TIP
If you are not using for anything you should remove the line, otherwise you will encounter errors when the service starts.
If you are using redis for your system, you will want to make sure to enable that it will start on boot. You can do that by running the following command:
Finally, enable the service and set it to boot on machine start.
Telemetry
Since 1.11, Kubectyl will collect anonymous telemetry to help us better understand how the software is being used. To learn more about this feature and to opt-out, please see our Telemetry documentation. Make sure to continue with the rest of the installation process.
Last updated