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.Caddyfile
: Contains the reverse proxy configuration for Caddy.nginx
: Contains the Nginx configuration files.leaderos
: Contains the LeaderOS software files.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. - Grant the necessary permissions to the
leaderos
directory:Example:chown -R www-data:www-data /home/myuser/leaderos-docker/leaderos
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: 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_writeable
:
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.
SSL certificate issues
With a correctly configured DNS configuration, the SSL certificate is auto-generated by the Caddy server. If the SSL certificate is not reflected on your website, you can try to restart the Caddy server:
phpMyAdmin access
If you need to access the database using phpMyAdmin, you need to configure the Caddyfile to enable access to the phpMyAdmin container. Add the following lines to the Caddyfile
:
Then, restart the Caddy server:
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.