Skip to content
View rconfig's full-sized avatar

Block or report rconfig

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
rconfig/README.md


rConfig Logo

rConfig v8 Core

Enterprise-Grade Network Configuration Management
Free, Open Source, Community Edition

πŸ“š Explore the Docs Β»

Quick Start Β· Features Β· Installation Β· Report Bug Β· Request Feature

Tests License GitHub stars

PHP 8.4+ Laravel Vue 3 Vite MySQL


🎯 About rConfig v8 Core

rConfig v8 Core is a powerful, free, and open-source Network Configuration Management (NCM) solution designed to help you easily manage configurations across networks of any sizeβ€”from small deployments to large, heterogeneous enterprise environments.

Why Choose rConfig?

  • πŸš€ Fast & Efficient - Optimized for high-performance configuration backups
  • πŸ”’ Secure - Built with security best practices from the ground up
  • 🌐 Multi-Vendor Support - Works with Cisco, Juniper, HP, and more
  • πŸ“¦ Easy Deployment - Docker support for quick setup
  • πŸ’° Cost-Free - No licensing fees, truly open source
  • πŸ› οΈ Actively Maintained - Regular updates and community support

(⬆ back to top)


πŸ“Έ Screenshots

Click to view screenshots

Dashboard

Dashboard

πŸ“˜ Documentation

Full V8Core documentation: https://v8coredocs.rconfig.com/getting-started/

✨ Features

Core Features

  • βœ… Configuration Backup - Automated device backups
  • βœ… Multi-Vendor Support - Cisco, Juniper, HP, Dell, and more
  • βœ… Unlimited Devices - No artificial limits
  • βœ… Scheduled Tasks - Automated backup scheduling

Technical Stack

  • πŸ”§ Laravel 12 - Modern PHP framework
  • 🎨 Vue.js 3 - Reactive UI components
  • ⚑ Vite - Lightning-fast builds
  • 🎨 shadcn/ui - Beautiful UI components
  • 🐳 Docker Ready - Container deployment
  • πŸ“Š MySQL/MariaDB - Reliable database

πŸ†š rConfig Editions Comparison

Feature πŸ†“ rConfig Core πŸ’Ž rConfig Professional
Configuration Backup βœ… βœ…
Multi-Vendor Support βœ… βœ…
Unlimited Devices βœ… βœ…
API Access ❌ βœ…
Enterprise Features ❌ βœ…
Priority Support ❌ βœ…
SLA Guarantees ❌ βœ…
πŸ“‹ View Full Feature Comparison
Check out the complete feature list at rconfig.com/pricing

(⬆ back to top)


πŸš€ Quick Start

Get rConfig v8 Core up and running in minutes!

Option 1: 🐳 Docker (Recommended for Quick Testing)

For Docker installation, please use our dedicated Docker repository:

πŸ‘‰ rconfig8coredocker

# install git and docker if you don't have them already
# For CentOS/RHEL/Rocky:
sudo yum install -y git docker docker-compose
sudo systemctl start docker
sudo systemctl enable docker
# For Ubuntu:

sudo apt-get update
sudo apt-get install -y git docker.io docker-compose
sudo systemctl start docker
sudo systemctl enable docker

# Clone the Docker repository
git clone https://github.com/rconfig/rconfig8coredocker.git
cd rconfig8coredocker

## Follow Steps in the official documentation for docker setup: https://v8coredocs.rconfig.com/installation-upgrades/v8-core/docker-setup/

To complete the setup, follow the remaining instructions in the V8 Core Docker documentation: https://v8coredocs.rconfig.com/getting-started/docker-installation/

Default credentials:

  • πŸ“§ Email: admin@domain.com
  • πŸ”‘ Password: admin

⚠️ Important: Change these credentials immediately after first login!

Option 2: πŸ’» Native Installation

See the Full Installation Guide below.

(⬆ back to top)


πŸ“¦ Installation

For a full VM installation, refer to the documentation at https://v8coredocs.rconfig.com/getting-started/installation/ or follow the steps below. Please note, this installation method is more complex and is recommended for experienced users or production environments.

When setting up your VM, we have provided detailed instructions for both CentOS/RHEL/Rocky and Ubuntu. Please follow the steps that correspond to your operating system. and ensure you have the necessary prerequisites installed before proceeding.

