-
Notifications
You must be signed in to change notification settings - Fork 12
Installation
This section aims to answer some of the most frequently asked questions on installing reNgine-ng.
Caution
It is recommended that you follow each steps to avoid encountering any errors/issues during the setup.
Running reNgine-ng on local machine is a very straight forward process.
You'll need docker
, docker compose
and make
to build and run reNgine-ng on local machine.
Caution
Minimal version of Docker to use reNgine-ng is 20.10.0.
Tip
You can check your current version of Docker by running docker version
Docker provides very good documentation on how to install Docker based on your Operating System.
You have two ways to install Docker:
- Installing Docker Desktop is as easy as double clicking the
InstallDocker.msi
installer. You can find the installation guide here. - Install Docker Engine (recommended for server/production) from the documentation here.
Caution
Not recommended
Nick Janetakis has a well written blog and a Video guide on how to install Docker on Windows Subsystem Linux. Please follow the video/blog guide on how to install Docker on WSL.
Caution
Minimal version of docker compose
to use reNgine-ng is 2.2.0.
Tip
You can check your current version of docker compose
by running docker compose version
If you're running Docker Desktop you can skip installing docker-compose
as docker compose
comes along with Docker Desktop. This applies for both Windows and MacOS users.
If you're using Linux distributions or WSL (without Docker Desktop), you will still need to install the latest docker compose
and the installation steps are similar.
You can install make
by:
- using the package manager of your Linux distribution (apt, dnf, yum, pacman, etc.)
- following the steps from: https://www.gnu.org/software/make/
If you are on Ubuntu/RHEL/Linux, install script is provided for quick installation.
Follow ⚡ Quick Installation instructions.
This guide is divided into several sections based on the frequently asked questions:
- Running reNgine-ng on local machine
- Running reNgine-ng on VPS
- Running reNgine-ng with your own managed database
Important
It's recommended to install reNgine on a Debian-based OS like Ubuntu or any other Debian-based distribution. reNgine-ng is heavily tested on this distribution. If you don't have a Debian-based OS, you can install a Debian-based OS on a virtual machine like VirtualBox or VMWare to run reNgine-ng on your local machine.
Quick Install reNgine-ng on Ubuntu or Kali
Installing reNgine-ng on Windows or Mac
While the installation step should be very similar across all VPS providers, an example of running reNgine-ng on DigitalOcean is provided.
How to Install reNgine-ng on DigitalOcean or any VPS
It is a good idea to run reNgine-ng using managed database, or remote database.
Find how to use reNgine-ng with managed/remote database
Tip
You can always update reNgine-ng to the latest release unless otherwise stated in the changelog.
Please ensure backwards compatibility before updating reNgine-ng.
Warning
Like major release 2.0, reNgine-ng is not backwards compatible. This is due to many changes added in reNgine-ng and to skip worrying about django migrations and other configuration issues, sometimes (some major releases) may not be backwards compatible.
In this case, please do not update/upgrade reNgine-ng. Please do a fresh installation.
Warning
Release 2.1.0 has evolved to a Docker rootless architecture
Please ensure to set correct permissions for the volumes according to the steps below.
- make a backup of your .env file
git checkout release/2.1.0
git pull origin release/2.1.0
- copy
.env-dist
to.env
and modify certificate/postgres credentials (do not copy/paste .env) sudo ./install.sh
- After upgrade, which should fail to start the Celery container, do a
make down
, change volumes permissions
sudo docker run --rm -v rengine_tool_config:/data alpine sh -c "chown -R 1000:1000 /data"
sudo docker run --rm -v rengine_nuclei_templates:/data alpine sh -c "chown -R 1000:1000 /data"
sudo docker run --rm -v rengine_scan_results:/data alpine sh -c "chown -R 1000:1000 /data"
sudo docker run --rm -v rengine_wordlist:/data alpine sh -c "chown -R 1000:1000 /data"
- Check permissions inside volume, it should be 1000:1000
sudo docker run --rm -v rengine_tool_config:/data alpine sh -c "ls -lh /data"
sudo docker run --rm -v rengine_nuclei_templates:/data alpine sh -c "ls -lh /data"
sudo docker run --rm -v rengine_scan_results:/data alpine sh -c "ls -lh /data"
sudo docker run --rm -v rengine_wordlist:/data alpine sh -c "ls -lh /data"
make up
Updating is as simple as running the following command:
-
Go to your reNgine-ng root directory and run the update script.
cd scripts sudo ./update.sh
-
If your version is up to date you will see the following screen and update will finished
-
If not up to date you will see the following screen
-
After you accept, you will be prompted to choose the type of update : prebuilt images or build from source
-
Then, lastly, you will be prompted to re-apply your local changes after update.
-
Update process starts, if successful you will see the following screen
Uninstall script for reNgine-ng is provided with project.
Caution
Uninstall script could delete all the docker containers, images, volumes, networks, etc.
Make sure to backup your data before completeley uninstalling reNgine-ng.
Removing containers and images will not be a problem, but removing volumes will cause all data to be lost.
-
Go to your reNgine-ng root directory and run the uninstall script.
cd scripts sudo ./uninstall.sh
-
You will be prompted to confirm the uninstallation
-
Uninstallation process starts, if successful you will see the following screen
- Containers will be stopped
- Images will be removed
- Volumes will be removed
- Networks will be removed
- All data will be lost
-
Uninstallation process will finish, if successful you will be prompted to delete reNgine-ng Docker images
[!NOTE] This step ask you if you want to remove docker images.
Removing images will free up some space, but if you want to install reNgine-ng again, you will have to download or build the images again.
-
If successfull you will see
-
Then you will be prompted to remove all Docker-related leftovers
[!CAUTION] Be very careful with this step, because it will delete all docker-related leftovers.
If it's not a VM dedicated to reNgine-ng, you will lose ALL YOUR DOCKER DATAS
-
Uninstallation process will finish, if successful you will see the following screen
Thank you for using reNgine-ng.
- Home - Introduction to reNgine-ng with workflows and features
- Installation - Install reNgine-ng in different ways
- Usage - Common usage and best practices
- Backup-Restore - Backup and restore reNgine-ng easily
- Dependencies - Information about used third-party libraries and tools
- Security - Security best practices and reporting issues
- Support - Troubleshooting guide and common issues
- Changelog - Complete changelog
- Community - Get help on social networks
- Contributing - How to contribute to the project
- Presentations - Materials regarding reNgine presented at conferences
- Screenshots - Collection of screenshots demonstrating features