Skip to content

Latest commit

 

History

History
126 lines (92 loc) · 3.62 KB

README.md

File metadata and controls

126 lines (92 loc) · 3.62 KB

Beschlussarchiv

Gepflegte Beschlussbücher

Jahr Status Kommentar
2023 Assume amendments are integrated already
2022 Done
2021 Done
2020 Done
2019 Done
2018
2017
2016
2015

How to Install Composer Packages

The Repo doesn't ship with the vendor folder, you'll have to install it with composer.

Install it from within a temporary Docker Container:

docker run --rm -v ${PWD}:/app composer install --ignore-platform-req=ext-pcntl

Now you can start the Dev Container with

./vendor/bin/sail up

Add CLI XDEBUG

Add an Alias to debug artisan commands:

alias artisan-debug="php -dxdebug.mode=debug -dxdebug.client_host=host.docker.internal -dxdebug.client_port=9003 -dxdebug.start_with_request=yes artisan"

Common Problems

No CSS after Deployment

Solution: Restart PHP FPM

sudo /etc/init.d/php8.3-fpm restart

Supervisor Config for Message Queue Worker

[program:message_queue_worker]
process_name=%(program_name)s_%(process_num)02d
command=php {APP_DIR}/current artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
user={USER}
numprocs=1
redirect_stderr=true
stdout_logfile={PATH_TO_APP}/shared/storage/logs/queue_worker.log

Systemd Services

Redis

[Unit]
Description=Redis Service

[Service]
WorkingDirectory=%h/redis
Environment="PATH=/usr/local/bin:/usr/bin:/bin"
ExecStart=/usr/bin/redis-server %h/redis/etc/redis.conf
Restart=always
PrivateTmp=true
NoNewPrivileges=true

[Install]
WantedBy=default.target

Meilisearch (Search Engine)

[Unit]
Description=Meilisearch
After=systemd-user-sessions.service

[Service]
WorkingDirectory={MEILISEARCH_DIR}
ExecStart={MEILISEARCH_DIR}/bin/meilisearch --config-file-path {MEILISEARCH_DIR}/config.toml
Restart=on-failure

[Install]
WantedBy=multi-user.target

Monitoring

Basic Resource Monitoring: Prometheus

Single Sign On with Keycloak

This application suppports Keycloak as an Identity Provider for logging in in the Backend.

Configuration

KEYCLOAK_ENABLED=true
KEYCLOAK_CLIENT_ID="{{CLIENT_ID}}"
KEYCLOAK_CLIENT_SECRET="{{CLIENT_SECRET}}"
KEYCLOAK_REDIRECT_URI="http://{{APP_URL}}/auth/keycloak/callback"
KEYCLOAK_BASE_URL="http://{{KEYCLOAK_URL}}"
KEYCLOAK_REALM="{{REALM}}"

The Users must have a Keycloak Role assigned in oder to access councils in the Backend. Roles are expected in this syntax: council:bundesebene Assigning a User this Role grants access to the Council "Bundesebene".

A user can be assigned Admin with the Role beschlussarchiv:admin