A unified Streamlit dashboard for interacting with your local Valkey, Kafka, Qdrant, PostgreSQL, and MongoDB services.
Easily monitor, manage, and experiment with these core open-source infrastructure tools—all from your browser.
- Service Health Overview: See live connection status for all services.
- Valkey: Set/get keys, list all keys, view server info.
- Kafka: List/create topics, produce and consume messages.
- Qdrant: Manage collections, upload/search vectors.
- PostgreSQL: List/create databases and tables, insert/query data, run custom SQL.
- MongoDB: List collections, insert/query documents.
- Hasura: Hasura GraphQL engine to interact with PostgreSQL.
- Quick Links: Access official documentation for each service.
- Docker
- Docker Compose
- Python 3.8+ (for local Streamlit development)
git clone https://github.com/justinrmiller/homelab.git
cd homelab
docker compose up -d
This launches:
- Valkey
- Kafka
- Qdrant
- PostgreSQL
- MongoDB
- Hasura
- The Streamlit dashboard
cd streamlit
pip install -r requirements.txt
You can run the dashboard inside Docker (recommended) or locally:
Inside Docker:
The dashboard will be available at http://localhost:8501.
Locally:
cd streamlit
streamlit run app.py
All service connection parameters are set via environment variables in docker-compose.yml
.
You can override them in your shell or with a .env
file for local development.
Example environment variables:
VALKEY_HOST
,VALKEY_PORT
KAFKA_BOOTSTRAP_SERVERS
QDRANT_HOST
,QDRANT_PORT
POSTGRES_HOST
,POSTGRES_PORT
,POSTGRES_USER
,POSTGRES_PASSWORD
,POSTGRES_DB
MONGODB_HOST
,MONGODB_PORT
,MONGODB_USER
,MONGODB_PASSWORD
,MONGODB_DB
HASURA_HOST
,HASURA_PORT
homelab/
├── docker-compose.yml
├── streamlit/
│ ├── app.py
│ └── requirements.txt
└── ... (other service configs)
- Open http://localhost:8501 in your browser.
- Use the sidebar to select a service.
- Each service page provides interactive controls for common operations.
- Valkey Documentation
- Kafka Documentation
- Qdrant Documentation
- PostgreSQL Documentation
- MongoDB Documentation
- Hasura Documentation
- If a service is not connecting, check its logs:
docker compose logs <service-name>
- Ensure ports are not in use by other processes.
- For local development, ensure your Python environment matches
requirements.txt
.
MIT License