Skip to content

rconfig/rconfig8coredocker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

rConfig v8 Core - Docker Setup

Official Docker deployment for rConfig v8 Core - Open Source Network Configuration Management.

Docker PHP Laravel

πŸš€ Quick Start

Get rConfig running in 5 minutes:

# 1. Clone this repository
git clone https://github.com/rconfig/rconfig8coredocker.git
cd rconfig8coredocker

# 2. Create environment file
cp .env.example .env
vi .env  # Edit with your settings

# 3. Build and start
docker compose build
docker compose up -d

# 4. Install rConfig
docker compose exec app php artisan v8core:install

# 5. Access rConfig
# http://localhost:8080
# Login: admin@domain.com / admin

⚠️ Change default credentials immediately after first login!


πŸ“‹ What's Included

  • PHP 8.4 with all required extensions
  • Apache 2.4 pre-configured for Laravel
  • MariaDB 10.11 database server
  • Redis for queues and caching
  • Laravel Horizon queue management with dashboard
  • Supervisor managing all services automatically

πŸ“¦ Prerequisites

  • Docker Engine 20.10+
  • Docker Compose 2.0+
  • Git
  • 2GB RAM minimum
  • Port 8080 available

πŸ› οΈ Installation

Step 1: Clone Repository

git clone https://github.com/rconfig/rconfig8coredocker.git
cd rconfig8coredocker

Step 2: Configure Environment

cp .env.example .env
vi .env

Required settings:

APP_URL=http://your-server-ip:8080
APP_DIR_PATH=/var/www/html/rconfig

DB_HOST=db
DB_PORT=3306
DB_DATABASE=rconfig
DB_USERNAME=rconfig_user
DB_PASSWORD=your_secure_password

Step 3: Build and Start

docker compose build
docker compose up -d

Step 4: Install rConfig

docker compose exec app php artisan v8core:install

Step 5: Access Application

http://localhost:8080

Default Login:

  • Email: admin@domain.com
  • Password: admin

πŸ”’ Change immediately after first login!


βœ… Post-Installation

Verify Services

docker compose exec app supervisorctl status

All services should show RUNNING.

If you see an application setup screen or first-run errors, complete install:

docker compose exec app php artisan v8core:install

Change Admin Credentials

  1. Login with default credentials
  2. Go to Settings β†’ Users
  3. Update email and password

πŸ”„ Common Operations

View Logs

docker compose logs -f app
docker compose exec app tail -f /var/www/html/rconfig/storage/logs/laravel.log

Run Artisan Commands

docker compose exec app php artisan [command]

Restart

docker compose restart app

πŸ”„ Updates

Automated (Recommended)

chmod +x update.sh
./update.sh

Manual

docker compose down
docker compose build --no-cache
docker compose up -d
docker compose exec app php artisan migrate --force
docker compose exec app php artisan rconfig:clear-all

πŸ’Ύ Backup

# Backup database
docker compose exec -T db mysqldump -u root -p${MYSQL_ROOT_PASSWORD} ${DB_DATABASE} > backup-$(date +%Y%m%d).sql

Restore

docker compose stop app
docker compose exec -T db mysql -u root -p${MYSQL_ROOT_PASSWORD} ${DB_DATABASE} < backup.sql
docker compose start app

πŸ› Troubleshooting

Permission Errors

docker compose exec app chown -R www-data:www-data /var/www/html/rconfig/storage
docker compose exec app chmod -R 775 /var/www/html/rconfig/storage
docker compose exec app php artisan rconfig:clear-all

Database Connection

docker compose ps db  # Check database is healthy
sleep 30 && docker compose restart app  # Wait and restart

Horizon Not Processing

docker compose exec app php artisan horizon:status
docker compose exec app supervisorctl restart horizon

Supervisor Socket Error

Symptoms: unix:///var/run/supervisor.sock no such file

docker compose exec app supervisorctl status
docker compose exec app ls -l /var/run/supervisor/supervisor.sock

If the socket is missing, rebuild so the updated supervisor config is used:

docker compose up -d --build

Redis Bind Error

Symptoms: bind: Address already in use for port 6379

Redis must only be managed by one process. This image uses Supervisor as the single process owner for Redis.

Missing APP_KEY Error

Symptoms: "No application encryption key has been specified"

docker compose exec app php artisan key:generate --force
docker compose restart app

OAuth Key Permission Errors

Symptoms: "Key file permissions are not correct"

docker compose exec app bash -c "chmod 600 /var/www/html/rconfig/storage/oauth-*.key && chown www-data:www-data /var/www/html/rconfig/storage/oauth-*.key"
docker compose restart app

πŸ”’ Security

Production Checklist

  • βœ… Change all default passwords
  • βœ… Set APP_DEBUG=false
  • βœ… Use strong passwords
  • βœ… Enable firewall
  • βœ… Set up SSL/TLS
  • βœ… Regular backups

Change Port

Edit .env:

APP_PORT=9090

Restart:

docker compose down && docker compose up -d

πŸ“š Resources


❓ FAQ

Q: Do I need to clone the main rconfig repo?
A: No! Dockerfile clones it automatically.

Q: Can I run multiple instances?
A: Yes! Use different directories and ports.

Q: How to enable debug mode?

# Edit .env: APP_DEBUG=true
docker compose down && docker compose up -d
docker compose exec app php artisan config:clear

Q: External database?
A: Remove db service from docker-compose.yml, update .env.


🀝 Contributing

Pull requests welcome! Please test thoroughly before submitting.


πŸ“„ License

Follows rConfig v8 Core license.


Made with ❀️ for the rConfig community

⭐ Star us on GitHub if this helped you!

Missing Application Key

Symptoms: "No application encryption key has been specified"

Fix:

docker compose exec app php artisan key:generate --force
docker compose restart app

Note: The entrypoint automatically generates this on first start, but if you encounter this error, run the command above.

About

Official Docker deployment for rConfig v8 Core - Open Source Network Configuration Management

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors