Giter Site home page Giter Site logo

engelsystem.de's Introduction

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

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 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 following lists, set the value of the entry to null:
      • themes
      • tshirt_sizes
      • headers
      • header_items
      • footer_items
      • locales
      • contact_options
  • 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/

engelsystem.de's People

Contributors

msquare avatar myigel avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

engelsystem.de's Issues

Unable to run dev version locally

I was trying to run the unaltered version of this repo, but it failed (see below).

The README also does not contain info on where the pages would be served (localhost:<PORT>). This could be added :)

What I did

At first, I ran the Setup command:

docker run -it --rm -v "$PWD":/app composer install

and then the Dev command:

docker run -it --rm \
>   -v "$PWD":/var/www/ \
>   -v "$PWD/public":/var/www/html/ \
>   --name engelsystem.de \
>   php:apache \
>   sh -c 'a2enmod rewrite && docker-php-entrypoint apache2-foreground'

For the latter, I get the following

Unable to find image 'php:apache' locally
apache: Pulling from library/php
f7a1c6dad281: Pull complete 
418d05f34fc8: Pull complete 
12340edc305c: Pull complete 
505a3ac77996: Pull complete 
508288175cbf: Pull complete 
55c636ebd5df: Pull complete 
22c6b8d33038: Pull complete 
0a5dacc2f51f: Pull complete 
0191aea61ba9: Pull complete 
f0a15705b8e9: Pull complete 
2e96f5a85a73: Pull complete 
ec333164c775: Pull complete 
410c12528910: Pull complete 
Digest: sha256:36e9f88df6d2f6a9c47bdc33fc24e9126cf14c647d2ca959ccccd2976a4fa2be
Status: Downloaded newer image for php:apache
Enabling module rewrite.
To activate the new configuration, you need to run:
  service apache2 restart
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
[Sun Mar 13 20:20:59.471086 2022] [mpm_prefork:notice] [pid 16] AH00163: Apache/2.4.52 (Debian) PHP/8.1.3 configured -- resuming normal operations
[Sun Mar 13 20:20:59.471232 2022] [core:notice] [pid 16] AH00094: Command line: 'apache2 -D FOREGROUND'
[Sun Mar 13 20:23:32.013070 2022] [mpm_prefork:notice] [pid 16] AH00170: caught SIGWINCH, shutting down gracefully```

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.