Intelligent web tool for deploying Docker containers β multi-target orchestration, built-in AI, outstanding user experience
WindFlow is an intelligent web tool for deploying Docker containers to target machines. It combines a modern user interface, a flexible data exchange system, and artificial intelligence to automate and optimize deployments.
- Intuitive web interface with visual workflows
- AI-generated configuration (LiteLLM)
- One-click deployment of preconfigured stacks
- Powerful CLI/TUI for automation (Rich + Typer + Textual)
- Multi-target support: containers, VMs, physical servers
- Adaptive orchestration: Docker, Swarm, Kubernetes
- Customizable templates and a community marketplace
- Configurable deployment workflows
- Automatic resource optimization via AI
- Smart resolution of conflicts and dependencies
- Security suggestions and best practices
- Automatic error diagnostics
- LiteLLM Integration: Multi-provider support (OpenAI, Claude, Ollama, etc.)
- Smart configuration: Auto-generated based on constraints
- Resource optimization: AI-driven optimal allocation
- Conflict resolution: Automatic detection and correction
- Docker Engine: Native containers and Docker Compose
- Docker Swarm: Cluster orchestration
- Kubernetes + Helm: Enterprise deployments
- VM Management: Vagrant + Libvirt for virtual machines
- Physical Servers: SSH + Ansible for bare metal
- Web UI: Vue.js 3 + TypeScript + Element Plus + UnoCSS
- Visual Workflows: Drag-and-drop editor inspired by n8n
- Full CLI: Rich + Typer for automation
- Interactive TUI: Textual for a modern terminal UI
- SSO Integration: Keycloak with LDAP/AD
- HashiCorp Vault: Centralized secrets management
- Granular RBAC: Role-based access control
- Audit Trail: Full action traceability
- Prometheus + Grafana: Metrics and dashboards
- ELK Stack: Centralized logging
- Intelligent Alerting: Multi-channel notifications
- Health Checks: Continuous service monitoring
WindFlow adopts an extensible modular architecture that lets you start with a minimal system and progressively enable advanced features as needed.
The Minimal Core includes only the essential services:
- β Backend API (FastAPI)
- β Database (PostgreSQL)
- β Cache & Message Broker (Redis)
- β Web Interface (Vue.js 3)
- β Reverse Proxy (Nginx)
- β Asynchronous worker (Celery)
Resources: 1.5 GB RAM, 2 CPU cores
# Ultra-fast minimal installation
./scripts/install.sh
# or
docker compose -f docker-compose.minimal.yml up -dEnable advanced features only when you need them:
| Extension | Description | Command |
|---|---|---|
| Monitoring | Prometheus + Grafana | ./scripts/enable-extension.sh monitoring |
| Logging | ELK Stack (Elasticsearch, Logstash, Kibana) | ./scripts/enable-extension.sh logging |
| Secrets | HashiCorp Vault | ./scripts/enable-extension.sh vault |
| SSO | Keycloak (LDAP/AD) | ./scripts/enable-extension.sh sso |
| AI | LiteLLM + Ollama | ./scripts/enable-extension.sh ai |
| Kubernetes | K8s orchestration | ./scripts/enable-extension.sh kubernetes |
- π Ultra-fast start: Working setup in minutes
- π° Resource savings: Only enabled services consume RAM/CPU
- π― Simplicity: Start simple, evolve as you go
- π§ Flexibility: Enable/disable extensions on demand
- π Scalability: Production-ready architecture from day one
π Full documentation: Modular Architecture
- Docker β₯ 20.10 and docker-compose v2
- Python β₯ 3.11 and Poetry β₯ 1.8 (for backend development)
- Node.js β₯ 20 and pnpm β₯ 9 (for frontend development)
# Clone the repository
git clone https://gitea.yourdomain.com/yourusername/windflow.git
cd windflow
# Copy environment files
cp .env.example .env
# Start the application
docker compose up --build -dAccess:
- Web Interface: http://localhost:8080
- API Documentation: http://localhost:8080/api/docs
- CLI:
docker exec -it windflow-cli windflow --help
# Backend (FastAPI)
poetry install --with dev
poetry run uvicorn windflow.main:app --reload --host 0.0.0.0 --port 8000
# Frontend (Vue.js 3)
cd frontend
pnpm install
pnpm dev # http://localhost:5173
# CLI/TUI
pip install -e ./cli
windflow --helpWindFlow includes ready-to-use examples to deploy popular applications:
No-code database with a modern interface (PostgreSQL + Redis)
# Create data directories
mkdir -p data/baserow/{postgres,redis,app,media}
# Start Baserow
docker compose -f examples/docker-compose.baserow.yml up -d
# Access the UI
# http://baserow.localhostFull-featured content management system (MySQL + Redis + WP-CLI)
# Create data directories
mkdir -p data/wordpress/{mysql,redis,html,uploads,themes,plugins}
# Start WordPress
docker compose -f examples/docker-compose.wordpress.yml up -d
# Access the UI
# http://wordpress.localhostThe examples are configured for seamless integration:
- β Shared network with WindFlow (windflow-network)
- β Auto-discovery via Traefik labels
- β Health checks for monitoring
- β WindFlow labels for management in the UI
π Full documentation: examples/README.md
The complete documentation is in the doc/ directory:
- Overview β Project vision and goals
- Architecture β Design principles
- Technology Stack β Technologies used
- Deployment Guide β Installation and configuration
- Core Features β Detailed features
- CLI Interface β Using the CLI/TUI
- LLM Integration β Artificial intelligence
- Data Model β Data structure
- API Design β API documentation
- Workflows β Development processes
- Development Rules β Standards and conventions
# Application
APP_NAME=WindFlow
APP_VERSION=1.0.0
APP_ENV=development
DEBUG=true
# API Backend
API_HOST=0.0.0.0
API_PORT=8000
API_WORKERS=4
# Database
DATABASE_URL=postgresql+asyncpg://windflow:password@localhost:5432/windflow
REDIS_URL=redis://localhost:6379/0
# Security
SECRET_KEY=your-secret-key-here
ACCESS_TOKEN_EXPIRE_MINUTES=30
VAULT_URL=http://localhost:8200
VAULT_TOKEN=your-vault-token
# Artificial Intelligence
LLM_PROVIDER=openai
LLM_MODEL=gpt-4-turbo-preview
OPENAI_API_KEY=your-openai-key
OLLAMA_BASE_URL=http://localhost:11434
# Monitoring
PROMETHEUS_ENABLED=true
LOG_LEVEL=INFO# Development
cp .env.example .env
docker compose -f docker-compose.yml -f docker-compose.override.yml up
# Staging
cp .env.staging .env
docker compose -f docker-compose.yml -f docker-compose.staging.yml up
# Production
cp .env.production .env
docker compose -f docker-compose.yml -f docker-compose.prod.yml up# Build and push images
make docker-build
docker tag windflow:latest registry.example.com/windflow:v1.0.0
docker push registry.example.com/windflow:v1.0.0
# Deploy to server
docker compose pull
docker compose up -d --remove-orphans# Via Helm (recommended)
helm repo add windflow https://charts.windflow.io
helm install windflow windflow/windflow \
--namespace windflow \
--create-namespace \
--values values.yaml
# Via manifests
kubectl apply -f k8s/namespace.yaml
kubectl apply -f k8s/configmap.yaml
kubectl apply -f k8s/secrets.yaml
kubectl apply -f k8s/deployment.yaml
kubectl apply -f k8s/service.yaml
kubectl apply -f k8s/ingress.yamlFor a production deployment, make sure you have:
- Reverse Proxy: Nginx, Traefik, or Caddy for TLS/HTTP2
- Monitoring: Prometheus + Grafana + Alertmanager
- Backups: Database and persistent volumes
- Secrets: HashiCorp Vault in high availability
- Logs: ELK Stack or equivalent solution
- Scaling: Kubernetes HPA or Docker Swarm
WindFlow is an open-source project and welcomes contributions!
- Contributing Guide β Contribution process
- Development Workflows β Technical processes
- Code Rules β Standards and conventions
- Code of Conduct β Community rules
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
# Full setup
make setup
# Pre-commit tests
make test
make lint
# Conventional commit
git commit -m "feat(api): add deployment optimization endpoint"- Modern web interface (Vue.js 3 + TypeScript)
- Full REST API (FastAPI + SQLAlchemy)
- Powerful CLI/TUI (Rich + Typer + Textual)
- Docker + Kubernetes orchestration
- Artificial intelligence (LiteLLM)
- Integrated monitoring (Prometheus + Grafana)
- Community template marketplace
- VM support (Vagrant + Libvirt)
- Advanced visual workflows
- Enterprise SSO (Keycloak)
- Full audit trail
- Multi-cloud provider (AWS, Azure, GCP)
- GitOps integration (ArgoCD, Flux)
- Extensible plugin system
- Mobile app (React Native)
See the Full Roadmap for more details.
WindFlow is released under the MIT license. See LICENSE for details.
WindFlow is built on exceptional technologies:
- FastAPI β Modern web framework for Python
- Vue.js β Progressive framework for user interfaces
- Element Plus β Component library for Vue 3
- Rich β Library for rich CLI interfaces
- Docker β Containerization platform
- Kubernetes β Container orchestrator
- PostgreSQL β Relational database
- Redis β In-memory data store
A big thank you to all the open-source communities that make WindFlow possible! π
Made with β€οΈ by the WindFlow team
GitHub β’ Website β’ Documentation β’ Community