Installing RevDeBug server
How to install and configure RevDeBug server

Introduction

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 startup environment and handling of the Docker Compose format can be found here:
RevDeBug requires the minimum version of docker-compose>=1.29.0
To install RevDeBug you will need:
  1. 1.
    Setup environment (physical or virtual machine) for RevDeBug Server
  2. 2.
    Install RevDeBug via Docker composition file
  3. 3.
    Log in with your credential from
  4. 4.
    Deploy your apps with RevDeBug Dependencies added

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 a virtual machine:
    • 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 virtual machine to:
    • Source code repository (login via dedicated user and password with read-only permissions to the repositories recommended)
  5. 5.
    The following services must have network access to the RevDeBug server:
    • CI server/agentbuild (communication from the CI 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:
1
git clone https://github.com/RevDeBug/revdebug-server-docker-compose
Copied!
Next in the cloned directory copy the template of settings file holding environment variables for docker-compose and name it ".env":
1
cp .env-template .env
Copied!
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 external authentication service provider.
  • REVDEBUG_AUTH_OPENID_ADDRESS - address of an external authentication service provider. In the case of a keycloak instance, set: http://servername.your.domain.com/auth/realms/rdbRealm
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:
1
sudo docker-compose -p revdebug pull
Copied!
Then start RevDeBug server by executing:
1
sudo docker-compose -p revdebug up -d
Copied!
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 "Monitor" tab and expand settings list (top right corner with gears)
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: