v0.0.0 is now available
Search etcd keys
at lightspeed.
Your go-to solution for searching and managing etcd key-value data. Experience lightning-fast, eventually consistent search powered by Meilisearch.
$ ETCD_ENDPOINTS=http://etcd:2379 docker-compose up -d
[+] Running 5/5
✔ Network v3_etcdfinder-net-v3 Created 0.0s
✔ Volume v3_meilisearch_data_v3 Created 0.0s
✔ Container v3-meilisearch-v3-1 Started 0.4s
✔ Container v3-etcdfinder-v3-1 Started 0.4s
✔ Container v3-etcdfinder-ui-v3-1 Started 0.4s
Why EtcdFinder?
Built for performance, designed for ease of use.
Blazing Fast
Leverages Meilisearch to provide instant search results across millions of keys without breaking a sweat.
Eventual Consistency
Keeps your search index seamlessly in sync with your etcd cluster changes.
Docker Ready
Deploy anywhere with official Docker images. Supports multi-arch builds for amd64 and arm64.
Developer Friendly
Simple configuration via environment variables or YAML files. Built with Go for reliability.
Ready to get started?
Get up and running in seconds with Docker Compose.
services:
etcdfinder-ui:
image: ghcr.io/etcdfinder/etcdfinder-ui:latest
pull_policy: always
container_name: etcdfinder-ui
ports:
- "3000:3000"
networks:
- etcdfinder-net
environment:
BACKEND_URL: http://etcdfinder:8080
restart: unless-stopped
depends_on:
- etcdfinder
etcdfinder:
image: ghcr.io/etcdfinder/etcdfinder:latest
pull_policy: always
container_name: etcdfinder
expose:
- "8080"
networks:
- etcdfinder-net
environment:
ETCD_ENDPOINTS: http://etcd:2379
DATASTORE_MEILISEARCH_HOST: http://meilisearch:7700
restart: unless-stopped
depends_on:
- meilisearch
meilisearch:
image: getmeili/meilisearch:latest
pull_policy: always
container_name: meilisearch
expose:
- "7700"
networks:
- etcdfinder-net
environment:
MEILI_NO_ANALYTICS: "true"
volumes:
- meilisearch_data:/var/lib/meilisearch
restart: unless-stopped
etcd:
image: quay.io/coreos/etcd:v3.5.13
pull_policy: always
container_name: etcd
expose:
- "2379"
networks:
- etcdfinder-net
environment:
ETCD_NAME: etcd
ETCD_DATA_DIR: /etcd-data
ETCD_LISTEN_CLIENT_URLS: http://0.0.0.0:2379
ETCD_ADVERTISE_CLIENT_URLS: http://etcd:2379
ETCD_LISTEN_PEER_URLS: http://0.0.0.0:2380
ETCD_INITIAL_ADVERTISE_PEER_URLS: http://etcd:2380
ETCD_INITIAL_CLUSTER: etcd=http://etcd:2380
ETCD_INITIAL_CLUSTER_STATE: new
ETCD_ENABLE_V2: "true"
volumes:
- etcd_data:/etcd-data
restart: unless-stopped
networks:
etcdfinder-net:
driver: bridge
volumes:
meilisearch_data:
etcd_data:
services:
etcdfinder-ui-v3:
image: ghcr.io/etcdfinder/etcdfinder-ui:latest
pull_policy: always
ports:
- "3000:3000"
networks:
- etcdfinder-net-v3
environment:
BACKEND_URL: http://etcdfinder-v3:8080
restart: unless-stopped
depends_on:
- etcdfinder-v3
etcdfinder-v3:
image: ghcr.io/etcdfinder/etcdfinder:latest
pull_policy: always
expose:
- "8080"
networks:
- etcdfinder-net-v3
environment:
ETCD_ENDPOINTS: ${ETCD_ENDPOINTS:?Please set ETCD_ENDPOINTS environment variable or use the quickstart deployment (cd ../quickstart && docker-compose up)}
DATASTORE_MEILISEARCH_HOST: http://meilisearch-v3:7700
restart: unless-stopped
depends_on:
- meilisearch-v3
meilisearch-v3:
image: getmeili/meilisearch:latest
pull_policy: always
expose:
- "7700"
networks:
- etcdfinder-net-v3
environment:
MEILI_NO_ANALYTICS: "true"
volumes:
- meilisearch_data_v3:/var/lib/meilisearch
restart: unless-stopped
networks:
etcdfinder-net-v3:
driver: bridge
volumes:
meilisearch_data_v3:
services:
etcdfinder-ui-v2:
image: ghcr.io/etcdfinder/etcdfinder-ui:latest
pull_policy: always
ports:
- "3001:3000"
networks:
- etcdfinder-net-v2
environment:
BACKEND_URL: http://etcdfinder-v2:8080
restart: unless-stopped
depends_on:
- etcdfinder-v2
etcdfinder-v2:
image: ghcr.io/etcdfinder/etcdfinder:latest
pull_policy: always
expose:
- "8080"
networks:
- etcdfinder-net-v2
environment:
ETCD_ENDPOINTS: ${ETCD_ENDPOINTS:?Please set ETCD_ENDPOINTS environment variable or use the quickstart deployment (cd ../quickstart && docker-compose up)}
ETCD_VERSION: v2
DATASTORE_MEILISEARCH_HOST: http://meilisearch-v2:7700
restart: unless-stopped
depends_on:
- meilisearch-v2
meilisearch-v2:
image: getmeili/meilisearch:latest
pull_policy: always
expose:
- "7700"
networks:
- etcdfinder-net-v2
environment:
MEILI_NO_ANALYTICS: "true"
volumes:
- meilisearch_data_v2:/var/lib/meilisearch
restart: unless-stopped
networks:
etcdfinder-net-v2:
driver: bridge
volumes:
meilisearch_data_v2:
Coming Soon
We are working on Kubernetes Manifests and Helm Charts. Stay tuned!