Skip to content

Latest commit

 

History

History
167 lines (109 loc) · 4.89 KB

README.md

File metadata and controls

167 lines (109 loc) · 4.89 KB

BEdita Manager

Github Actions PHP Github Actions Javascript codecov phpstan psalm Scrutinizer Code Quality Version License

Backend Manager for BEdita API.

Prerequisites

Install

  • Create project via composer
composer create-project bedita/manager

This will create a new manager folder and install composer dependencies. If you are using a .zip or .tar.gz release file you just need to unpack it and then run composer install. Run same command if you do a git clone on this repo.

  • Build JS/CSS bundles with yarn from manager folder
yarn && yarn build
  • Configure BEdita API base URL and API KEY in config/.env like:
# set BEDITA base URL
export BEDITA_API="{bedita-url}"
# set BEDITA API KEY (optional)
export BEDITA_API_KEY="{bedita-api-key}"

To test the webapp you can simply run builtin webserver from manager folder like this

bin/cake server

And then point your browser to http://localhost:8765/

For any other use than a simple test we recommend to configure your preferred web server like Nginx/Apache and point to webroot/ as vhost document root.

## Configuration

You can further configure your BEdita Manager instance in config/app_local.php with environment and project specific settings.

Have look at the main Manager configuration wiki page on how to customize your Manager instance.

Docker

Pull official image

Get latest offical image build from Docker Hub

docker pull bedita/manager:4

Build image

If you want to build an image from local sources you can do it like this from root folder:

docker build -t manager-local .

You may of course choose whatever name you like for the generated image instead of manager-local.

Run

Run a Docker image setting API base url and API KEY like this:

docker run -p 8080:80 \
    --env BEDITA_API={bedita-api-url} --env BEDITA_API_KEY={bedita-api-key} \
    bedita/manager:latest

Replace bedita/manager:latest with manager-local (or other chosen name) to lanch a local built image.

JS Development with webpack

Using .env

It's easy to configure config/.env to match your web server and proxy requirements, see below. (default proxy: localhost:8080, default server: localhost:3000)

# BE Manager Entry Point
WEBPACK_SERVER_HOST=localhost
WEBPACK_SERVER_PORT=3000

# Proxy server
WEBPACK_PROXY_HOST=local-be4-web
WEBPACK_PROXY_PORT=8080

To start develop mode run

yarn develop

Production build with Bundle Report

yarn run bundle-report

ESlint

  • Run ESlint via yarn, to check linting on js files
yarn run eslint resources/js/app/pages/admin/index.js

Run unit tests

To setup tests locally simply copy tests/.env.example to tests/.env and set env vars accordingly. To launch tests:

vendors/bin/phpunit [test folder or file, default '/tests']

To run those tests you may want to use a Docker image as BEdita4 API endpoint. For instance if you can pull a Docker image via docker pull bedita/bedita:4 or docker pull bedita/bedita:5

Then you may run the image with

docker run -p 8090:80 --env BEDITA_ADMIN_USR=bedita --env BEDITA_ADMIN_PWD=bedita bedita/bedita:5

You can then set env vars accordingly like this:

export BEDITA_API="http://localhost:8090"
export BEDITA_ADMIN_USR="bedita"
export BEDITA_ADMIN_PWD="bedita"

and you're ready to go

Licensing

BEdita is released under LGPL, Lesser General Public License v3.