Free, standalone API engine - build backends with YAML instead of code
GitHub Release License Docker Pulls Issues
π Complete Documentation & Tutorials β’ π Download Examples β’ π¬ Community
ServFlow Engine is a free, standalone declarative API engine that transforms YAML configurations into production-ready APIs. No backend code required.
ServFlow Engine is part of the ServFlow platform. Use it standalone (free forever) or with the ServFlow Dashboard for visual development.
Naming note: this project publishes as
servflow-engine(binaryservflow-engine, Docker imageservflow/servflow-engine). Theservflowname β including the Docker imageservflow/servflowand older engine tags on it β now refers to the full ServFlow product.
- β‘ Zero Backend Code: Build complete APIs using only YAML configurations
- π Universal Integrations: Connect to any database, AI service, or external API
- π Infinitely Scalable: Designed for high-performance and horizontal scaling
- βοΈ Configuration-Driven: Version control your entire API logic
Example: This YAML becomes a working API endpoint:
# Complete example in examples/hello-world/ http: listenPath: /users method: GET next: action.fetch_users actions: fetch_users: type: mongoquery config: collection: users integration: mongo next: response.success responses: success: code: 200 responseObject: fields: users: value: "{{ .variable_actions_fetch_users }}"
Get ServFlow Engine running in under 2 minutes:
Manual Download:
Download the latest servflow-engine binary from GitHub Releases
Docker:
docker pull servflow/servflow-engine:latest
# Clone this repository for examples git clone https://github.com/servflow/servflow.git cd servflow/examples/hello-world # Start with the hello-world example servflow-engine start --integrations integrations.yaml configs/
curl http://localhost:8080/hello
# Response: {"message": "Hello from ServFlow Engine!", "timestamp": "2024-01-15T10:30:00Z"}π That's it! You now have a running API built with just YAML configuration.
Ready-to-run examples you can download and use immediately:
| π― Example | π What it does | β±οΈ Setup Time | π Tutorial |
|---|---|---|---|
| hello-world | Simple API response | 30 seconds | Your First API |
| user-registration | User signup with validation | 3 minutes | User Registration |
# 1. Clone this repository git clone https://github.com/servflow/servflow.git cd servflow/examples # 2. Choose an example (e.g., hello-world) cd hello-world # 3. Follow the quick setup in each README # 4. Visit the docs for complete explanations
Each example includes:
- β Complete YAML configurations that work out-of-the-box
- β Quick setup instructions (under 3 minutes)
- β Sample test requests
- β Links to detailed tutorials in our documentation
β Complete tutorials and explanations at docs.servflow.io
ServFlow Engine uses two types of configuration files:
Define connections to databases and external APIs:
integrations: mongo: type: mongo config: connectionString: '{{ secret "MONGODB_STRING" }}' dbName: myapp
Define your API endpoints and business logic:
id: users_api name: Users API http: listenPath: /users method: GET next: action.fetch_users # ... rest of configuration
π₯ The Result: A fully functional API endpoint with zero backend code!
β Learn the complete configuration syntax in our docs
- Installation Guide - Complete setup instructions
- Your First API - Build your first endpoint in 5 minutes
- Example Walkthrough - How to use this repository's examples
- User Registration Tutorial - Create secure user APIs
- Advanced Patterns - Production-ready configurations
- Actions Reference - All available actions
- Integrations Guide - Connect to any service
- Template Functions - Dynamic data processing
- Production Deployment - Scale and secure your APIs
Download from GitHub Releases:
- Linux (x64):
servflow-engine_Linux_x86_64.tar.gz - macOS (Intel):
servflow-engine_Darwin_x86_64.tar.gz - macOS (Apple Silicon):
servflow-engine_Darwin_arm64.tar.gz - Windows (x64):
servflow-engine_Windows_x86_64.zip
# Pull the latest image docker pull servflow/servflow-engine:latest # Run with configuration docker run -d \ --name servflow-engine \ -p 8080:8080 \ -v $(pwd)/integrations.yaml:/app/integrations.yaml \ -v $(pwd)/configs:/app/configs \ servflow/servflow-engine:latest start --integrations /app/integrations.yaml /app/configs
# Create project structure mkdir my-servflow-api && cd my-servflow-api mkdir -p configs touch integrations.yaml # Set environment variables for secrets export MONGODB_STRING="mongodb://localhost:27017/mydb" # Start ServFlow Engine servflow-engine start --integrations integrations.yaml configs/
curl http://localhost:8080/health
# Response: ok- Natural language database queries
- Smart content generation
- Automated data processing
- RESTful database operations
- Complex query pipelines
- Real-time data streaming
- User registration & login
- JWT token management
- Role-based permissions
- Multi-service orchestration
- Webhook processing
- Third-party API proxying
β See all possibilities in our documentation
- π Documentation - Comprehensive guides and tutorials
- π¬ GitHub Discussions - Community Q&A
- π Issues - Bug reports and feature requests
We welcome contributions! Check out our examples and documentation for ways to help.
# Make sure binary is executable and in PATH
chmod +x servflow-engine
sudo mv servflow-engine /usr/local/bin/# Provide the correct path to your configs
servflow-engine start --integrations integrations.yaml configs/Check our complete troubleshooting guide or open an issue.
This project is licensed under the MIT License - see the LICENSE file for details.
- π Website: servflow.io
- π Documentation: docs.servflow.io
- π¦ Releases: GitHub Releases
- π³ Docker: Docker Hub
- π¬ Community: GitHub Discussions
Made with β€οΈ by the ServFlow team
β Star this repo if ServFlow helps you build better APIs!
Get Started β’ View Examples β’ Read Docs