OllaMoMa v2

A modern web interface for Ollama, built with Nuxt 3 and Vue. Features a clean UI with dark/light modes, model management (copy/rename/delete), customizable themes, and a responsive layout. Designed for easy interaction with your local Ollama instance.

6
2
Vue

OllaMoMa v2

A modern web interface for interacting with Ollama models, built with Nuxt 3 and Nuxt UI v3.

⚠️ Work in Progress: This project is under active development.

🌟 Features

  • 🎨 Interactive Chat Interface
    • Real-time streaming responses
    • Multiple model support
    • Clear conversation history
  • πŸ€– Model Management
    • View and manage Ollama models
    • Search and sort functionality
    • Detailed model information
  • 🎨 Modern UI with Nuxt UI v3
    • Dark/Light mode with theme customization
    • Responsive design for all devices
    • Customizable UI elements
  • ⚑ Performance Focused
    • Fast and responsive interface
    • Efficient model handling
    • Type-safe development

πŸ› οΈ Tech Stack

πŸ“‹ Prerequisites

Before you begin, ensure you have:

  • Node.js (v18+)
  • Ollama installed and running locally
  • Git for version control
  • Docker (optional, for containerized deployment)

πŸš€ Quick Start

Local Development

  1. Clone and Install

     # Clone the repository
     git clone https://github.com/EndoTheDev/OllaMoMa-v2.git
     cd OllaMoMa-v2
     # Install dependencies
     npm install  # or pnpm install / yarn install / bun install
    
  2. Start Development Server

     npm run dev  # or pnpm dev / yarn dev / bun run dev
    
  3. Configure Ollama

    • Default settings: host: 127.0.0.1, port: 11434
    • Adjust in application settings if needed

Docker Deployment

  1. Using Docker

     # Clone the repository
     git clone https://github.com/EndoTheDev/OllaMoMa-v2.git
     cd OllaMoMa-v2
     # Build the image
     docker build -t ollamoma-v2 .
     # Run the container
     docker run -d -p 3000:3000 --name ollamoma ollamoma-v2
    
  2. Using Docker Compose

     # Clone the repository
     git clone https://github.com/EndoTheDev/OllaMoMa-v2.git
     cd OllaMoMa-v2
     # Start the application
     docker compose up -d
     # Stop the application
     docker compose down
    
  3. Important Docker Notes

    • Ensure Ollama is running on your host machine
    • For Windows/macOS: Use host.docker.internal instead of localhost
    • For Linux: Use your host machine’s IP address

πŸ“š Documentation

Detailed documentation is available in the docs directory:

πŸ—οΈ Project Structure

.
β”œβ”€β”€ assets/          # Static assets
β”œβ”€β”€ components/      # Vue components
β”‚    β”œβ”€β”€ app/        # App components
β”‚    β”‚    β”œβ”€β”€ chat/       # Chat components 
β”‚    β”‚    β”œβ”€β”€ modelfile/  # Modelfile components
β”‚    β”‚    β”œβ”€β”€ models/     # Models components
β”‚    β”‚    └── settings/   # Settings components
β”‚    β”œβ”€β”€ base/       # Base components
β”‚    └── ui/         # UI components
β”œβ”€β”€ composables/     # Vue composables
β”œβ”€β”€ docs/           # Documentation
β”œβ”€β”€ pages/          # File-based routing
β”œβ”€β”€ server/         # Server API routes
β”œβ”€β”€ stores/         # Pinia stores
β”œβ”€β”€ tests/          # Test files
└── types/          # TypeScript types

πŸ“ Roadmap

Current Progress

  • βœ… Core Features
    • βœ… Chat interface with streaming
    • βœ… Model management
    • βœ… Theme customization
    • βœ… Settings management

Upcoming Features

  • πŸ”„ LangChain integration
  • πŸ“Š Knowledge graph visualization
  • 🎨 Enhanced theme customization
    • Color picker
    • Border radius settings
  • πŸ—ƒοΈ Database/Files management

🀝 Contributing

We welcome contributions! Please see our Development Guide for details on:

  • Setting up your development environment
  • Our coding standards
  • The contribution workflow
  • Testing requirements

πŸ“„ License

This project is licensed under the MIT License.


Built with ❀️ by EndoTheDev using Nuxt 3 and Nuxt UI v3