πŸ’‘ Tip: We provide automated setup scripts! Visit v8coredocs.rconfig.com/getting-started/os-configuration/

Prerequisites

OS Requirements: System Requirements

Supported OS: Rocky Linux 8/9+ (recommended), CentOS 8/9+, RHEL 8/9+, Ubuntu 22.04+, Alma Linux 8/9+, AWS Linux 2023

Required Software: PHP 8.4+, Composer 2.4+, Apache 2.4+, MySQL 5.7+/MariaDB 10.5+, Node.js 14.17+, Git 2.25+, Supervisor 4.2+


πŸ—„οΈ Database Setup

# Login to mariadb/mysql
mysql -u root -p

# Create database
CREATE DATABASE rconfig;

# Create user (recommended for Ubuntu 22.04+)
CREATE USER 'rconfig_user'@'localhost' IDENTIFIED BY 'your_secure_password';
GRANT ALL PRIVILEGES ON rconfig.* TO 'rconfig_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

πŸ“₯ Installation Steps

# 1. Navigate to web directory
cd /var/www/html

# 2. Clone the repository
git clone https://github.com/rconfig/rconfig.git
cd rconfig

# 3. Create environment file
cp .env.example .env

# 4. Edit .env with your settings
nano .env

Update these variables in .env:

APP_URL="https://your-server.domain.com"
APP_DIR_PATH=/var/www/html/rconfig
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=rconfig
DB_USERNAME=rconfig_user
DB_PASSWORD=your_secure_password

πŸ’‘ Best practice: Set APP_URL to the exact hostname (and scheme) users will browse to, and match it to the Apache ServerName further below. This drives absolute URL generation, password reset links, and Sanctum's stateful-domain check. The SPA will still log in if APP_URL is left as a placeholder β€” same-origin requests are accepted automatically β€” but mail links and OAuth/SAML callbacks will be wrong until you set it correctly.

# 5. Install PHP dependencies
export COMPOSER_ALLOW_SUPERUSER=1
composer self-update --2
yes | composer install --no-dev

# 6. Setup Apache
chmod +x setup_apache.sh
./setup_apache.sh

# 7. Setup Supervisor
chmod +x setup_supervisor.sh
./setup_supervisor.sh

# 8. Run the beautiful installation wizard, and answer yes to all prompts 🎨
php artisan v8core:install

πŸŽ‰ When prompted about cron scheduling, type yes and press Enter.


πŸ”§ Final Configuration

# Update Apache virtual host to your server's FQDN
# For CentOS/RHEL:
sudo nano /etc/httpd/conf.d/rconfig-vhost.conf

# For Ubuntu:
sudo nano /etc/apache2/sites-enabled/rconfig-vhost.conf

Update ServerName:

ServerName your-server.domain.com
ServerAlias your-server.domain.com
# Restart Apache
# CentOS/RHEL:
sudo systemctl restart httpd

# Ubuntu:
sudo systemctl restart apache2

# Set permissions and clear cache
# CentOS/RHEL:
cd /var/www/html/rconfig
chown -R apache storage bootstrap/cache
php artisan rconfig:clear-all

# Ubuntu:
cd /var/www/html/rconfig
chown -R www-data storage bootstrap/cache
php artisan rconfig:clear-all

πŸ” SSL / TLS Setup

rConfig should be served over HTTPS in any non-trivial environment. Browser session cookies, SAML/OAuth callbacks, and the SPA's same-origin auth all behave best on a properly certified domain.

For step-by-step instructions covering self-signed certificates, Let's Encrypt, and reverse-proxy termination, see the official guide:

πŸ‘‰ SSL Setup Guide β†’ v8coredocs.rconfig.com/auth-security/ssl-setup

After enabling SSL, make sure your APP_URL in .env uses https:// and matches the certificate's hostname.


🎊 Access Your Installation

Open your browser and navigate to: https://your-server.domain.com

Default System Credentials:

  • πŸ“§ Email: admin@domain.com
  • πŸ”‘ Password: admin

⚠️ Security Notice: Change or remove these credentials immediately after creating a new admin user!

(⬆ back to top)


πŸ”„ Updating

⚠️ Before updating:

  • Backup your database
  • Backup your .env file
  • Backup your storage directory
  • Backup your entire server if possible

PHP 8.4 Update (Required as of Feb 2024)

