Deployment guide

Dradis

Overview

Dradis Community Edition is an open-source collaboration and reporting framework for security assessments and penetration tests. It gives a team one place to import scanner output (Nmap, Nessus, Burp Suite, OpenVAS, Qualys and more), organize findings on a shared project tree, and generate consistent reports.

This SecureAnyCloud image installs Dradis CE v5.2.0 from the official dradis/dradis-ce repository (GPL-2.0) on a hardened Ubuntu 24.04 base, patched at build time. It runs Dradis as a Ruby on Rails 8 application under Puma, fronted by nginx.

There is no default login. Dradis CE uses a single shared password, and each VM generates that password and the Rails SECRET_KEY_BASE uniquely on first boot. Nothing is baked into the image.

What you get:

  • Dradis Community Edition v5.2.0 at /home/dradis/dradis-ce
  • Ruby 3.4.6 built with rbenv/ruby-build (the tag's pinned .ruby-version)
  • Rails 8.0 on Puma 7, bound to 127.0.0.1:3000 and reverse-proxied by nginx on :80
  • A SQLite production database, plus Redis and a Resque background worker
  • Precompiled assets (sprockets, importmap and mini_racer), so Node.js is not needed
  • dradis-firstboot.service, which generates the per-VM shared password and SECRET_KEY_BASE and completes the CE setup wizard non-interactively
  • 24/7 SecureAnyCloud support

Prerequisites

You need an active Azure subscription, an SSH key, and a VNet with a subnet.

Standard_B2s (2 vCPU, 4 GB RAM) is the recommended size for evaluation and small teams. Move to D2s_v5 or larger for bigger teams or heavy scanner imports.

1

Deploy from the Azure Marketplace

Search the Azure Marketplace for "Dradis Community Edition on Ubuntu 24.04 LTS", click Get It Now, then click Create.

Choose your resource group, region, VM size (Standard_B2s recommended) and SSH public key. In the network security group, allow inbound port 80 (HTTP) and port 22 (SSH).

2

SSH into the VM

Connect to the VM over SSH:

ssh azureuser@<vm-ip>

The first boot takes 30-60 seconds. During that time the VM generates its per-VM secrets, prepares the database, seeds the setup and starts the services. Wait for the first-boot sentinel before you browse to the site:

while [ ! -f /var/lib/sac/data/dradis-firstboot.done ]; do echo "waiting..."; sleep 5; done; echo "READY"
3

Verify the services

Check that the four services are active and that the expected ports are listening:

sudo systemctl is-active redis-server dradis dradis-resque nginx
sudo ss -tlnp | grep -E ':80 |:3000 '

All four services report active. nginx listens on :80, and Puma listens on 127.0.0.1:3000.

4

Read the per-VM shared password

Read the credentials file as root:

sudo cat /root/dradis-credentials.txt

Note DRADIS_SHARED_PASSWORD and DRADIS_URL from the file. Treat both as secrets. The file is mode 0600 root:root.

5

Confirm the version

Print the first line of the application changelog:

head -1 /home/dradis/dradis-ce/CHANGELOG

The command prints the Dradis release line, for example v5.2.0 (July 2026).

6

Confirm secure-by-default access

Dradis ships with no usable default credentials. The site is gated behind the login, and the per-VM shared password is the only way in. Run the bundled check to see a wrong password rejected and the correct one accepted:

sudo /usr/local/sbin/dradis-authcheck.sh

A correct password lands on the authenticated project view (HTTP 200), and a wrong password is bounced back to /login.

Every application page requires the shared password, so there is no open interface. Confirm it with these requests:

curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1/
# 302 -> /login
curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1/login
# 200 (public login form)
7

Log in

Browse to http://<vm-ip>/login. Enter any user name to identify yourself, and enter the DRADIS_SHARED_PASSWORD from Step 4 as the password.

8

Explore the project overview

After you log in, you land on the project overview. The node tree is on the left, and the Overview, Issues, Methodologies, Upload, Export and QA tabs run across the top.

9

Manage issues

Open the Issues view, where your findings live. Create issues by hand or generate them from imported scanner output. You can tag and prioritize them, and reuse them across nodes.

10

Import scanner output

Open the Upload manager to ingest output from the supported tools (Nmap, Nessus, Burp, OpenVAS, Qualys and others). Dradis turns the output into nodes, issues and evidence on the project tree.

11

Components

These are the key components and their paths:

  • Dradis install: /home/dradis/dradis-ce/
  • SQLite database: /home/dradis/dradis-ce/storage/production.sqlite3
  • Environment file: /etc/dradis/dradis.env (holds SECRET_KEY_BASE)
  • Puma service: dradis.service (127.0.0.1:3000)
  • Resque worker: dradis-resque.service
  • nginx site: /etc/nginx/sites-available/dradis
  • First-boot script: /usr/local/sbin/dradis-firstboot.sh
  • Credential round-trip check: /usr/local/sbin/dradis-authcheck.sh
  • Credentials: /root/dradis-credentials.txt (mode 0600 root:root)
  • Ruby (rbenv): /home/dradis/.rbenv/shims/ruby (3.4.6)
12

Change the shared password

After you sign in, open Configuration > Manage (the gear icon at the top right). There you can change the shared password, enable per-user accounts and adjust the session timeout.

Rotate the initial per-VM password before you add your team.

13

Back up your data

Back up two things: the SQLite database and any uploaded attachments. This example copies the database:

sudo systemctl stop dradis dradis-resque
sudo cp /home/dradis/dradis-ce/storage/production.sqlite3 /root/dradis-db-$(date +%Y%m%d).sqlite3
sudo systemctl start dradis dradis-resque

Support

SecureAnyCloud provides 24/7 support for this image. For Dradis usage and integrations, see the upstream documentation at https://dradis.com/ce/.

Deploy on Azure

Launch Dradis Community Edition on Ubuntu 24.04 LTS on Azure with 24/7 support from SecureAnyCloud.

View this image

Need Help?

Our support team is available 24/7.

sales@secureanycloud.com

Deploy on Azure