Open-source API management platform which helps to build and manage REST APIs.
Deploy this app to Linode with a free $100 credit!
Fusio is an open source API management platform which helps to build and manage REST APIs. It can help you with the following use cases:
Fusio is an API management platform where you can configure routes which execute specific actions. An action triggers your business logic, it is like a controller in a classical framework, you can also think of it like a serverless lambda function, which can be executed on a route call or via RPC. Fusio covers many aspects of the API management life cycle so that you can concentrate on writing the actual business logic of your API. Please take a look at our documentation website for more information. The following feature list gives you a first overview:
Since it is difficult to work with an API only app Fusio provides apps which help to work with the API. Mostly apps are
simple JS apps, which work with the internal API of Fusio. You can see a list of all available apps at our
marketplace. You can install such an app either through a CLI command i.e.
php bin/fusio marketplace:install fusio
or through the backend app.
All apps are installed to the apps/
folder. You need to tell Fusio the public url to the apps folder at the .env
file by defining the FUSIO_APPS_URL
variable. Depending on your setup this can be either a custom sub-domain like
https://apps.acme.com
or simply the sub folder https://acme.com/apps
.
The backend app is the main app to configure and manage your API. The installer automatically installs this app. The app
is located at /apps/fusio/
.
Fusio provides a VSCode extension which can be used to simplify action development. This means you can develop every action directly inside the VSCode editor.
It is possible to install Fusio either through composer or manually file download.
composer create-project fusio/fusio
https://github.com/apioo/fusio/releases
You can either manually install Fusio with the steps below or you can also use the browser based installer at
public/install.php
. Note because of security reasons it is highly recommended removing the installer script after the
installation.
.env
in the Fusio directory and change the FUSIO_URL
to the domain pointing to the public folder.
Also insert the database credentials to the FUSIO_DB_*
keys. Optional adjust FUSIO_APPS_URL
to the public url
of the apps folder (in case you want to use apps).php bin/fusio install
.php bin/fusio adduser
. Choose as account type "Administrator".php bin/fusio marketplace:install fusio
You can verify the installation by visiting the FUSIO_URL
with a browser. You should see an API response that the
installation was successful.
In case you want to install Fusio on a specific database you need to adjust the driver
parameter at the
configuration.php
file:
pdo_mysql
: MySQLpdo_sqlite
: SQLitepdo_pgsql
: PostgreSQLsqlsrv
: Microsoft SQL Serveroci8
: Oraclesqlanywhere
: SAP Sybase SQL AnywhereAlternatively it is also possible to setup Fusio through docker. This has the advantage that you automatically get a complete running Fusio system without configuration. This is especially great for testing and evaluation. To setup the container you have to checkout the repository and run the following command:
docker-compose up -d
This builds the Fusio system with a predefined backend account. The credentials are taken from the env variables
FUSIO_BACKEND_USER
, FUSIO_BACKEND_EMAIL
and FUSIO_BACKEND_PW
in the docker-compose.yml
. If you are planing to
run the container on the internet you must change these credentials.
Please check out our official documentation website where we bundle all documentation resources: https://docs.fusio-project.org/
This should give you a first overview about all important repositories which belong to the Fusio project:
Contributions to the project are always appreciated. There are many options available to improve the project (which is not limited to coding). The following list shows some ways how you can participate:
If you are a PHP or Javascript developer you can help to improve the system. If you want to create a new feature it is in general recommended to create a new issue where we can talk about the feature before you start to hack on it. So there are three main components of Fusio:
The backend API is the core of the system developed in PHP, which provides the basic functionality of Fusio. This is the place to develop new core features and improvements.
An adapter is a plugin to the Fusio system which can be used to connect to other remote services. I.e. you could create
a new adapter which speaks to a specific API or other remote service. This is easy to develop since you can build it in
a separate repository. Please use the keyword fusio-adapter
in your composer.json
file so that adapter gets listed
automatically on our website.
This is the Angular app which is used as GUI to control the backend. It is the main app to improve the Fusio backend. But you are also free to develop new apps for special use cases which talk to the internal API of Fusio.
We have a high PHPUnit test case coverage. Beside this it is always great if users checkout the current master version of the project and try to test every aspect of the system. In case you have found an issue please report it through the issue tracker.
We want to create a system which is easy to use also by novice users. To enable everybody to start using Fusio we need a great documentation. We have bundled all documentation at our documentation website please feel free to adjust or contribute new documents in case you think something is missing or wrong.
If you are a blogger or magazine we would be happy if you like to cover Fusio. Please take a look at the Media section of our About Page to download the official icon set. In case you have any questions please write us a message directly so we can help you to create great content.
If you are a company or freelancer and want to get detailed information how you can use Fusio you can contact us for consulting. In the workshop we try to find the best way how you can use/integrate Fusio also we try to explain the functionality and answer your questions.
If this project helps you to generate revenue or in general if you like to support the project please check out the donation options at our repository.
Please login to review this project.
No reviews for this project yet.
The World’s Most Popular Open Source Microservice API Gatew…
Fast, instant realtime GraphQL APIs on Postgres with fine g…
Turns any SQL/NoSQL/Structured data into Restful API.
Comments (0)
Please login to join the discussion on this project.