\compose\ is a CMS (Content Management System) platform written in PHP that provides functionalities for fast-developing web applications on Linux servers.
Born to be modular, \compose\ is built around the concept of installable packages. The built-in Core package is responsible for managing the third-party packages and allows us to install, remove, update, enable/disable packages and single components such as API End-points or Pages directly from the browser.
Features:
- Built-in support for different types of users;
- 4 types of users supported by default:
guest
,user
,supervisor
,administrator
; - Web-based package manager;
- Web-based pages manager;
- Web-based RESTful API end-points manager;
- Built-in support for Google Sign-In OAuth 2.0 authentication;
- Built-in HTTP RESTful API service;
- Error handler;
- Graphics based on Bootstrap (v3.3.1);
- and many many more...
You can use \compose\ out-of-the-box, though there is not much to see or
do until you create or install packages. \compose\ is designed to be
modular with a built-in core
package that provides all the functionalities needed for
managing additional packages and their components. A Configuration
class provides
functionalities for managing settings for both the core
package and other
additional packages.
The RESTful API module in \compose\ offers an easy way for packages to export API end-points accessible via HTTP.
Check the Full Documentation if you want to learn more about \compose\
\compose\ is also available as a Docker image.
You can download our Docker files from (here)[https://github.com/afdaniele/compose/tree/master/docker]. To build a Docker image from one of our Docker files run:
docker build -t <image_name>:<image_tag> .
You can find the list of pre-built images on (Docker Hub)[https://cloud.docker.com/repository/docker/afdaniele/compose/tags].
Run
docker run -itd -p <PORT>:80 -v <COMPOSE_ROOT_HOST_DIR>:/var/www/html afdaniele/compose:<IMAGE_TAG>
NOTE: <COMPOSE_ROOT_HOST_DIR>
is the path to the directory on the host that contains the root of the \compose\
repository. This path should contain a public_html
dir.
NOTE: All the changes made in \compose\ will be saved inside the container. If you delete the container without committing, all the changes will be lost.
Run
docker run -d -p <PORT>:80 afdaniele/compose:<IMAGE_TAG>