PHPackages                             fusio/fusio - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. fusio/fusio

ActiveProject[API Development](/categories/api)

fusio/fusio
===========

Fusio project

v7.0.0(1mo ago)2.1k9.9k↓37.5%238[170 issues](https://github.com/apioo/fusio/issues)Apache-2.0PHPPHP &gt;=8.4CI passing

Since Jul 29Pushed 4w ago55 watchersCompare

[ Source](https://github.com/apioo/fusio)[ Packagist](https://packagist.org/packages/fusio/fusio)[ Docs](https://www.fusio-project.org)[ GitHub Sponsors](https://github.com/sponsors/chriskapp)[ Patreon](https://www.patreon.com/fusio)[ RSS](/packages/fusio-fusio/feed)WikiDiscussions master Synced today

READMEChangelog (10)Dependencies (2)Versions (135)Used By (0)

 [ ![](https://camo.githubusercontent.com/1fb40bb158cb967dcd3587c53e2fc767545fcd9bfdf5e9d421268e616d0d17c1/68747470733a2f2f7777772e667573696f2d70726f6a6563742e6f72672f696d672f667573696f5f363470782e706e67) ](https://www.fusio-project.org/)

Fusio
=====

[](#fusio)

 **Open Source API Management Platform**
 Turn your business logic into scalable API products for humans and AI agents.

 [📖 Documentation](https://docs.fusio-project.org/) • [📺 Video Walkthrough (15m)](https://www.youtube.com/watch?v=U7QYGKknw_Q) • [💬 Discord Community](https://discord.gg/eMrMgwsc6e)

---

Fusio is a self-hosted, open-source backend platform and API gateway written in PHP that bridges the gap between your internal infrastructure and the outside world. Whether you are exposing legacy databases, orchestrating microservices, or building custom business logic, Fusio handles the heavy lifting. It transforms your services into a professional API product, complete with an automated developer portal, SDK generation, and monetization tools. With native MCP support, Fusio also acts as a bridge to the AI ecosystem, allowing you to turn your backend logic into tools for autonomous agents.

🚀 Features
----------

[](#-features)

- **Database API Gateway** - Instantly expose legacy SQL/NoSQL databases (MySQL, PostgreSQL, etc.) as REST APIs.
- **Microservice Gateway** - Securely route, orchestrate, and load-balance traffic between your distributed services.
- **Custom API Logic** - Build powerful backend logic using reusable actions in PHP or Javascript.
- **Agent Development** - Use your custom API logic as "Tools" to build and power autonomous AI agents.
- **AI-Assisted Development** - Generate custom backend logic and schemas using natural language prompts.
- **MCP Integration** - Native support for the Model Context Protocol to expose APIs to AI ecosystems.
- **API Developer Portal** - A self-service portal for third-party developers with docs, testing tools, and keys.
- **SDK Automation** - Zero-effort generation of client SDKs for all major programming languages.
- **API Monetization** - Turn your API into a product with subscription plans, quotas, and automated billing.
- **Analytics &amp; Monitoring** - Real-time tracking of API usage, performance metrics, and error logging.

📦 Installation
--------------

[](#-installation)

### 🐳 Docker

[](#-docker)

The fastest way to try Fusio locally is with Docker and docker-compose.

```
services:
  fusio:
    image: fusio/fusio
    restart: always
    environment:
      FUSIO_PROJECT_KEY: "42eec18ffdbffc9fda6110dcc705d6ce"
      FUSIO_CONNECTION: "pdo-mysql://fusio:61ad6c605975@mysql-fusio/fusio"
      FUSIO_BACKEND_USER: "test"
      FUSIO_BACKEND_EMAIL: "demo@fusio-project.org"
      FUSIO_BACKEND_PW: "test1234"
    ports:
      - "8080:80"

  mysql-fusio:
    image: mysql:8.0
    restart: always
    environment:
      MYSQL_RANDOM_ROOT_PASSWORD: "1"
      MYSQL_USER: "fusio"
      MYSQL_PASSWORD: "61ad6c605975"
      MYSQL_DATABASE: "fusio"
    volumes:
      - ./db:/var/lib/mysql
```

> docker compose up -d

**After startup**

- Backend:
- Login with the credentials you configured
- For the first steps, take a look at our [Getting Started](https://docs.fusio-project.org/docs/bootstrap) guide

### 🛠️ Manual Installation

[](#️-manual-installation)

- **Download artifact**

    You can either download the official [release](https://github.com/apioo/fusio/releases) or clone the repository.

    ```
    git clone https://github.com/apioo/fusio.git
    ```
- **Configure `.env`**

    Configure fitting database credentials at the `APP_CONNECTION` variable, all other parameters are optional.

    ```
    APP_CONNECTION=pdo-mysql://root:password@localhost/fusio
    APP_URL=http://localhost:8080
    ```

    > It is also recommended to provide the `APP_URL` which contains the domain pointing to the public folder i.e. `https://api.my_domain.com` or `https://my_domain.com/fusio`, this is required if you host Fusio inside a sub-folder otherwise Fusio tries to detect the domain via the Host header.

    Supported DBs:

    - MySQL: `pdo-mysql://user:pass@host/db`
    - PostgreSQL: `pdo-pgsql://user:pass@host/db`
    - SQLite: `pdo-sqlite:///fusio.sqlite`
- **Run migrations**

    ```
    php bin/fusio migrate
    ```
- **Create administrator user**

    ```
    php bin/fusio adduser
    ```

    > Choose Administrator as account type.
- **Install backend app**

    ```
    php bin/fusio marketplace:install fusio
    ```
- **Start server (dev only)**

    ```
    php -S 127.0.0.1:8080 -t public
    ```

    > This should be only used for testing, for production you need a classical Nginx/Apache setup or use Docker, take a look at our [installation documentation](https://docs.fusio-project.org/docs/installation/) for more details.

### 🌐 Web-Installer

[](#-web-installer)

Instead of manual installation you can also use the web installer script located at `/install.php`to complete the installation. After installation, it is recommended to delete this "install" script.

🧭 Getting Started
-----------------

[](#-getting-started)

Use our [Getting Started](https://docs.fusio-project.org/docs/bootstrap) guide to build your first action and configure an operation to expose the action as API endpoint.

### Action

[](#action)

At the core of Fusio, you describe your business logic in an Action. An Action is a PHP class that receives an incoming request and returns a response.

```
