Skip to content

rConfig - V8 Pro Docker Container

5 mins V8 Pro

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

  1. Clone the Repository
  2. Login to rConfig Registry
  3. Configure the .env File
  4. Start the rConfig Docker Container
  5. Verify Container is Running
  6. Complete Installation Inside the Container
  7. Restart the Docker Container
  8. Access rConfig V8 Professional

Before starting the installation, ensure the following:

  1. Docker and Docker Compose are installed on your server.
  2. 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.
  3. rConfig Professional Subscription is required for Docker image access. Ensure you have valid credentials for the private registry.
  4. You need to be logged in as root when executing the scripts.

Clone the rConfig V8 Docker repository to your server:

Terminal window
git clone https://github.com/rconfig/rconfig8docker.git
cd rconfig8docker

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.

Terminal window
docker login reg.rconfig.com:8443
Username: robot$rconfig+yourname
Password: # Enter your credentials

Navigate to the data directory and update the .env file with the following settings:

Terminal window
APP_DEBUG=true/false
APP_URL=http://yourFQDNorIP.domain.com
DB_HOST=db # Database container or external DB server
DB_PORT=ENVOY_DB_PORT
DB_DATABASE=ENVOY_DB_DATABASE
DB_USERNAME=ENVOY_DB_USERNAME
DB_PASSWORD=ENVOY_DB_PASSWORD
RCONFIG_API_TOKEN=ENVOY_API_TOKEN

Start the container with the following command:

Terminal window
# 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.

Check that the container is running using the following:

Terminal window
docker ps

Complete Installation Inside the Container

Section titled “Complete Installation Inside the Container”

Execute the following commands inside the Docker container:

Terminal window
# enter the container name if different to rconfig8docker-app-1
docker exec -it rconfig8docker-app-1 bash
# Run the artisan commands to complete the installation:
php artisan migrate
php artisan key:generate
php artisan passport:install # Answer 'yes' to any prompts
php artisan rconfig:sync-tasks
# Set permissions for the storage directory
chown -R www-data:www-data /var/www/html/rconfig8/current/storage
chmod -R 775 /var/www/html/rconfig8/current/storage
# Finally, clear the config cache and update RBAC data
php artisan rconfig:clear-all
php artisan rconfig:update-rbac-data

After completing the setup, restart the Docker container:

Terminal window
# 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)

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:”
  1. Please change the default account/password for security reasons.
  2. Navigate to External Tools > Queue Manager and verify that the Queue Manager is Active on the dashboard.
  3. On the CLI run supervisorctl status to verify all services are running correctly. You should see:
Terminal window
apache2 RUNNING pid 7, uptime 0:13:28
horizon RUNNING pid 8, uptime 0:13:28
redis-server RUNNING pid 10, uptime 0:13:27
schedule-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.

To check what versions are available in the rConfig registry:

Terminal window
# First, ensure you're logged into the registry
docker login reg.rconfig.com:8443
# List available tags/versions (this may not work with all registries)
# Alternative: Check with rConfig support for available versions
Terminal window
# Use either 'docker compose' (newer plugin version) or 'docker-compose' (standalone version)
docker compose down

Before updating, create a backup of your data directory and database:

Terminal window
# Backup data directory
tar -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
Terminal window
# Pull the latest version
docker 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.0
docker compose pull
Terminal window
# Start the updated container
docker 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:

Terminal window
# Enter the container
docker exec -it rconfig8docker-app-1 bash
# Run migrations (only if required for the update)
php artisan migrate
# Clear caches
php artisan rconfig:clear-all
# Update RBAC data if needed
php artisan rconfig:update-rbac-data

Check that all services are running correctly:

Terminal window
# Check container status
docker ps
# Check services inside container
docker exec -it rconfig8docker-app-1 supervisorctl status

You should see all services running:

Terminal window
apache2 RUNNING pid 7, uptime 0:13:28
horizon RUNNING pid 8, uptime 0:13:28
redis-server RUNNING pid 10, uptime 0:13:27
schedule-run:schedule-run_00 RUNNING pid 12, uptime 0:13:27

If you encounter issues with the new version:

Terminal window
# Stop current container
docker compose down
# Edit docker-compose.yml to specify the previous working version
# Example: reg.rconfig.com:8443/rconfig8:v8.0.5
# Pull the previous version
docker compose pull
# Start with previous version
docker compose up -d
# Restore data backup if necessary
tar -xzf rconfig-data-backup-YYYYMMDD.tar.gz