Debug access for application services

3 min read Updated 1 week ago

Debug access for application services

What is debug access?

Debug access is a feature that allows you to temporarily connect to your application services (like databases, Redis, or file storage) from outside your application. This is useful when you need to inspect data, troubleshoot issues, or perform maintenance tasks without having to modify your application code.

Why would you need debug access?

  • Troubleshooting: Check database records or Redis cache entries when debugging application issues
  • Data inspection: View or export data without writing custom scripts
  • Emergency access: Access your services quickly when your application is down
  • Development: Connect your local database client or tools to inspect service data
  • Maintenance: Run database migrations, clear caches, or perform other administrative tasks

Which services support debug access?

Debug access is available for all application services except workers:

  • MySQL
  • PostgreSQL
  • MongoDB
  • Redis
  • Valkey
  • SFTP server
  • RabbitMQ
  • MinIO

How to enable debug access

  1. Go to your application's overview tab
  2. Find the service you want to access
  3. Click the three dots menu on the service card
  4. Select "Enable debug access"
  5. The system will create a temporary external connection

Viewing connection details

Once debug access is enabled after a few moments:

  1. A blue "View debug access" button appears on the service card
  2. Click this button to see connection details including:
    • Host: The external IP address to connect to
    • Port: The port number for the connection
    • Username: Your service username (if applicable)
    • Password: Your service password (if applicable)
    • Connection URL: A ready-to-use connection string
    • Time remaining: How long until the debug session expires
  3. Click the copy button next to any field to copy it to your clipboard

RabbitMQ Management UI access

When you enable debug access for a RabbitMQ service, you get access to both the message broker connection and the web-based management interface:

Connection details

  • AMQP port: The port for connecting your applications or command-line tools to RabbitMQ
  • Management port: The port for accessing the web-based management interface
  • Management URL: The complete URL to open the RabbitMQ management interface in your browser

Using the management interface

  1. Copy the management URL from the debug access details
  2. Open the URL in your web browser
  3. Log in using the same username and password shown in the debug access details
  4. You can now view queues, exchanges, connections, and manage your RabbitMQ service through the web interface

The management interface provides a comprehensive view of your RabbitMQ service, allowing you to monitor message rates, manage queues and exchanges, view connections, and configure various settings without using command-line tools.

Security and time limits

  • Automatic expiration: Debug access automatically expires after 6 hours
  • Manual disable: You can disable debug access anytime via the service menu
  • Unique connections: Each debug session gets a unique connection to prevent conflicts
  • Automatic cleanup: Expired sessions are automatically removed every 5 minutes

Using debug access

Once you have the connection details, you can use any compatible client to connect:

  • Database clients: MySQL Workbench, pgAdmin, MongoDB Compass, etc.
  • Command line tools: mysql, psql, mongosh, redis-cli, rabbitmqctl
  • File transfer clients: FileZilla, Cyberduck (for SFTP)
  • Web browsers: For RabbitMQ management interface
  • Application tools: Your preferred database management or development tools

Important notes

  • Debug access provides direct external access to your service - use it carefully
  • The connection uses your existing service credentials
  • Services appear with a blue highlight when debug access is active
  • You cannot enable debug access for worker services
  • Only one debug session can be active per service at a time
  • For RabbitMQ, both the AMQP connection and management interface share the same credentials