Go to file
Lotte Steenbrink 50b1abe0d1 README: make it clearer that you have to run `migrate` on fresh installs too 2024-01-16 14:33:33 +01:00
bin Lint & fix translations 2023-12-15 11:13:30 +01:00
config Remove inline js 2023-12-29 13:06:53 +01:00
db Replace empty or too short api keys instead of resetting them 2024-01-08 10:57:09 +01:00
docker API: Show from schedule via shift type, added comments 2024-01-08 10:57:09 +01:00
includes error admin_user.php nick or email already exits 2024-01-13 17:20:58 +01:00
public Set strict types everywhere (except includes) 2023-02-03 20:55:58 +01:00
resources error admin_user.php nick or email already exits 2024-01-13 17:20:58 +01:00
src API: Set access-control-allow-origin header on api responses, trim bearer api key 2024-01-08 10:57:09 +01:00
storage storage/: .gitignore fixups 2019-10-06 17:11:06 +02:00
tests API: Set access-control-allow-origin header on api responses, trim bearer api key 2024-01-08 10:57:09 +01:00
.babelrc Use core-js as polyfill to really support older browsers. 2019-07-26 12:40:21 +02:00
.browserslistrc Use core-js as polyfill to really support older browsers. 2019-07-26 12:40:21 +02:00
.dockerignore Docker: Use single container for server 2022-04-29 20:22:08 +02:00
.editorconfig Add prettier 2022-12-23 02:20:43 +01:00
.eslintignore Add eslint 2022-11-27 16:31:32 +01:00
.eslintrc.json Remove function-paren-newline from ESLint, covered by prettier 2022-12-23 19:21:02 +01:00
.gitignore Add public/fahrplan.xml to .gitignore 2023-01-31 15:20:09 +01:00
.gitlab-ci.yml CI: Remove api key on db dump 2024-01-10 15:04:49 +01:00
.phpcs.xml Require comma at last array element and no single line space 2023-02-09 18:19:38 +01:00
.prettierrc.json Add prettier 2022-12-23 02:20:43 +01:00
CONTRIBUTING.md Updated contributing guidelines: Clarified includes 2023-03-31 14:30:51 +02:00
DEVELOPMENT.md Lint & fix translations 2023-12-15 11:13:30 +01:00
LICENSE directory renames and cleanup 2011-06-11 18:08:56 +02:00
README.md README: make it clearer that you have to run `migrate` on fresh installs too 2024-01-16 14:33:33 +01:00
SECURITY.md Update SECURITY.md 2023-10-13 10:16:17 +02:00
composer.json Update composer packages 2023-12-27 16:57:58 +01:00
composer.lock Update composer packages 2023-12-27 16:57:58 +01:00
deployment.tpl.yaml k8s: Use traefik as default ingress, added improved app url handling to support subpath deployments 2022-10-14 13:36:11 +02:00
package.json Bump postcss from 8.4.21 to 8.4.31 2023-10-08 12:48:02 +02:00
phpstan.neon.dist Bump minimum PHP version to 8.1 and update packages 2022-12-13 22:03:08 +01:00
phpunit.xml Require @covers annotation for tests, increase workspace mem limit to 512M, improved coverage for db factories 2022-06-02 13:18:37 +02:00
webpack.config.js improve webpack.config.js 2023-02-15 17:51:15 +01:00
yarn.lock Bump @babel/traverse from 7.20.13 to 7.23.2 2023-10-19 17:44:51 +02:00

README.md

pipeline status coverage report GPL

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
  • MySQL-Server >= 5.7.8 or MariaDB-Server >= 10.2.2
  • Webserver, i.e. lighttpd, nginx, or Apache

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 and mod_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 from config/config.default.php.

    • To disable/remove values from the themes, tshirt_sizes, headers, header_items, footer_items, or locales lists, set the value of the entry to null.
  • To import the database, the bin/migrate script has to be run. If you can't execute scripts, you can use the initial-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/