A repo for to setup containers for the purpose of running rConfig in Docker.
Explore the docs »
Intro
·
Installation
·
Usage
·
Contributing
·
License
·
Support
rConfig v6 is an enterprise grade Network Configuration Management (NCM) software package with superior NCM features and capabilities to help you easily manage configurations on large and small heterogenous networks. rConfig v6 is our flagship professional version of rConfig aimed at high value networks and business operations. rConfig v6 runs natively on many variants of Linux. Within this repo, we have developed docker compose files and related artifacts to allow our customers run rConfig v6 within a Docker environment.
Supported OS
- Rocky Linux 8.4+
- RHEL Linux 8.4+
- CentOS Linux 8.4+
These scripts are not tested on Docker Desktop or Docker for Windows at the time of this commit.
Of course, you may download or clone these files, and edit as you see fit. But you will need an rConfig v6 professional license to download rConfig v6 code base. This is available over at rconfig.com.
Check out our docs www.rconfig.com/docs
to learn more.
We have made it super easy to get started with rConfig v6 on Docker. Follow the steps below to get started.
Some prerequisites are needed before you get started.
- OS
- Any latest version of CentOS, RHEL, Rocky or Ubunutu
- Docker
- Any latest version of Docker or Docker-CE
- Any latest version of Docker Compose
Your OS will need git
installed to clone this repo. Internet access for the host VM is assumed also - at least to github and rconfig.com.
- Docker installation for CentOS/ Rocky
- Manual Docker Compose installation for CentOS/ Rocky (useful incase previous does not install it )
-
Clone this repository to a directory of your choosing.
cd /var/www/html git clone https://github.com/rconfig/rconfig6-docker.git
-
Create top level .env file
cd rconfig6-docker cp .env.example .env
-
Edit the .env file with your DB and other parameters
vim .env
APP_URL=somehostname.yourdomain.com APP_PORT=8080 DB_CONNECTION=mysql DB_HOST=rconfig6-mariadb DB_PORT=3306 DB_USERNAME=root DB_PASSWORD= RCONFIG_API_TOKEN= #REDIS ENV CONFIG REDIS_HOST=rconfig6-redis REDIS_PASSWORD=null REDIS_PORT=6379 #EXPOSED PORTS EXPOSED_APP_PORT=8080
If you are uncertain about any of the above, the most important items to change are the DB_PASSWORD and the RCONFIG_API_TOKEN
-
Bring up the containers. This time we remove the Horizon container from the build as the application init is not complete so will throw errors. (This will take a few minutes the first time)
docker-compose up --scale horizon=0 -d --build
-
Once the comtainers are up and running with no errors from the previous output, login to the php-apache container
docker-compose exec php-apache /bin/bash
-
Download envoy script
wget https://www.rconfig.com/downloads/rconfig6-docker-envoy.blade.php -O /var/www/html/rconfig6/Envoy.blade.php
-
Run the envoy init
envoy run init --dbhost=$DB_HOST --dbuser=$DB_USERNAME --dbpass=$DB_PASSWORD --hostname=$APP_URL --apitoken=$RCONFIG_API_TOKEN
-
run the envoy deploy
envoy run deploy --apitoken=$RCONFIG_API_TOKEN
-
Once the installation completes with no errors, exit the container, bring everything down, and start all containers up.
exit docker-compose down docker-compose up -d --build
-
your final output from the previous step should look like this
[+] Running 6/6
⠿ Network rconfig6-docker_rconfig6Network Created 0.3s
⠿ Container rconfig6-redis Started 0.6s
⠿ Container rconfig6-mariadb Started 0.7s
⠿ Container rconfig6-php-apache Started 1.1s
⠿ Container rconfig6-horizon-supervisor Started 1.6s
⠿ Container rconfig6-cronjob Started 1.6s
When troubleshooting issues, the following commands are useful.
docker ps -a
docker logs CONTAINERNAME
If you have permissions issues, such as errors that rConfig cannot write to the storage directory, follow these steps.
-
Login to the php-apache container
docker-compose exec php-apache /bin/bash
-
View the users list and find the id for the
www-data
accountmore /etc/passwd | grep www
-
The output should be similar to this
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
-
Simply apply the correct permissions to the
persistentdata
directorychown -R 33 persistentdata/
The default port for the web app is 8080. So go ahead and login to yourhostname.domain.com:8080 with the rConfig default creds per the documentation.
Please refer to the Documentation
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This code base for this repository's code is distributed under the MIT License. See LICENSE.txt
for more information. rConfig v6 is excluded from this license and repository.
Although we provide this code free and open source, rConfig v6 is based on a professional subscription arrangement. You may open issues in the issue section here at github, but rConfig Professional subscribers should open a ticket via our normal support channels.