Please visit engelsystem.de for a feature list.
To report bugs use engelsystem/issues.
Since the Engelsystem is open source, you can help improving it! We really love to get pull requests containing fixes or improvements. Please read the CONTRIBUTING.md and DEVELOPMENT.md before you start.
The Engelsystem may be installed manually by uploading files to a web hoster or by using the provided docker setup.
- PHP >= 8.2
- Required modules:
- dom
- json
- mbstring
- PDO
- mysql
- tokenizer
- xml/libxml/SimpleXML
- xmlwriter
- Required modules:
- MySQL-Server >= 5.7.8 or MariaDB-Server >= 10.7
- Webserver, i.e. nginx, lighttpd, or Apache
From previous experience, 2 cores and 2GB ram are roughly enough for up to 1000 Helpers (~700 arrived + 500 arrived but not working) during an event.
- Go to the Releases page and download the latest stable release file.
- Extract the files to your webroot and continue with the directions for configurations and setup.
-
The webserver must have write access to the
storagedirectory and read access for all other directories -
The webserver must point to the
publicdirectory. -
The webserver must read the
.htaccessfile andmod_rewritemust be enabled -
Recommended: Directory Listing should be disabled.
-
There must be a MySQL database set up with a user who has full rights to that database.
-
If necessary, create a
config/config.phpto override some configuration values. Using the web UI to change settings is recommended, you can find a documentation of possible settings in the configuration documentation.- A minimal
config.phpto connect to your database will be:<?php return [ 'database' => [ 'host' => 'localhost', 'database' => 'engelsystem', 'username' => 'engelsystem', 'password' => '<your password here>', ], ];
- If you want to change items from a list, all values must be present in your
config.php, including new ones
- A minimal
-
To import the database, the
bin/migratescript has to be run. If you can't execute scripts, you can import theinitial-install.sqlfile from the release zip. -
In the browser, login with credentials
admin:asdfasdfand change the password.
The Engelsystem can now be used.
- Make sure the config allows for sessions.
- Both Apache and Nginx allow for different VirtualHost configurations.
For instructions on how to build the Docker container for development, please consult the DEVELOPMENT.md.
To build the es_server container:
cd docker
docker compose buildor to build the container by its own:
docker build -f docker/Dockerfile . -t es_serverStart the Engelsystem
cd docker
docker compose up -dCreate the Database Schema (on a fresh install) or import database changes to migrate it to the newest version
cd docker
docker compose exec es_server bin/migrateThe bin/config2docs script is a helper to generate the engelsystem config documentation page.
The bin/deploy.sh script can be used to deploy the Engelsystem. It uses rsync to deploy the application to a server over ssh.
For usage see ./bin/deploy.sh -h
The bin/migrate script can be used to import and update the database of the Engelsystem.
For more information on how to use it call ./bin/migrate help
The bin/pre-commit script can be used during development to ensure the code quality matches the expected standard.
More documentation can be found at: https://engelsystem.de/doc/