Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork233
Self-Hosted API Management for Builders
License
apioo/fusio
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Self-Hosted API Management for Builders.
Database API Gateway
Unlock legacy databases and expose them via modern REST APIs.
Custom Backend Logic for APIs
Build and manage custom business logic tailored to your domain.
Gateway for Microservices
Route, orchestrate, and secure traffic between internal services.
API Developer Portal
Provide docs, testing, and SDKs for internal or external developers.
API Monetization
Enable freemium or tiered access with quotas, limits, and billing hooks.
MCP Integration
Leverage the Model Context Protocol to enable AI-driven access and control of API endpoints.
API Usage Analytics
Monitor traffic, detect issues early, and understand API consumption.
Headless CMS Backend
Manage and expose structured content to any frontend via APIs.
SDK Automation
Automatically generate ready-to-use client SDKs (PHP, TypeScript, Python, etc.).
Download artifact
You can either download the officialrelease or clone the repository.
git clone https://github.com/apioo/fusio.git
Set up your
.env
Configure fitting database credentials at the
APP_CONNECTION
variable, all other parameters are optional.- MySQL:
pdo-mysql://root:test1234@localhost/fusio
- PostgreSQL:
pdo-pgsql://postgres:postgres@localhost/fusio
- SQLite:
pdo-sqlite:///fusio.sqlite
- MySQL:
Run migrations
php bin/fusio migrate
Create administrator user
After the installation is complete, you have to create a new administrator account. Choose as account type "Administrator".
php bin/fusio adduser
Install backend app
php bin/fusio marketplace:install fusio
Start via PHP built-in server
This should be only used for testing, for production you need a classical Nginx/Apache setup or use Docker, take a look at ourinstallation documentation for more details.
php -S 127.0.0.1:8080 -t public
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.
To run Fusio with Docker you only need the official Fusiodocker imageand a database. The following example shows a minimaldocker-compose.yaml
which you can use to run Fusio.
services:fusio:image:fusio/fusiorestart:alwaysenvironment: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"links: -mysql-fusioports: -"8080:80"mysql-fusio:image:mysql:8.0restart:alwaysenvironment:MYSQL_RANDOM_ROOT_PASSWORD:"1"MYSQL_USER:"fusio"MYSQL_PASSWORD:"61ad6c605975"MYSQL_DATABASE:"fusio"volumes: -./db:/var/lib/mysql
Fusio includes a flexible app system that lets you install various web-based apps to supportdifferent API-related use cases. These apps are typically simple JavaScript frontends thatinteract with Fusio's internal API.
You can browse all available apps in theFusio Marketplace,and install them using either the CLI:
php bin/fusio marketplace:install fusio
or directly through the backend interface.
The backend app is the main app to configure and manage your API located at/apps/fusio/
.
Fusio provides aVSCode extensionwhich can be used to simplify action development.
To build and integrate applications with Fusio, you can use one of our officially supported SDKs, which simplify interaction with a Fusio instance. Alternatively, you can directly communicate with the REST API for full control and flexibility.
Language | GitHub | Package | Example |
---|---|---|---|
C# | GitHub | NuGet | Example |
Go | GitHub | Example | |
Java | GitHub | Maven | Example |
Javascript | GitHub | NPM | |
PHP | GitHub | Packagist | Example |
Python | GitHub | PyPI | Example |
Framework | GitHub | Package | Example |
---|---|---|---|
Angular | GitHub | NPM | Example |
Domain | Documentation | Specification |
---|---|---|
Backend | ReDoc | OpenAPI |
Consumer | ReDoc | OpenAPI |
System | ReDoc | OpenAPI |
Besides our core product, we offer additional services to augment the functionality of Fusio.
- SDKgen
SDKgen is a powerful code generator to automatically build client SDKs for your REST API. - APIgen
Generate fully working and customizable APIs based on your data model. - APImon
APImon provides an intuitive service to monitor and analyze API endpoints. - TypeSchema
A JSON format to describe data models in a language neutral format. - TypeAPI
An OpenAPI alternative to describe REST APIs for type-safe code generation. - TypeHub
A collaborative platform to design and build API models and client SDKs. - PSX
An innovative PHP framework dedicated to build fully typed REST APIs.
By default, the entire Fusio project can be hosted on a single domain. In this setup:
- Your API is served from the root path (e.g.,https://acme.com/).
- Web apps like the developer portal and admin backend are accessible under the
/apps
directory (e.g.,https://acme.com/apps/developer).
This setup is quick to get started with and requires no additional configuration.For production environments, we recommend a subdomain-based structure:
- api.acme.com
Hosts only the Fusio API. In this setup, you can safely remove theapps/
folder from thepublic/
directory. - developer.acme.com
Hosts theDeveloper App, a portal where third-party developers can register, view documentation, and access their credentials. - fusio.acme.com (optional)
Hosts theBackend App, used to manage your Fusio instance. You can also host this on a separate internal domain.
Note: This is just a suggested setup. You're free to choose any domain or subdomain structure that best fits your infrastructure.
Please check out our official documentation website where we bundle all documentation resources:
https://docs.fusio-project.org/
If you have questions or run into issues while using Fusio:
- Open adiscussion for general questions, feedback, or feature ideas.
- Report bugs or technical problems via theissue tracker.
- Join ourDiscord community to chat directly with the developers and other users.
If you're a company or freelancer looking for more tailored help, please check out ourconsulting services below.
Are you a blogger, writer, or run a developer-focused publication? We'd love for you to cover Fusio!
Visit theMedia Page to download official icons for use in your articles or videos.
For companies or freelancers who want in-depth guidance on using and integrating Fusio:
- We offerconsulting services to help you evaluate whether Fusio fits your architecture.
- Ourworkshops walk you through key functionality, answer your specific questions, and help identify the best integration approach.
Feel free tocontact us for more details.
If Fusio helps you build APIs faster or adds value to your projects, please consider supporting our work:
- ⭐ Star the project on GitHub
- ☕Sponsor via GitHub
- 💬 Spread the word on social media or write about Fusio
Every bit of support helps us continue improving the platform!
We’re grateful to our partners who support the Fusio project and share our vision of advancing open API development.
If your company is interested in becoming a partner and being listed here, considerbecoming a sponsor.
About
Self-Hosted API Management for Builders
Topics
Resources
License
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.