# For CentOS/RHEL/Rocky:
cd /home
yum -y install wget
wget https://dl.rconfig.com/downloads/php-updates/centos-php8-update.sh -O /home/centos-php8-update.sh
chmod +x centos-php8-update.sh
./centos-php8-update.sh

# For Ubuntu:
cd /home
sudo apt-get install wget
wget https://dl.rconfig.com/downloads/php-updates/ubuntu-php8-update.sh -O /home/ubuntu-php8-update.sh
chmod +x ubuntu-php8-update.sh
./ubuntu-php8-update.sh

Update Commands

# CentOS/Rocky/RHEL:
cd /var/www/html/rconfig
git pull
php artisan migrate
php artisan rconfig:sync-tasks
composer install
systemctl restart httpd
php artisan rconfig:clear-all

# Ubuntu:
cd /var/www/html/rconfig
git pull
php artisan migrate
php artisan rconfig:sync-tasks
composer install
systemctl restart apache2
php artisan rconfig:clear-all

πŸ’‘ Git Conflicts? Try: git stash && git pull

(⬆ back to top)


🀝 Contributing

Contributions make the open-source community amazing! Any contributions you make are greatly appreciated.

Contribution Guidelines

We maintain high standards for code quality and style. Contributors should have:

  • Strong working knowledge of PHP, Laravel, and Vue.js
  • Understanding of best practices and coding standards
  • Ability to write clean, maintainable code

How to Contribute

  1. 🍴 Fork the Project
  2. 🌿 Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. ✍️ Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. πŸ“€ Push to the Branch (git push origin feature/AmazingFeature)
  5. πŸ”€ Open a Pull Request to the develop branch

Running Tests

# 1. Create test database
# 2. Copy environment file
cp .env.example .env.testing

# 3. Generate test key
php artisan key:generate --env=testing

# 4. Update .env.testing
# Set APP_ENV=testing
# Update database credentials

# 5. Run tests
php artisan test

Frontend Development

# Install dev dependencies
npm install --include=dev

# Start dev server
npm run dev

πŸ’‘ Network issues with npm? Try: export NODE_OPTIONS="--dns-result-order=ipv4first"

(⬆ back to top)


πŸ“Ί Video Tutorials

Check out our YouTube channel for installation walkthroughs and tutorials:

YouTube

(⬆ back to top)


πŸ“„ License

This codebase is distributed under License from rConfig. See LICENSE.txt for more information.

ℹ️ rConfig v8 Professional is excluded from this license and repository.

(⬆ back to top)


πŸ’¬ Support

Community Support (rConfig Core)

ℹ️ rConfig v8 Core is provided on a best-effort basis. Response times may vary.

Priority Support (rConfig Professional)

For business-critical environments and guaranteed response times:

  • 🎫 Dedicated support portal
  • πŸ“ž Priority response SLA
  • πŸ”§ Expert assistance
  • πŸ“Š Advanced features

πŸ‘‰ Learn more about rConfig Professional

(⬆ back to top)


πŸ™ Acknowledgments

Built with amazing open-source technologies:

  • Laravel - The PHP Framework for Web Artisans (V12)
  • Vue.js - The Progressive JavaScript Framework
  • shadcn/ui - Beautifully designed components
  • Vite - Next Generation Frontend Tooling

See composer.json and package.json for the complete list of dependencies.

(⬆ back to top)


⭐ Star us on GitHub β€” it motivates us a lot!

GitHub stars

Made with ❀️ by the rConfig Team

Website Β· Documentation Β· Twitter Β· GitHub

Popular repositories Loading

  1. rconfig rconfig Public

    πŸŽ‰ V8 Core Released! Major upgrade complete - fully modernized codebase with new features, resolved deprecations, updated tests, and improved architecture. Ready for production use.

    PHP 180 25

  2. rconfig-v3 rconfig-v3 Public archive

    rConfig - Network Configuration Management

    PHP 102 44

  3. rConfig-templates rConfig-templates Public

    a repo to store community submitted connection templates for rConfig

    31 31

  4. rconfig-sim rconfig-sim Public

    High-density Cisco IOS SSH simulator for load testing rConfig at 50k+ devices.

    Go 10

  5. rconfig6-docker rconfig6-docker Public archive

    Docker compose files for rConfig v6

    Dockerfile 7 2

  6. rconfig6docker rconfig6docker Public archive

    rconfig6docker

    Awk 4 2