Installing RevDeBug server
How to install and configure RevDeBug server

Prerequisites

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:
RevDeBug requires:
  1. 1.
    Docker-compose version >= 1.29.0
  2. 2.
    Ability to pull docker images from docker.revdebug.com on the server

Requirements & Architecture

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. 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. 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. 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. 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. 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)

Get a license

You need to obtain a license to use RevDeBug. Please contact us at:

One click install using Azure Deployment

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
Just click the Deploy to Azure button at the Azure template project repository web page and follow the instructions on Azure Portal:
After deploying the server instance follow the guide from Accessing RevDeBug server section.

Setting up RevDeBug Server instance

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
cd 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):
Bash
Python
tr -dc A-Za-z0-9 </dev/urandom | head -c 32 ; echo ''
python3 -c 'import uuid;print(str(uuid.uuid4()))'
  • REVDEBUG_AUTH_OPENID_ADDRESS - address of an authentication service provider. In the case of a keycloak instance, set: http://servername.your.domain.com/auth/realms/rdbRealm
  • KEYCLOAK_USERAdmin user for keycloak admin
  • KEYCLOAK_PASSWORDAdmin user password for keycloak change_me_in_env_file
Those variables are stored on first server deployment, if you have set them up incorrectly or want to change them please read in the troubleshooting section below.
All docker-compose commands should be run from the inside of a previously cloned directory.
Usually, docker-compose commands are executed using the sudo command.
To pull latest docker images execute:
sudo docker-compose -p revdebug pull
Then start RevDeBug server by executing:
sudo docker-compose -p revdebug up -d
Remember to log in to your RevDeBug instance, you also need to add users to your keyclaoak panel.

Troubleshooting

  • 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_PATH/keycloak (REVDEBUG_VOLUME_PATH defaults 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.

Docker-compose commands quick reference:

Command
Effect
docker-compose -p revdebug up -d
Starting RevDeBug Server
docker-compose -p revdebug down
Stopping RevDeBug Server
docker-compose -p revdebug restart
Restarting RevDeBug Server
docker-compose -p revdebug logs --tail=100
Displaying logs of RevDeBug server and all of its services (limited to the last 100 lines)
(usually docker-compose commands are executed using sudo command like in the example above)
RevDeBug comes pre-configured. If you need to customize to your needs, here you will find a list of available options for configuring your RevDeBug instance.

Keycloak panel configuration

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_USER and KEYCLOAK_PASSWORD variables 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.

Enabling license for RevDeBug server

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.

Activate new license file

You can check your license by navigating to the License page. Switch to Flight Recorder tab 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

Instrumenting and monitoring applications

Congratulations! You have your own RevDeBug instance running. To start monitoring and error recording your applications please refer to dedicated technology stack guides:
Copy link
On this page
Prerequisites
Requirements & Architecture
Get a license
One click install using Azure Deployment
Setting up RevDeBug Server instance
Troubleshooting
Docker-compose commands quick reference:
Keycloak panel configuration
Enabling license for RevDeBug server
Activate new license file
Instrumenting and monitoring applications