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:
To install RevDeBug you will need:
    1.
    Setup environment (physical or virtual machine) for RevDeBug Server
    2.
    Install RevDeBug via Docker composition file
    3.
    Log in with your credential from
    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.
    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)
    2.
    Hardware requirements for a virtual machine:
      CPU: 4x vCore (corresponding to i7 3GHz+)
      RAM: 32 GB RAM
      Volumes (disk space): 100GB+ 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 virtual machine to:
      Source code repository (login via dedicated user and password with read-only permissions to the repositories recommended)
    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)

Prerequisite - Creating organization on portal.revdebug.com

RevDeBug can authenticate users using Microsoft Active Directory, LDAP, anv various other SSO providers. For evaluation purposes it is easier to set up an organization and invite users through https://portal.revdebug.com/.
After creating a user on portal.revdebug.com and logging in create your organization where you'll also be able to invite others and allow them to login to your RevDeBug instance by clicking on:
After creating organization you can also invite other users by using the Add user function:
The prerequisite for docker composition file described below is to obtain your organization key code. It should be assigned to REVDEBUG_AUTH variable in the docker-compose file.
You can obtain your unique organization code by clicking on the "Server code" button:
Which will present the organization key code for your organization to be used in configuration in the next section:

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 sever:
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!
Only one variable needs to be set up, other settings are optional:
All docker-compose commands to handle the docker composition should be run from the cloned directory.
Usually docker-compose commands are executed using the sudo command.
To pull latest docker images execute:
1
sudo docker-compose pull
Copied!
Then start RevDeBug server executing:
1
sudo docker-compose up -d
Copied!

Docker-compose commands quick reference:

Command
Effect
docker-compose up -d
Starting RevDeBug Server
docker-compose down
Stopping RevDeBug Server
docker-compose restart
Restarting RevDeBug Server
docker-compose 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)

Settings overview (set up in .env file):

    REVDEBUG_AUTH - RevDeBug organization key. Please refer to "Prerequisite - creating organization on portal.revdebug.com" to obtain yours.
    REVDEBUG_VOLUME_PATH - the path to the directory in the host environment, where data of individual services will be stored,
    REVDEBUG_POSTGRES_SERVER - The address of the PostgreSQL database server,
    REVDEBUG_POSTGRES_PORT - Port of PostgreSQL database server,
    REVDEBUG_POSTGRES_USER - User name of the PostgreSQL database,
    REVDEBUG_POSTGRES_PASSWORD - PostgreSQL database password,
    REVDEBUG_POSTGRES_DATABASE - name of the PostgreSQL database,
    REVDEBUG_CERTIFICATE_NAME - the name of the certificate to be used by Nginx to establish SSL/TLS connections. The directory defined by the path REVDEBUG_CERTIFICATE_PATH must contain the files ${REVDEBUG_CERTIFICATE_NAME}.crt and ${REVDEBUG_CERTIFICATE_NAME}.key,
    REVDEBUG_CERTIFICATE_PATH - path to the directory in the host environment, where certificates used by Nginx to establish SSL/TLS connections are available.
    REVDEBUG_SERVER_NAME - fully qualified dns server name. Variable could be empty but if is set, attempting to connect to the server with any other name will fail.
    REVDEBUG_RECORDERS_PORT - a port for operating RevDeBug control applications,
    REVDEBUG_APPLICATIONS_PORT - port to receive recordings from the application,
    REVDEBUG_VOLUME_CAPATH - path to the directory in the host environment containing client CA certificates to be recognized by the RevDeBug server,
    REVDEBUG_SERVER_PORT - HTTP port where RevDeBug services are available,
    REVDEBUG_SERVER_SSL_PORT - HTTPS port where RevDeBug services are available,
    REVDEBUG_SERVER_GRPC_PORT - gRPC port where statistical data of the application with RevDeBug agent connected is collected,
    REVDEBUG_APM_AS_DEFAULT - true/false value, specifying the default view that is provided by the RevDeBug server,
    REVDEBUG_KEEP_ACCESS_LOGS - a true/false value, specifying whether the access logs generated by NGINX should be preserved,
    REVDEBUG_ROOTVOLUME_PATH - the path to the directory in the host environment where Nginx service logs will be stored,
    SERVER_maxHttpHeaderSize - This size may need to be adjusted in environments using external authentication and authorization service providers,
    REVDEBUG_AUTH_METHOD - an authentication method used by the RevDeBug server. If you are using an external authentication service provider, change this value to openid-connect,
    REVDEBUG_AUTH_OPENID_ADDRESS - address of an external authentication service provider,
    REVDEBUG_AUTH_OPENID_CLIENTID - the customer ID used within an external authentication service provider,
    REVDEBUG_AUTH_OPENID_SECRET - a secret used within an external authentication service provider.
    REVDEBUG_AUTH_SAMESITE_OVERRIDE - overrides SameSite settings for cookies used in OpenId authentication process. Valid values: None, Lax, Strict.

Accessing RevDeBug server

After starting RevDeBug Server with sudo docker-compose up -dcommand, if it is a first run - give the server few minutes to setup the database, then navigate your web browser to:
1
http://REVDEBUG_SERVER_NAME
Copied!
Log in with your RevDeBug portal credentials:

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:
Last modified 29d ago