How to Install LeaderOS on Docker
A comprehensive guide for installing, configuring, and running LeaderOS on your Docker server for production use.
Before starting the installation process, make sure your domain’s nameservers and DNS settings are correctly configured. Otherwise, you will not be able to access the website.
Learn how to configure your domain nameservers/DNS here.
Prerequisites
Before proceeding with the installation, ensure you have the following:
- A server with Docker and Docker Compose installed.
- A valid domain name with properly configured DNS settings.
- Basic knowledge of Linux and command-line usage.
- An active LeaderOS license.
Step 1: Download the LeaderOS Docker Files
Clone the LeaderOS Docker repository from GitHub:
About the LeaderOS Docker repository structure:
.env
: The environment file for configuring the LeaderOS setup.nginx
: Contains the Nginx configuration files.leaderos
: Contains the LeaderOS software files.certbot
: Contains the Certbot configuration files for SSL certificates.docker-compose.yml
: The main Docker Compose file for setting up the LeaderOS environment.
Step 2: Download LeaderOS Software
- Log in to the LeaderOS website.
- Navigate to
My Account > Licenses
. - Click the Download button to obtain the
.zip
file.
Step 3: Upload LeaderOS Software to Your Server
- Upload the downloaded
.zip
file to your server. - Extract the contents into the
/leaderos
directory:
Step 4: Configure the .env
File
Before building the Docker environment, configure the .env
file according to your setup.
Step 5: Build and Start Docker Containers
Run the following command to build and start the required containers:
This process will set up the LeaderOS environment using the configurations from the .env
file.
Step 6: Obtain an SSL Certificate with Certbot
To secure your website with SSL, run the following command (replace YOUR_DOMAIN.com
with your actual domain name):
This command will generate an SSL certificate for your domain using Let’s Encrypt.
Step 7: Configure Nginx for SSL
Modify the Nginx configuration file to enable SSL. Edit nginx/templates/default.conf.template
and add the following lines:
Step 8: Restart Nginx
After configuring Nginx, restart the service to apply the changes:
Step 9: Set Up Automatic SSL Certificate Renewal
To ensure your SSL certificate is automatically renewed, add a cron job by running:
Then, add the following line to the crontab file:
This schedules Certbot to renew your SSL certificate every day at 2 AM.
Step 10: Visit Your Website and Complete the Setup
Once you have completed the above steps, visit your domain in a web browser to access the LeaderOS setup wizard. Follow the on-screen instructions to complete the installation.
Your database host should be set to mariadb
in the Database Settings step, which is the name of the MySQL container in the Docker environment.
Troubleshooting
If you encounter issues during installation or operation, consider the following solutions:
Permission issues when using docker commands
If you receive a permission error when running docker commands, add your user to the Docker group:
This will allow you to run Docker commands without requiring sudo
.
File permissions error on the setup wizard.
File Permissions: not writable
:
If you encounter this error during the LeaderOS setup wizard, you need to adjust the permissions of the leaderos
directory:
Example: chown -R www-data:www-data /home/myuser/leaderos-docker/leaderos
Database connection issues
SQLSTATE[HY000] [2002] No such file or directory
:
If LeaderOS fails to connect to the database, you need to set the database host to mariadb
in the Database Settings step.
Docker uses internal networking, so referring to the database service by its container name (mariadb
) is required.
Conclusion
Your LeaderOS installation on Docker is now complete! Your server should be running with a secure, properly configured environment. If you encounter any issues, refer to the official LeaderOS Documentation or contact the LeaderOS support team for assistance.