Erweiterte Features (2/2): Cleanup/DSGVO, Webhooks, REST-API, Backup, CI, Docker
- Auto-Cleanup/DSGVO: cron_cleanup.php (token-geschützt) löscht abgelaufene Voucher, Audit-Log, Login-Versuche und Reset-Tokens nach konfigurierbaren Fristen - Webhooks: includes/Notifier.php (Slack/Teams/generisch), Auslösung bei Voucher-Erstellung (Web + API) - REST-API: includes/ApiKey.php (SHA-256, Präfix-Lookup), api/bootstrap.php, api/vouchers.php (GET/POST), api/sites.php; admin/api_keys.php zur Verwaltung - Config-Backup/Restore: admin/backup.php (JSON Export/Import, Cron-Token geschützt) - admin/integrations.php: Trusted-Proxy, Webhook, Cleanup-Fristen - CI: .github/workflows/ci.yml (php -l auf 7.4 & 8.2, lang-Validierung) - Docker: Dockerfile, docker-compose.yml (MariaDB), entrypoint (config aus ENV), .dockerignore - Nav + i18n (DE/EN) für alle neuen Admin-Seiten
This commit is contained in:
parent
eec28f77b8
commit
9463486225
18 changed files with 972 additions and 0 deletions
29
Dockerfile
Normal file
29
Dockerfile
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
# UniFi Voucher Management System – Container-Image
|
||||
FROM php:8.2-apache
|
||||
|
||||
# PHP-Extensions
|
||||
RUN docker-php-ext-install pdo pdo_mysql \
|
||||
&& a2enmod rewrite headers
|
||||
|
||||
# Empfohlene PHP-Einstellungen
|
||||
RUN { \
|
||||
echo 'display_errors=0'; \
|
||||
echo 'log_errors=1'; \
|
||||
echo 'expose_php=0'; \
|
||||
echo 'upload_max_filesize=8M'; \
|
||||
echo 'post_max_size=8M'; \
|
||||
} > /usr/local/etc/php/conf.d/zz-voucher.ini
|
||||
|
||||
WORKDIR /var/www/html
|
||||
COPY . /var/www/html
|
||||
|
||||
# Laufzeit-Verzeichnis des Updaters beschreibbar machen
|
||||
RUN mkdir -p /var/www/html/updater/storage \
|
||||
&& chown -R www-data:www-data /var/www/html
|
||||
|
||||
COPY docker/entrypoint.sh /usr/local/bin/entrypoint.sh
|
||||
RUN chmod +x /usr/local/bin/entrypoint.sh
|
||||
|
||||
EXPOSE 80
|
||||
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|
||||
CMD ["apache2-foreground"]
|
||||
Loading…
Add table
Add a link
Reference in a new issue