8000 GitHub - adityak74/homelab
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

adityak74/homelab

 
 

Repository files navigation

🏡 Homelab Services Dashboard

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.


✨ Features

  • 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.

🚀 Getting Started

🧰 Prerequisites

📥 Clone the Repository

git clone https://github.com/justinrmiller/homelab.git
cd homelab

🏃‍♂️ Running the Stack

1️⃣ Start All Services

docker compose up -d

This launches:

  • Valkey
  • Kafka
  • Qdrant
  • PostgreSQL
  • MongoDB
  • Hasura
  • The Streamlit dashboard
  • Open WebUI (for Ollama)

2️⃣ Install Python Dependencies (for local Streamlit development)

cd streamlit
pip install -r requirements.txt

3️⃣ Run the Streamlit Dashboard

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

⚙️ Configuration

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

📁 File Structure

homelab/
├── docker-compose.yml
├── streamlit/
│   ├── app.py
│   └── requirements.txt
└── ... (other service configs)

🖥️ Usage

  • Open http://localhost:8501 in your browser.
  • Use the sidebar to select a service.
  • Each service page provides interactive controls for common operations.

📚 Service Documentation


🛠️ Troubleshooting

  • 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.

📄 License

MIT License


👤 Author


ℹ️ Notes

  • 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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 97.5%
  • Shell 1.6%
  • Dockerfile 0.9%
0