Installing RevDeBug server
How to install and configure RevDeBug server
RevDeBug server is distributed in the form of docker images that can be easily deployed using a docker-compose utility.
More detailed information about the installation and preparation of the Docker environment and Docker Compose can be found here:
- 1.Docker-compose version >= 1.29.0
- 2.Ability to pull docker images from docker.revdebug.com on the server
You need a separate working environment (physical or virtual machine), on which the RevDeBug server containers will run using docker-compose.
RevDeBug Server-side architecture
- 1.Container services:
- Web interface
- Reverse proxy (Nginx) for the web interface
- Endpoint of the recording stream
- Endpoint for continuous transmission of performance metrics
- PostgreSQL database (provided but shared instance can be used as well)
- OpenSearch RESTful search engine
- 2.Hardware requirements for the server :
- CPU: 4x vCore (corresponding to i7 3GHz+)
- RAM: 32 GB RAM
- Volumes (disk space): 500GB+ on SSD
- Network interface: Wired LAN Gigabit Ethernet
- 3.Open TCP/IP ports:
- 42733 - 42735 (streaming of recordings and compilation metadata),
- 11800 (connection for continuous transfer of memory and CPU usage statistics for JVM)
- HTTP/HTTPS (web interface)
- 4.RevDeBug requires access from the server to:
- Source code repository (login via dedicated user and password with read-only permissions to the repositories recommended)
- Ability to pull docker images from docker.revdebug.com on the server
- 5.The following services must have network access to the RevDeBug server:
- CI/CD server/build-agents (communication from the CI/CD server building process to RevDeBug server to transfer compilation time metadata - connection on port 42734)
You need to obtain a license to use RevDeBug. Please contact us at:
Azure cloud users can quickly provision the virtual machine and automatically setup RevDeBug server instance using Deploy to Azure template available at https://github.com/RevDeBug/azure-template/tree/master/server
To set up a RevDeBug Server instance clone docker-compose project from public git repository to your virtual machine or physical server:
git clone https://github.com/RevDeBug/revdebug-server-docker-compose
Next in the cloned directory copy the template of settings file holding environment variables for docker-compose and name it ".env":
cp .env-template .env
Variables needed to be set up (other settings are optional):
REVDEBUG_SERVER_NAME- fully qualified DNS server name or IP address ie.: servername.your.domain.com
REVDEBUG_AUTH_OPENID_SECRET- A secret used within an authentication service provider. The key can be any string of characters. To generate it, you can use the command below (it needs to be a 32 alphanumeric characters, dashes are also allowed):
tr -dc A-Za-z0-9 </dev/urandom | head -c 32 ; echo ''
python3 -c 'import uuid;print(str(uuid.uuid4()))'
KEYCLOAK_USERAdmin user for keycloak admin
KEYCLOAK_PASSWORDAdmin user password for keycloak change_me_in_env_file
All docker-compose commands should be run from the inside of a previously cloned directory.
Usually, docker-compose commands are executed using the
To pull latest docker images execute:
sudo docker compose -p revdebug pull
sudo docker-compose -p revdebug pull
Then start RevDeBug server by executing:
sudo docker compose -p revdebug up -d
sudo docker-compose -p revdebug up -d
- After starting server please give 1-2 minutes for the keycloack authentication bridge to start before attempting to login.
- If the .env configuration file was misconfigured, it may be necessary to remove the keycloak configuration file located in
REVDEBUG_VOLUME_PATHdefaults to /var/revdebug/, so the path by default should be: /var/revdebug/keycloak/). Removing this directory and restarting the server involves the loss of previous keyclack configuration along with the created user accounts.
(usually docker-compose commands are executed using
sudocommand like in the example above)
After starting server please give 1-2 minutes for the keycloack authentication bridge to start before attempting to login.
To log in to the RevDeBug instance with the keycloak you need to create a user account in the configuration panel. To do so, enter the servername.your.domain.com/auth, and then go to the administration console. Here, login using the data specified in
KEYCLOAK_PASSWORDvariables in the .env configuration file (see Settings overview).
keycloak configuration panel
- Logging will lead you to the Keycloak configuration with RdbRealm selected. To add a user, go to the Users tab, then click the Add user button (right side of the screen).
- First fill in the username field and press the “Save” button.
- Next navigate to the Credentials tab, where the user password should be specified. If you leave the "Temporary" option checked, user will have to change the password after the first login.
- The last step assigning a role to the new user. Go to the Role Mapping tab, choose roles from Available Roles then click on “add selected”. Available roles:
Disabled- Blocked user
User- Permission to view the dashboards, performance metrics, alarms and traces.
Developer- Permissions the same as User plus ability to view the recordings.
Admin/Sysop- Permissions the same as Developer plus ability manage RevDeBug configuration.
The last configuration step in the installation process is uploading the license file. To obtain the license file, please contact us at:
After obtaining the license and completing the previous steps, go to http://servername.your.domain.com you should see the license loading screen
Upload your license using the “Choose File” button or drag and drop it to the area marked with the dashed line.
Another option is to manually add a license file on the server. To do this rename the license file to “license.dat” and then transfer it to the server and place inside directory specified by REVDEBUG_VOLUME_PATH variable in the .env file (default is /var/revdebug/server/repo/). Then restart RevDeBug containers.
You can check your license by navigating to the License page. Switch to
Flight Recordertab and expand settings list (top right corner with gears icon)
On the license page you can:
- Read name of the organization the license is issued to
- Check license validity dates
- Upload a new license (the old license file is replaced with the new one).
Expiring license notifications. There are two types of notifications displayed at the top of the RevDeBug application web interface:
Warning- it’s active from the 10th day to the 7th day before the end of the license validity date
Red Alert- it’s active from the 7th day to the last day of license validity
Congratulations! You have your own RevDeBug instance running. To start monitoring and error recording your applications please refer to dedicated technology stack guides: