rConfig - V8 Pro Docker Container
rConfig V8 Professional is an enterprise-grade Network Configuration Management (NCM) software designed to help you easily manage configurations on large and small heterogeneous networks. This guide provides the steps to install rConfig V8 Professional using Docker.
Complete the rConfig Professional installation in Docker by following those steps. Please run
all steps as root
- Clone the Repository
- Login to rConfig Registry
- Configure the .env File
- Start the rConfig Docker Container
- Verify Container is Running
- Complete Installation Inside the Container
- Restart the Docker Container
- Access rConfig V8 Professional
Installation
Section titled “Installation”Prerequisites
Section titled “Prerequisites”Before starting the installation, ensure the following:
- Docker and Docker Compose are installed on your server.
- The data directory should be writable by the web server user inside the Docker container, and the contents of the data directory in this repository should be copied to the data directory on your server. You may clone this repository and copy the contents of the data directory to your server if you wish.
- rConfig Professional Subscription is required for Docker image access. Ensure you have valid credentials for the private registry.
- You need to be logged in as
root
when executing the scripts.
Clone the Repository
Section titled “Clone the Repository”Clone the rConfig V8 Docker
repository to your server:
git clone https://github.com/rconfig/rconfig8docker.gitcd rconfig8docker
Login to rConfig Registry
Section titled “Login to rConfig Registry”Authenticate with the rConfig private Docker registry to pull the rConfig
image. You will need to have a valid subscription to rConfig Professional to access the registry. Credentials are provided by rConfig.
docker login reg.rconfig.com:8443Username: robot$rconfig+yournamePassword: # Enter your credentials
IMPORTANT: Configure the .env
File
Section titled “IMPORTANT: Configure the .env File”Navigate to the data
directory and update the .env
file with the following settings:
APP_DEBUG=true/falseAPP_URL=http://yourFQDNorIP.domain.comDB_HOST=db # Database container or external DB serverDB_PORT=ENVOY_DB_PORTDB_DATABASE=ENVOY_DB_DATABASEDB_USERNAME=ENVOY_DB_USERNAMEDB_PASSWORD=ENVOY_DB_PASSWORDRCONFIG_API_TOKEN=ENVOY_API_TOKEN
Start the rConfig Docker Container
Section titled “Start the rConfig Docker Container”Start the container with the following command:
# Use either 'docker compose' (newer plugin version) or 'docker-compose' (standalone version)docker-compose up -d
Note: Depending on your installation method, you can use either:
docker compose up -d
(Docker Compose plugin - newer method)docker-compose up -d
(Docker Compose standalone binary - traditional method)
Both commands accomplish the same task of starting your containers in detached mode.
Verify Container is Running
Section titled “Verify Container is Running”Check that the container is running using the following:
docker ps
Complete Installation Inside the Container
Section titled “Complete Installation Inside the Container”Execute the following commands inside the Docker container:
# enter the container name if different to rconfig8docker-app-1docker exec -it rconfig8docker-app-1 bash
# Run the artisan commands to complete the installation:php artisan migratephp artisan key:generatephp artisan passport:install # Answer 'yes' to any promptsphp artisan rconfig:sync-tasks
# Set permissions for the storage directorychown -R www-data:www-data /var/www/html/rconfig8/current/storagechmod -R 775 /var/www/html/rconfig8/current/storage
# Finally, clear the config cache and update RBAC dataphp artisan rconfig:clear-allphp artisan rconfig:update-rbac-data
Restart the Docker Container
Section titled “Restart the Docker Container”After completing the setup, restart the Docker container:
# Use either 'docker compose' (newer plugin version) or 'docker-compose' (standalone version)docker-compose up -d
Note: Depending on your installation method, you can use either:
docker compose up -d
(Docker Compose plugin - newer method)docker-compose up -d
(Docker Compose standalone binary - traditional method)
Access rConfig V8 Professional
Section titled “Access rConfig V8 Professional”You can now access the rConfig V8 Professional
interface at the URL you specified in the .env
.
Once this process has completed without errors you may login to the server IP address or hostname with the following credentials
Username: [email protected]
Password: admin
Finally, after you login, manually run these actions to verify the installation is correct:
Section titled “Finally, after you login, manually run these actions to verify the installation is correct:”- Please change the default account/password for security reasons.
- Navigate to
External Tools
>Queue Manager
and verify that the Queue Manager is Active on the dashboard. - On the CLI run supervisorctl status to verify all services are running correctly. You should see:
apache2 RUNNING pid 7, uptime 0:13:28horizon RUNNING pid 8, uptime 0:13:28redis-server RUNNING pid 10, uptime 0:13:27schedule-run:schedule-run_00 RUNNING pid 12, uptime 0:13:27
Note for advanced users: cron must run the php artisan schedule:run
command every minute. This is handled by the schedule-run:schedule-run_00
supervisord service in the Docker container.
Updating the rConfig Docker Container
Section titled “Updating the rConfig Docker Container”View Available Images in Registry
Section titled “View Available Images in Registry”To check what versions are available in the rConfig registry:
# First, ensure you're logged into the registrydocker login reg.rconfig.com:8443
# List available tags/versions (this may not work with all registries)# Alternative: Check with rConfig support for available versions
Update to Latest Version
Section titled “Update to Latest Version”Step 1: Stop the Current Container
Section titled “Step 1: Stop the Current Container”# Use either 'docker compose' (newer plugin version) or 'docker-compose' (standalone version)docker compose down
Step 2: Backup Your Data (Recommended)
Section titled “Step 2: Backup Your Data (Recommended)”Before updating, create a backup of your data directory and database:
# Backup data directorytar -czf rconfig-data-backup-$(date +%Y%m%d).tar.gz ./data
# Backup database (if using external database)# mysqldump -u username -p database_name > rconfig-db-backup-$(date +%Y%m%d).sql
Step 3: Pull the Latest Image
Section titled “Step 3: Pull the Latest Image”# Pull the latest versiondocker compose pull
# Or pull a specific version by updating your docker-compose.yml first# Change the image tag in docker-compose.yml from 'latest' to your desired version# Example: reg.rconfig.com:8443/rconfig8:v8.1.0docker compose pull
Step 4: Update the Container
Section titled “Step 4: Update the Container”# Start the updated containerdocker compose up -d
Step 5: Run Database Migrations (If Required)
Section titled “Step 5: Run Database Migrations (If Required)”Some updates may require database migrations. Execute inside the container:
# Enter the containerdocker exec -it rconfig8docker-app-1 bash
# Run migrations (only if required for the update)php artisan migrate
# Clear cachesphp artisan rconfig:clear-all
# Update RBAC data if neededphp artisan rconfig:update-rbac-data
Step 6: Verify the Update
Section titled “Step 6: Verify the Update”Check that all services are running correctly:
# Check container statusdocker ps
# Check services inside containerdocker exec -it rconfig8docker-app-1 supervisorctl status
You should see all services running:
apache2 RUNNING pid 7, uptime 0:13:28horizon RUNNING pid 8, uptime 0:13:28redis-server RUNNING pid 10, uptime 0:13:27schedule-run:schedule-run_00 RUNNING pid 12, uptime 0:13:27
Rolling Back (If Needed)
Section titled “Rolling Back (If Needed)”If you encounter issues with the new version:
# Stop current containerdocker compose down
# Edit docker-compose.yml to specify the previous working version# Example: reg.rconfig.com:8443/rconfig8:v8.0.5
# Pull the previous versiondocker compose pull
# Start with previous versiondocker compose up -d
# Restore data backup if necessarytar -xzf rconfig-data-backup-YYYYMMDD.tar.gz