$git clone https://github.com/apioo/fusio---
| 1 | <p align="center"> |
| 2 | <a href="https://www.fusio-project.org/" target="_blank"> |
| 3 | <img src="https://www.fusio-project.org/img/fusio_64px.png" width="64"> |
| 4 | </a> |
| 5 | </p> |
| 6 | |
| 7 | <h1 align="center">Fusio</h1> |
| 8 | |
| 9 | <p align="center"> |
| 10 | <strong>Open Source API Management Platform</strong><br /> |
| 11 | Turn your business logic into scalable API products for humans and AI agents. |
| 12 | </p> |
| 13 | |
| 14 | <p align="center"> |
| 15 | <a href="https://docs.fusio-project.org/">📖 Documentation</a> • |
| 16 | <a href="https://www.youtube.com/watch?v=U7QYGKknw_Q">📺 Video Walkthrough (15m)</a> • |
| 17 | <a href="https://discord.gg/eMrMgwsc6e">💬 Discord Community</a> |
| 18 | </p> |
| 19 | |
| 20 | --- |
| 21 | |
| 22 | Fusio is a self-hosted, open-source backend platform and API gateway written in PHP that bridges the gap between your |
| 23 | internal infrastructure and the outside world. Whether you are exposing legacy databases, orchestrating microservices, |
| 24 | or building custom business logic, Fusio handles the heavy lifting. It transforms your services into a professional API |
| 25 | product, complete with an automated developer portal, SDK generation, and monetization tools. With native MCP support, |
| 26 | Fusio also acts as a bridge to the AI ecosystem, allowing you to turn your backend logic into tools for autonomous |
| 27 | agents. |
| 28 | |
| 29 | ## 🚀 Features |
| 30 | |
| 31 | * **Database API Gateway** - Instantly expose legacy SQL/NoSQL databases (MySQL, PostgreSQL, etc.) as REST APIs. |
| 32 | * **Microservice Gateway** - Securely route, orchestrate, and load-balance traffic between your distributed services. |
| 33 | * **Custom API Logic** - Build powerful backend logic using reusable actions in PHP or Javascript. |
| 34 | * **Agent Development** - Use your custom API logic as "Tools" to build and power autonomous AI agents. |
| 35 | * **AI-Assisted Development** - Generate custom backend logic and schemas using natural language prompts. |
| 36 | * **MCP Integration** - Native support for the Model Context Protocol to expose APIs to AI ecosystems. |
| 37 | * **API Developer Portal** - A self-service portal for third-party developers with docs, testing tools, and keys. |
| 38 | * **SDK Automation** - Zero-effort generation of client SDKs for all major programming languages. |
| 39 | * **API Monetization** - Turn your API into a product with subscription plans, quotas, and automated billing. |
| 40 | * **Analytics & Monitoring** - Real-time tracking of API usage, performance metrics, and error logging. |
| 41 | |
| 42 | ## 📦 Installation |
| 43 | |
| 44 | ### 🐳 Docker |
| 45 | |
| 46 | The fastest way to try Fusio locally is with Docker and docker-compose. |
| 47 | |
| 48 | ```yaml |
| 49 | services: |
| 50 | fusio: |
| 51 | image: fusio/fusio |
| 52 | restart: always |
| 53 | environment: |
| 54 | FUSIO_PROJECT_KEY: "42eec18ffdbffc9fda6110dcc705d6ce" |
| 55 | FUSIO_CONNECTION: "pdo-mysql://fusio:61ad6c605975@mysql-fusio/fusio" |
| 56 | FUSIO_BACKEND_USER: "test" |
| 57 | FUSIO_BACKEND_EMAIL: "demo@fusio-project.org" |
| 58 | FUSIO_BACKEND_PW: "test1234" |
| 59 | ports: |
| 60 | - "8080:80" |
| 61 | |
| 62 | mysql-fusio: |
| 63 | image: mysql:8.0 |
| 64 | restart: always |
| 65 | environment: |
| 66 | MYSQL_RANDOM_ROOT_PASSWORD: "1" |
| 67 | MYSQL_USER: "fusio" |
| 68 | MYSQL_PASSWORD: "61ad6c605975" |
| 69 | MYSQL_DATABASE: "fusio" |
| 70 | volumes: |
| 71 | - ./db:/var/lib/mysql |
| 72 | ``` |
| 73 | |
| 74 | > docker compose up -d |
| 75 | |
| 76 | **After startup** |
| 77 | |
| 78 | * Backend: http://localhost:8080/apps/fusio |
| 79 | * Login with the credentials you configured |
| 80 | * For the first steps, take a look at our [Getting Started](https://docs.fusio-project.org/docs/bootstrap) guide |
| 81 | |
| 82 | ### 🛠️ Manual Installation |
| 83 | |
| 84 | * __Download artifact__ |
| 85 | |
| 86 | You can either download the official [release](https://github.com/apioo/fusio/releases) or clone the repository. |
| 87 | ```bash |
| 88 | git clone https://github.com/apioo/fusio.git |
| 89 | ``` |
| 90 | |
| 91 | * __Configure `.env`__ |
| 92 | |
| 93 | Configure fitting database credentials at the `APP_CONNECTION` variable, all other parameters are optional. |
| 94 | ```bash |
| 95 | APP_CONNECTION=pdo-mysql://root:password@localhost/fusio |
| 96 | APP_URL=http://localhost:8080 |
| 97 | ``` |
| 98 | |
| 99 | > It is also recommended to provide the `APP_URL` which contains the domain pointing to the public folder i.e. |
| 100 | `https://api.my_domain.com` or `https://my_domain.com/fusio`, this is required if you host Fusio inside |
| 101 | a sub-folder |