Xibo - Digital Signage - https://xibo.org.uk Copyright (C) 2006-2019 Xibo Signage Ltd and Contributors.
- develop: Work in progress toward 2.1
- master: Currently 2.0
- release18: Work in progress toward the next 1.8
- release17: Work in progress toward the next 1.7
- release1.6.4: Archive of 1.6
Xibo is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.
Xibo is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with Xibo. If not, see http://www.gnu.org/licenses/.
Installing an official release is described in the manual and in the release notes of each release.
Please only install a Development environment if you intend make code changes to Xibo. Installing from the repository is not suitable for a production installation.
Xibo uses Docker to ensure all contributers have a repeatable development environment which is easy to get up and running.
The very same Docker containers are used in our recommended end user installation to promote consistency from development to deployment.
To these ends this repository includes a docker-compose.yml
file to spin up a model development environment.
The development Docker containers do not automatically build vendor files for PHP or JS, this is left as a developer responsibility. Therefore you will need the following tools:
- Git
- Composer
- NPM (coming in 2.0)
- Docker
Create a folder in your development workspace and clone the repository. If you intend to make changes and submit pull requests please Fork us first and create a new branch.
git clone [email protected]:<your_id>/xibo-cms.git xibo-cms
Change into your new folder
cd xibo-cms
We recommend installing the dependencies via Docker, so that you are guarenteed consistent dependencies across different development machines.
docker run --interactive --tty --volume $PWD:/app --volume ~/.composer:/tmp composer install
This command also mounts the Composer /tmp
folder into your home directory so that you can take advantage of Composer caching.
docker run -it --volume $PWD:/app --volume ~/.npm:/root/.npm -w /app node:latest sh -c "npm install webpack -g; npm install; npm run build;"
Use Docker Compose to bring up the containers.
docker-compose up --build -d
Visit Xibo in the browser and follow the installation instructions. The CMS will be accessible at localhost
. When
asked for a database you should select to create a new database and enter these details:
- Host:
mysql
- Admin User:
root
- Admin Password:
root
When asked for a library location you should enter
- /var/www/cms/library
To parse the translations:
docker-compose exec web sh -c "cd /var/www/cms; php bin/locale.php"
find ./locale ./cache ./lib ./web -iname "*.php" -print0 | xargs -0 xgettext --from-code=UTF-8 -k_e -k_x -k__ -o locale/default.pot
To generate a swagger.json
file, with the dev containers running:
docker-compose exec web sh -c "cd /var/www/cms; vendor/bin/swagger lib -o web/swagger.json"
To find out more about the application code and how everything fits together, please refer to the advanced section of the manual.
The standard licence for Xibo is the AGPLv3. For more information please see CONTRIBUTING.md.
Support requests can be reported on the Xibo Community Forum. Verified, re-producable bugs with this repository can be reported in the Xibo parent repository.