Open source API management platform
Fusio is an open source API management platform which helps to create innovative API solutions.
Fusio helps you to build APIs providing out-of-the-box enterprise features so that you can concentrate on your business
case. Please take a look at our documentation website
for more information. The following feature list gives you a first overview:
Fusio provides many 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 APP_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.
To build and integrate apps with Fusio we provide several SDKs which you can use to work with a Fusio instance or you
can also simply manually talk to the REST API.
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 |
Fusio is an open source project which you can use freely for private and commercial projects under the terms of the
Apache 2.0 license. Besides our core product we offer additional services to augment the functionality of Fusio.
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 APP_URL
to the domain pointing to the public folder.APP_CONNECTION
keys. Optional adjust APP_APPS_URL
to the public urlphp bin/fusio migrate
.php bin/fusio adduser
. Choose as account type “Administrator”.php bin/fusio marketplace:install fusio
You can verify the installation by visiting the APP_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 APP_CONNECTION
parameter. You can
use the following connection strings:
pdo-mysql://root:test1234@localhost/fusio
pdo-pgsql://postgres:postgres@localhost/fusio
pdo-sqlite:///fusio.sqlite
In general it is possible to install Fusio on all database which are supported
by our database abstraction layer but our internal test cases are only covering MySQL, PostgreSQL and SQLite so there is
no guarantee that everything works.
It is 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.
By default the complete Fusio project can be hosted on a single domain. In this setup your API is served at the root
directory and the developer portal and backend apps are directly served from the /apps folder. This setup is easy to use
since it requires no configuration. If you want to run Fusio in a production environment we recommend to create the
following sub-domain structure:
This is of course only a suggestion and you are free to choose the domain names how you like.
Please check out our official documentation website where we bundle all documentation resources:
https://docs.fusio-project.org/
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.
The following list shows all partners of the Fusio project. We like to thank every partner supporting us in our vision
to move API development to the next level. If you are interested in getting listed here feel free to sponsor our
project.