Schema Registry UI
This is a small docker image for Landoop's schema-registry-ui.
It serves the schema-registry-ui from port 8000 by default.
A live version can be found at https://schema-registry-ui.landoop.com
The software is stateless and the only necessary option is your Schema Registry
To run it:
docker run --rm -p 8000:8000 \ -e "SCHEMAREGISTRY_URL=http://schema.registry.url" \ landoop/schema-registry-ui
Visit http://localhost:8000 to see the UI.
Three of the Schema Registry UI settings need to be enabled explicitly. These
- Support for global compatibility level configuration support —i.e change the
default compatibility level of your schema registry.
- Support for transitive compatibility levels (Schema Registry version 3.1.1 or better).
- Support for Schema deletion (Schema Registry version 3.3.0 or better).
They are handled by the
environment variables. E.g:
docker run --rm -p 8000:8000 \ -e "SCHEMAREGISTRY_URL=http://schema.registry.url" \ -e ALLOW_GLOBAL=1 \ -e ALLOW_TRANSITIVE=1 \ -e ALLOW_DELETION=1 \ landoop/schema-registry-ui
Proxying Schema Registry
If you have CORS issues or want to pass through firewalls and maybe share your
server, we added the
PROXY option. Run the container with
-e PROXY=true and
Caddy server will proxy the traffic to Schema Registry:
docker run --rm -p 8000:8000 \ -e "SCHEMAREGISTRY_URL=http://schema.registry.url" \ -e "PROXY=true" \ landoop/schema-registry-ui
Important: When proxying, for the
SCHEMAREGISTRY_URLyou have to use an
IP address or a domain that can be resolved to it. You can't use
localhosteven if you serve Schema Registry from your localhost. The reason
for this is that a docker container has its own network, so your localhost
is different from the container's localhost. As an example, if you are in
your home network and have an IP address of
192.168.5.65and run Schema
Registry from your computer, instead of
http://127.0.1:8082you must use
If your Schema Registry uses self-signed SSL certificates, you can use the
PROXY_SKIP_VERIFY=true environment variable to instruct the proxy to
not verify the backend TLS certificate.
Schema Registry UI
You can control most of Kafka Topics UI settings via environment variables:
Whether to proxy Schema Registry endpoint via the internal webserver
Whether to accept self-signed certificates when proxying Schema Registry
The port number to use for schema-registry-ui. The default is
Usually the main reason for using this is when you run the
--net=host, where you can't use docker's publish
The webserver that powers the image is Caddy. Via this variable
you can add options that will be appended to its configuration
(Caddyfile). Variables than span multiple lines are supported.
As an example, you can set Caddy to not apply timeouts via:
-e "CADDY_OPTIONS=timeouts none"
Or you can set basic authentication via:
-e "CADDY_OPTIONS=basicauth / [USER] [PASS]"
When proxying Schema Registry, enabling this option will set the Schema
Registry endpoint in the UI as a relative URL. This can help when running
Schema Registry UI under a subpath of your server (e.g
Schema Registry Configuration
If you don't wish to proxy Schema Registry's api, you should permit CORS via setting
In the latest iterations, the container will print informational messages during
startup at stderr and web server logs at stdout. This way you may sent the logs
(stdout) to your favorite log management solution.