Skip to main content

🐼 Redpanda Console - Self-Hosted Production Setup

This guide explains how to manually install Redpanda Console on a production server using the official Redpanda APT repository.
πŸ“š Reference: Redpanda Official Docs

πŸš€ What is Redpanda Console?

Redpanda Console is a web-based GUI to manage and monitor Redpanda clusters. It offers real-time topic views, consumer groups, schema registry, ACLs, and more.

πŸ“¦ Install Redpanda Console (Debian/Ubuntu)

πŸ› οΈ Step 1: Add Redpanda APT Repository and Install

curl -1sLf 'https://dl.redpanda.com/nzc4ZYQK3WRGd9sy/redpanda/cfg/setup/bash.deb.sh' | \
sudo -E bash && sudo apt-get install redpanda-console -y

πŸ“ Configuration

After installation, Redpanda Console can be configured via:
  • /etc/redpanda/console.yaml
  • Environment variables (REDPANDA_CONSOLE_ prefix)
Make sure to point it to your Redpanda broker addresses and enable any optional features like TLS, SASL, or Schema Registry. Example config snippet:
kafka:
  brokers:
    - "localhost:9092"

▢️ Start the Console

Use systemd or directly run the binary:
sudo systemctl start redpanda-console
sudo systemctl enable redpanda-console
Or run manually:
redpanda-console
Once started, access the web UI:
http://localhost:8080
You can change the default port in the console.yaml.

πŸ§ͺ Verify the Installation

Check service status:
systemctl status redpanda-console
Or tail logs:
journalctl -u redpanda-console -f

πŸ” Production Recommendations

  • Use TLS for secure console access
  • Add authentication (OIDC, Basic Auth)
  • Configure RBAC if managing multiple teams
  • Deploy behind a reverse proxy like NGINX or Cloudflare Tunnel

🧹 Uninstall

To remove the console:
sudo apt-get remove redpanda-console -y

πŸ“š References


Let me know if you want this with a Docker-based setup or a full systemd service + config deployment example. To create a production-like systemctl service for running your binary with the required environment variable, follow these steps:

1. Move the Binary to a System Path

Move your redpanda-console binary to a system directory, such as /usr/local/bin:
sudo mv ./redpanda-console /usr/local/bin/
sudo chmod +x /usr/local/bin/redpanda-console

2. Create a Systemd Service File

Create a new service file for redpanda-console. Use your preferred editor, e.g., nano or vim:
sudo nano /etc/systemd/system/redpanda-console.service
Add the following content to the file:
[Unit]
Description=Redpanda Console Service
After=network.target

[Service]
Environment="KAFKA_BROKERS=kafka.x.com:9092"
ExecStart=/usr/local/bin/redpanda-console
Restart=always
User=redpanda
Group=redpanda
WorkingDirectory=/usr/local/bin

[Install]
WantedBy=multi-user.target

Explanation of Key Fields:

  • Environment: Sets the environment variable KAFKA_BROKERS.
  • ExecStart: The command to run the binary.
  • Restart: Ensures the service restarts automatically if it fails.
  • User and Group: Use a specific user for security (redpanda in this case). Create this user if it doesn’t exist.
  • WorkingDirectory: Sets the working directory.

3. Create a User for the Service

For security, create a dedicated redpanda user:
sudo useradd -r -s /bin/false redpanda
sudo chown redpanda:redpanda /usr/local/bin/redpanda-console

4. Reload Systemd and Start the Service

Reload systemd to recognize the new service file, then enable and start the service:
sudo systemctl daemon-reload
sudo systemctl enable redpanda-console
sudo systemctl start redpanda-console

5. Check Service Status

Verify that the service is running correctly:
sudo systemctl status redpanda-console
If everything is configured correctly, you should see the service active and running.

6. Logs and Troubleshooting

To view logs for the service, use:
journalctl -u redpanda-console -f

This setup ensures redpanda-console runs in a production-like environment, managed by systemctl. Let me know if you encounter any issues!