RisingWave Console is a self-hosted service. It stores its own metadata, such as users, cluster connections, database connections, tasks, and settings, in PostgreSQL. It does not store RisingWave user data in this metadata database. Production builds require the signed RisingWave license key at startup. This is the same license key used by the RisingWave database. Provide it with eitherDocumentation Index
Fetch the complete documentation index at: https://docs.risingwave.com/llms.txt
Use this file to discover all available pages before exploring further.
RW_LICENSE_KEY or RW_LICENSE_KEY_PATH. For details about where to configure the key, see Manage license keys.
Choose a deployment target
| Target | Metadata PostgreSQL | Best for |
|---|---|---|
Docker with -pgbundle image | PostgreSQL runs inside the Console container | Local evaluation, demos, or a single VM |
| Docker or binary with external PostgreSQL | You provide PostgreSQL | Persistent single-host deployments |
Kubernetes with -pgbundle manifest | PostgreSQL runs inside the Console pod | Small, self-contained Kubernetes tests |
| Kubernetes with external PostgreSQL manifest | You provide PostgreSQL | Production, OpenShift, and restricted clusters |
Key configuration
| Setting | Required | Description |
|---|---|---|
RW_LICENSE_KEY | Yes, unless RW_LICENSE_KEY_PATH is set | Signed RisingWave license key used for Console startup verification. |
RW_LICENSE_KEY_PATH | Yes, unless RW_LICENSE_KEY is set | Path to a mounted file containing the signed license key. Recommended for Docker and Kubernetes. |
RCONSOLE_ROOT_PASSWORD | Recommended | Initial password for the root user. If unset, the default password is root. |
RCONSOLE_SERVER_PG_DSN | Required for non-pgbundle deployments | PostgreSQL DSN for Console metadata, for example postgres://user:password@postgres.example:5432/rconsole. |
RCONSOLE_SERVER_PORT | Optional | HTTP port for Console. The default is 8020. |
RCONSOLE_SERVER_METRICSPORT | Optional | Prometheus metrics port for Console itself. The default is 9020. |
RCONSOLE_NOINTERNET | Optional | Set to true when Console should not download risectl or Helm charts from the public internet. |
RCONSOLE_RISECTLDIR | Optional | Directory where Console stores or reads risectl binaries. |
RCONSOLE_HELM_CHART_DIR | Optional | Directory where Console stores or reads Helm chart archives for air-gapped installs. |
Docker quick start
Use the bundled PostgreSQL image for the fastest setup:http://localhost:8020 and sign in as root with the password you set in RCONSOLE_ROOT_PASSWORD.
If you prefer mounted files for secrets:
--rm. Console metadata is deleted when the container is removed.
Docker with external PostgreSQL
Use the standard image when PostgreSQL is managed outside the Console container:RCONSOLE_SERVER_PG_DSN must be able to create and migrate Console metadata tables.
Kubernetes deployment
Console provides two starter manifests:deploy/kubernetes/pgbundle/console.yaml: runs the-pgbundleimage. This is convenient for testing, but the bundled PostgreSQL metadata is not durable across pod rescheduling.deploy/kubernetes/external-pg/console.yaml: runs the standard image with external PostgreSQL. This is the production path and also works with OpenShift restricted security settings.
- the
risingwave-consolenamespace, - a
ServiceAccount, - RBAC for Console operations and environment-managed resources,
- a
StatefulSet, - a Service that exposes Console on NodePort
30020and Console metrics on NodePort30090.
Kubernetes startup license
Store the RisingWave license key in a Kubernetes Secret:console container:
risingwave-console-config Secret for pg-dsn, root-password, and license.jwt. Replace the placeholder values before applying it.
Apply a starter manifest
For a Kubernetes test deployment:http://<any-node>:30020, or replace the Service with your preferred ClusterIP, LoadBalancer, or Ingress setup.
The starter manifests include RBAC that lets Console install cert-manager, the
RisingWave Operator, and environment-scoped resources. If those components are
managed by another platform team, remove the cluster-installer RBAC and use
imported resources instead.
Binary deployment
Use the binary when you want to run Console directly on a host and manage PostgreSQL separately:Verify the installation
- Check the process or container logs.
- Open the UI:
- Docker or binary:
http://localhost:8020, unless you changed the port. - Kubernetes NodePort starter manifest:
http://<any-node>:30020.
- Docker or binary:
- Sign in as
root. - Confirm that the home page loads and the sidebar shows Clusters, Environments, Metrics Store, SQL Console, and Settings.


Troubleshooting startup
| Symptom | Check |
|---|---|
| Console exits with a missing license error | Set RW_LICENSE_KEY or RW_LICENSE_KEY_PATH. If using a file, confirm the path inside the container or pod. |
| Console reports that the license does not enable premium | Use a signed RisingWave license key with the premium feature enabled. |
| PostgreSQL connection fails | Verify RCONSOLE_SERVER_PG_DSN, network reachability, TLS requirements, and database user permissions. |
Port 8020 is already in use | Change the host port mapping or set RCONSOLE_SERVER_PORT. |
| Kubernetes pod starts but the UI is unreachable | Check the Service type, NodePort or Ingress configuration, and network policies. |