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.
- Open WebUI: Open-source web UI for local LLMs (Ollama backend required).
- 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
- Open WebUI (for Ollama)
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
- Open WebUI Documentation
- Ollama 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
- Open WebUI is included for managing and chatting with local LLMs, but Ollama (the backend LLM server) must be installed separately on your machine. You can download and install Ollama from https://ollama.com/.
- All model downloads and management are handled via the Ollama CLI or web interface, not from this dashboard.