An open API service indexing awesome lists of open source software.

https://github.com/pkeffect/compose_creator

Docker compose creation tool
https://github.com/pkeffect/compose_creator

Last synced: 5 months ago
JSON representation

Docker compose creation tool

Awesome Lists containing this project

README

          

# πŸš€ Open WebUI Docker Compose Creator

A modern, user-friendly web interface for generating Docker Compose configurations for [Open WebUI](https://github.com/open-webui/open-webui) - the extensible, feature-rich, and user-friendly self-hosted WebUI designed to operate entirely offline.

[![Live Demo](https://img.shields.io/badge/Live-Demo-blue?style=for-the-badge)]([https://your-domain.com](https://internode.info/dev/oi/compose/))
[![License](https://img.shields.io/badge/License-MIT-green?style=for-the-badge)](LICENSE)
[![Open WebUI](https://img.shields.io/badge/Open%20WebUI-Compatible-purple?style=for-the-badge)](https://github.com/open-webui/open-webui)

Live Demo https://internode.info/dev/oi/compose/

## ✨ Features

### 🎨 **Modern Interface**
- **Multi-theme support**: Dark, Light, and Ultra-dark themes with persistent preferences
- **Responsive design**: Works seamlessly on desktop, tablet, and mobile devices
- **Real-time preview**: Instant YAML generation as you configure settings
- **Professional UI**: Clean, intuitive interface with smooth animations

### βš™οΈ **Configuration Options**
- **General Settings**: Container naming, port mapping, image tag selection
- **Feature Toggles**: Authentication, user signup, default models configuration
- **Advanced Options**: Memory limits, restart policies, secret key management
- **Ollama Integration**: Easy connection to local or remote Ollama instances

### πŸ“‹ **Export & Usage**
- **One-click copy**: Copy generated compose.yml to clipboard
- **Direct download**: Download ready-to-use Docker Compose files
- **Optimized output**: Only non-default values included for clean, minimal configs

## πŸš€ Quick Start

### πŸ“‹ Prerequisites
- Docker and Docker Compose installed ([Get Docker](https://docs.docker.com/get-docker/))
- Basic understanding of Docker containers

### 🎯 Usage Steps

1. **Configure**: Use the web interface to set up your Open WebUI preferences
2. **Generate**: Watch the real-time YAML preview update as you configure
3. **Download**: Click "Download File" to save your `compose.yml`
4. **Deploy**: Run `docker compose up -d` in your project directory
5. **Access**: Open `http://localhost:3000` (or your configured port)

### πŸ’» Local Development

```bash
# Clone the repository
git clone https://github.com/your-username/open-webui-composer.git
cd open-webui-composer

# Serve locally (any static server works)
python -m http.server 8000
# or
npx serve .
# or
php -S localhost:8000

# Open http://localhost:8000
```

## πŸ—οΈ Project Structure

```
β”œβ”€β”€ index.html # Main HTML structure
β”œβ”€β”€ style.css # Comprehensive styling with theme system
β”œβ”€β”€ main.js # Core JavaScript functionality
β”œβ”€β”€ paste.txt # Comprehensive Open WebUI analysis
└── README.md # This file
```

## πŸ”§ Current Configuration Support

| Category | Supported Options | Status |
|----------|------------------|---------|
| **Basic Setup** | Container name, ports, image tags | βœ… Complete |
| **Authentication** | Enable/disable auth and signup | βœ… Complete |
| **Ollama Integration** | Base URL configuration | βœ… Complete |
| **Resource Management** | Memory limits, restart policies | βœ… Complete |
| **Advanced Features** | Secret key management | βœ… Complete |

## πŸ—ΊοΈ Project Roadmap

### πŸ“ˆ **Phase 1: Enhanced Core Features**

#### πŸ” **Authentication & Security**
- [ ] **OAuth Provider Wizard**: Google, Microsoft, GitHub, OIDC setup with guided configuration
- [ ] **LDAP/Active Directory**: Enterprise directory integration with certificate management
- [ ] **Security Hardening**: JWT configuration, CORS settings, cookie policies
- [ ] **Secret Management**: Docker secrets integration and external vault support

#### πŸ—„οΈ **Database & Storage**
- [ ] **Database Selection**: PostgreSQL setup wizard with connection string generation
- [ ] **Vector Database Support**: ChromaDB, Qdrant, Elasticsearch, Pinecone configuration
- [ ] **Storage Options**: External volume mounting, backup configuration
- [ ] **Migration Tools**: SQLite to PostgreSQL migration assistance

#### πŸ€– **AI Provider Integration**
- [ ] **Multi-Provider Setup**: OpenAI, Anthropic, Google, Azure OpenAI configuration
- [ ] **Load Balancing**: Multiple endpoint configuration with failover
- [ ] **API Key Management**: Secure credential handling and rotation
- [ ] **Model Configuration**: Default models, restrictions, and performance tuning

### 🏒 **Phase 2: Enterprise Features**

#### πŸ“Š **Deployment Patterns**
- [ ] **Template Library**: Pre-configured deployment patterns
- [ ] Standalone WebUI (current)
- [ ] WebUI + Ollama Bundle
- [ ] Enterprise Multi-Node
- [ ] GPU-Accelerated Setup
- [ ] Pipeline-Enhanced Architecture
- [ ] **High Availability**: Redis clustering, load balancer configuration
- [ ] **Scaling Configuration**: Multi-instance deployment with shared state

#### πŸ” **Advanced Features**
- [ ] **RAG Configuration**: Embedding engines, content extraction, hybrid search
- [ ] **Multi-Modal Setup**: Image generation, speech processing, file handling
- [ ] **Monitoring Integration**: Langfuse, Portkey, custom observability
- [ ] **Performance Tuning**: Thread pools, caching, resource optimization

#### βœ… **Validation & Testing**
- [ ] **Pre-deployment Validation**: Configuration compatibility checking
- [ ] **Health Check Generation**: Automatic health endpoint configuration
- [ ] **Dependency Resolution**: Service startup order and dependencies
- [ ] **Environment Testing**: Development, staging, production profiles

### 🧠 **Phase 3: Intelligence & Automation**

#### πŸ§™β€β™‚οΈ **Smart Configuration**
- [ ] **Setup Wizards**: Guided configuration for complex scenarios
- [ ] **Requirement Analysis**: Automatic resource estimation and recommendations
- [ ] **Best Practices**: Built-in security and performance recommendations
- [ ] **Configuration Validation**: Real-time error checking and suggestions

#### πŸ“± **Enhanced User Experience**
- [ ] **Progressive Web App**: Offline functionality and mobile optimization
- [ ] **Configuration Import**: Load existing Docker Compose files for editing
- [ ] **Version Control**: Configuration history and rollback capabilities
- [ ] **Team Collaboration**: Shared configurations and team management

#### πŸ”Œ **Extensibility**
- [ ] **Plugin System**: Custom configuration modules and extensions
- [ ] **API Integration**: REST API for programmatic configuration generation
- [ ] **CLI Tool**: Command-line interface for automation and CI/CD
- [ ] **Helm Charts**: Kubernetes deployment support

### 🌟 **Phase 4: Ecosystem Integration**

#### 🏭 **Enterprise Platform**
- [ ] **Multi-Tenant Support**: Organization and team management
- [ ] **Compliance Tools**: Security scanning, audit logs, compliance reporting
- [ ] **Integration Hub**: Third-party service connections and marketplace
- [ ] **Professional Services**: Deployment assistance and consulting integration

## 🀝 Contributing

We welcome contributions! Here's how you can help:

### 🎯 **Priority Areas**
1. **Authentication wizards** for OAuth and LDAP setup
2. **Database configuration** tools and migration assistance
3. **Validation engine** for configuration checking
4. **Template system** for common deployment patterns

### πŸ“ **Development Guidelines**
- **Vanilla JavaScript**: Keep dependencies minimal
- **Progressive Enhancement**: Ensure core functionality works without JS
- **Accessibility**: Follow WCAG guidelines for inclusive design
- **Mobile-First**: Responsive design for all screen sizes

### πŸ”„ **Contribution Process**
```bash
# Fork the repository
git fork https://github.com/your-username/open-webui-composer.git

# Create feature branch
git checkout -b feature/oauth-wizard

# Make changes and test
# Add tests for new functionality

# Submit pull request
# Include detailed description and testing notes
```

## πŸ“š **Technical Documentation**

### πŸ—οΈ **Architecture Decisions**
- **Static-first**: No build process required, easy deployment
- **Theme System**: CSS custom properties for maintainable theming
- **Event-driven**: Reactive configuration updates
- **Progressive Enhancement**: Works without JavaScript for basic functionality

### πŸ”§ **Environment Variables Supported**
Currently supports 15+ environment variables with plans to expand to 100+:
- Core application configuration
- Authentication and security settings
- Performance and resource management
- Feature toggles and customization

### πŸ“– **Open WebUI Integration**
Based on comprehensive analysis of Open WebUI capabilities:
- **100+ environment variables** available for configuration
- **Multiple deployment patterns** from simple to enterprise
- **Extensive integration options** with AI providers and databases
- **Enterprise security features** and compliance requirements

## πŸ“„ License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## πŸ™ Acknowledgments

- [Open WebUI Team](https://github.com/open-webui/open-webui) for creating an amazing AI interface
- Community contributors and feedback providers
- Docker and container ecosystem maintainers

## πŸ“ž Support & Community

- **Issues**: [GitHub Issues](https://github.com/pkeffect/compose_creator/issues)
- **Discussions**: [GitHub Discussions](https://github.com/pkeffect/compose_creator/discussions)

---

**Made with ❀️ for the Open WebUI community**