Help! My Instance is Down!

Running into an error screen or unable to access the web app? Run through the following checks first. This guide covers Docker deployments. Running Dradis Pro on a VM instead? See the VM version of this guide.

1. Container Status

The first thing we're going to check is whether all the containers are up. Run the following from your Dradis installation directory (where compose.yaml lives):

docker compose ps

You should see six services: app (puma), resque and solidqueue (background job workers), nginx, db, and redis. Every service should show a state of Up (or running).

app, resque, and solidqueue all wait on db and redis reporting healthy before they'll start — if either of those two is down or unhealthy, check them first, since restarting the others won't help until db/redis are back:

docker compose ps db redis

If a service isn't Up, restart it:

docker compose restart [service-name]

Or restart the whole stack:

docker compose restart

docker compose logs [service-name] shows a container's entrypoint/stdout output, which is useful to confirm if it's crash-looping. It is not where each process writes its own logs, though — those live inside the container's filesystem at /dradispro/log/. See Troubleshooting Dradis below for how to reach them.


2. Web Application

Containers looking healthy? Let's check whether the web application itself is running.

docker compose ps app

If it's not showing as Up, restart it:

docker compose restart app

Troubleshooting Dradis:

The Puma/Rails log files live inside the app container's filesystem, under /dradispro/log/. List what's there, then view the file you need:

docker exec app ls /dradispro/log/
docker exec app cat /dradispro/log/production.log

If you need to send diagnostic information to the Support team, you can collect a support bundle with the following command:

docker exec app dp-support-bundle -o > /tmp/support-bundle.tar.gz

Rails Console

If the log files aren't giving you enough to go on, opening the Rails console can surface more informative error messages. Run:

docker exec -it app bin/rails console

Once the console loads, you can poke around — for example, checking that the database connection is working:

ActiveRecord::Base.connection.execute("SELECT 1")

Any exceptions thrown during startup or at the console prompt are worth capturing and sending to Support. To exit the console, type exit or press Ctrl+D.


Specific Errors:

This section includes specific errors that you might encounter and the possible solution for resolving the error.

404 Not Found - nginx

Restart the app service and check its logs:

docker compose restart app

If nothing has changed, check the puma error log inside the container — it should tell you why the server is failing to start:

docker exec app cat /dradispro/log/puma.err.log

Missing/Broken assets, e.g. "not present in the asset pipeline"

Docker deployments ship with precompiled assets, so you shouldn't hit this. If you do, contact Support.


Site cannot be reached!

If the site is unresponsive and unreachable, it might be that the nginx server is down. nginx runs as its own service — check its status and logs with:

docker compose ps nginx
docker compose logs nginx

If it's not running, restart it:

docker compose restart nginx

If it's up but still misbehaving, there might be an issue with your nginx.conf. Test the configuration with:

docker exec nginx nginx -t

Ruby error

You might get an Internal Server Error (500) and an error message along the lines of NameError: undefined local variable or NoMethodError: undefined method.

Unfortunately, this might be a bug in the code and the only way to resolve this is patch to the server. If you encounter this, note down the steps you took to reach this error and contact the Support team so we can try to replicate this and resolve this issue right away.


3. Connectivity

No smoking guns with the processes or in the log files? Let's check your connectivity to make sure the container can reach our activation server.

cURL it

Run the following from inside the app container:

docker exec app curl -vi https://portal.securityroots.com

This command should return the remote page.

If it does not, it may be that DNS is working but traffic is being stopped (by a firewall?). If you know who to contact internally to get this solved, please let them know that you need access to tcp/443 on portal.securityroots.com from your Docker host.

If there's an SSL certificate error, you'll need to add the proxy server's root certificate to the image and rebuild it, or mount it into the container and update the container's CA trust store on start — reach out to Support for guidance on your specific setup.


Check proxy settings

If you need a proxy defined on the container level (separate from the Docker host itself), then a proxy can be configured by adding these lines to the .env file on the Docker host:

http_proxy=http(s)://<proxy>:<port>
https_proxy=http(s)://<proxy>:<port>
(or whatever is needed in your own network) and then recreating the containers so they pick up the new values:
docker compose up -d

When using a proxy, we have seen cases where curl connects properly, but Dradis Pro refuses to reach the activation server.

In that case, to test if Dradis Pro is using the proxy properly, try executing the test script already included in the app:

docker exec app bin/rails runner /dradispro/bin/dp-test-proxy.rb

The output of the last command must say it is using the proxy and must include Connection success.

If it doesn't, something about your proxy configuration may be incompatible with Dradis. Adjusting your proxy settings may resolve the error. If not, please contact our Support team to perform an offline activation of your Dradis instance.


Roll back to a previous version

See the rollback steps in the Docker upgrade guide — that guide covers pulling and running a previous image tag, which is the Docker equivalent of a VM rollback.


Contact Us

Still running into issues after walking through the steps above? Please reach out to our Support team and we'll give you a hand.

Seven Strategies To Differentiate Your Cybersecurity Consultancy

You don't need to reinvent the wheel to stand out from other cybersecurity consultancies. Often, it's about doing the simple things better, and clearly communicating what sets you apart.

  • Tell your story better
  • Improve your testimonials and case studies
  • Build strategic partnerships

Loading form...

Your email is kept private. We don't do the spam thing.