Florian Sorg ec3f337676 | ||
---|---|---|
bin | ||
config | ||
db | ||
docker | ||
includes | ||
public | ||
resources | ||
src | ||
storage | ||
tests | ||
.babelrc | ||
.browserslistrc | ||
.dockerignore | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc.json | ||
.gitignore | ||
.gitlab-ci.yml | ||
.phpcs.xml | ||
.prettierrc.json | ||
CONTRIBUTING.md | ||
DEVELOPMENT.md | ||
LICENSE | ||
README.md | ||
SECURITY.md | ||
composer.json | ||
composer.lock | ||
deployment.tpl.yaml | ||
package.json | ||
phpstan.neon.dist | ||
phpunit.xml | ||
webpack.config.js | ||
yarn.lock |
README.md
Engelsystem
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.
Installation
The Engelsystem may be installed manually or by using the provided docker setup.
Requirements
- PHP >= 8.1
- Required modules:
- dom
- json
- mbstring
- PDO
- mysql
- tokenizer
- xml/libxml/SimpleXML
- xmlwriter
- Required modules:
- MySQL-Server >= 5.7.8 or MariaDB-Server >= 10.2.2
- Webserver, i.e. lighttpd, nginx, or Apache
From previous experience, 2 cores and 2GB ram are roughly enough for up to 1000 Angels (~700 arrived + 500 arrived but not working) during an event.
Download
- 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.
Configuration and Setup
-
The webserver must have write access to the
storage
directory and read access for all other directories -
The webserver must point to the
public
directory. -
The webserver must read the
.htaccess
file andmod_rewrite
must 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.php
to override values fromconfig/config.default.php
.- To disable/remove values from the following lists, set the value of the entry to
null
:themes
tshirt_sizes
headers
header_items
footer_items
locales
contact_options
- To disable/remove values from the following lists, set the value of the entry to
-
To import the database, the
bin/migrate
script has to be run. If you can't execute scripts, you can use theinitial-install.sql
file from the release zip. -
In the browser, login with credentials
admin
:asdfasdf
and change the password.
The Engelsystem can now be used.
Session Settings
- Make sure the config allows for sessions.
- Both Apache and Nginx allow for different VirtualHost configurations.
Docker
Build
To build the es_server
container:
cd docker
docker compose build
or to build the container by its own:
docker build -f docker/Dockerfile . -t es_server
Run
Start the Engelsystem
cd docker
docker compose up -d
Set Up / Migrate Database
Create 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/migrate
Scripts
bin/deploy.sh
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
bin/migrate
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
Documentation
More documentation can be found at: https://engelsystem.de/doc/