A simple etcd (v3) web-based browser.
Main features:
- Hierarchical display
- Real-time updates - when something changes in ETCD, the web UI is automatically updated
- Editing ETCD contents (if enabled)
The application is designed to be run in Docker.
For example, the following starts etcd and etcdv3-browser in Docker:
docker network create my_net
docker run -d --name etcd -p 2379:2379 --net my_net quay.io/coreos/etcd:v3.6.7 /usr/local/bin/etcd --listen-client-urls http://0.0.0.0:2379 --advertise-client-urls=http://127.0.0.1:2379
docker run -d --name etcdv3-browser --net my_net -p 8081:8081 -e HTTP_PORT=8081 -e ETCD=etcd:2379 -e EDITABLE=1 rustyx/etcdv3-browser
If port 8081 is occupied, change all instances of 8081 above to some other port.
Environment variables:
| variable | description | default |
|---|---|---|
HTTP_PORT |
listen port | 8081 |
ETCD |
etcd endpoint | etcd:2379 |
CORS |
allowed origins | http://localhost:* |
EDITABLE |
set to 1 to enable edit functionality |
0 |
PREFIX |
only browse keys under a given prefix | `` |
USERNAME |
optionally send a username to etcd | <empty> |
PASSWORD |
optionally send a password to etcd | <empty> |
Initial setup: install Go 1.24+, Node.js 22+.
cd backend
go build
./etcdv3-browser
cd frontend
npm run serve
cd backend
go test ./...
cd frontend
npm run test:unit
cd frontend
npm run lint
docker build . -t rustyx/etcdv3-browser
