BEdita, a back-end API
BEdita 4 is a ready to use back-end API to handle the data of your mobile, IoT, web and desktop applications. It's also an extensible framework to build your custom back-end API via plugins.
It provides a complete content management solution with:
- a headless HTTP server application with a complete REST API to model, create, modify and retrieve data
- a default admin web application BEdita Manager
BEdita 4 is built with CakePHP 3 and uses relational DBMS like MySQL, Postgres or SQLite in conjunction with (optional) NoSQL systems like Redis, Elastic Search or time series databases to boost performance and scale up to Big Data scenarios.
JSON-API is the primary exchange data format.
GrapQL initial support available via dedicated plugin.
The easiest and quickest way to try out BEdita4 is via Docker, read instructions below.
Prerequisites
- PHP 7.2, 7.3 or 7.4 with extensions:
json
,mbstring
,fileinfo
,intl
,pdo
,simplexml
- MySQL 5.7 (recommended) or MySQL 8.0, Postgres 9.6/10/11/12, MariaDB 10.2/10.3/10.4 or SQLite 3
- Composer
Install
For a detailed setup overview see Setup Documentation
Quick setup in three steps.
- Create project via composer
composer create-project bedita/bedita
If you are using a .zip or .tar.gz release file you just need to unpack it and then run composer install
.
-
Create an empty database either MySQL or PostgresSQL. Do nothing for SQLite.
-
Change to the newly created folder and run this script to initialize the database and create first admin user:
bin/cake bedita setup
See Web Server setup to configure a virtualhost in your webserver. To see first /home
endpoint response you may point to http://your-vhost/home
Curl example:
curl -H Accept:application/json http://your-vhost/home
Otherwise, only for development or test setups, you can take advantage of PHP builtin server with this simple command:
bin/cake server
and see /home
endpoint response pointing to http://localhost:8765/home
like this:
curl -H Accept:application/json http://localhost:8765/home
For an explanation on Accept
headers usage read here.
Docker
See Docker setup documentation for a more detailed overview.
Pull official image
Get latest offical image build from Docker Hub
docker pull bedita/bedita:latest
You may also use :4-cactus
tag instead of :latest
, they are currently synonyms.
Build image
If you want to build an image from local sources you can do it like this from BEdita root folder:
docker build -t bedita4-local .
You may of course choose whatever name you like for the generated image instead of bedita4-local
.
Run
Run a Docker image setting an initial API KEY and admin username and password, like this:
docker run -p 8090:80 --env BEDITA_API_KEY=1029384756 \
--env BEDITA_ADMIN_USR=admin --env BEDITA_ADMIN_PWD=admin \
bedita/bedita:latest
This will launch a BEdita4 instance using SQLite
as its storage backend. It should become available at http://localhost:8090/home almost instantly.
Replace bedita/bedita:latest
with bedita4-local
(or other chosen name) to lanch a local built image.
Documentation
Developer documentation can be found here
Licensing
BEdita is released under LGPL, Lesser General Public License v3.