add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks - Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists - Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services - Add Microsoft OIDC SSO, API token management, and user lifecycle features - Add swagger-ui vendor integration and OpenAPI spec - Add production Docker setup and bin/ scripts - Update composer dependencies, config, templates, and frontend assets throughout Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
BIN
docker/.DS_Store
vendored
BIN
docker/.DS_Store
vendored
Binary file not shown.
1
docker/nginx/certs/.gitkeep
Normal file
1
docker/nginx/certs/.gitkeep
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
@@ -2,6 +2,8 @@ server {
|
||||
listen 80;
|
||||
server_name _;
|
||||
|
||||
client_max_body_size 10M;
|
||||
|
||||
root /var/www/web;
|
||||
index index.php;
|
||||
|
||||
|
||||
51
docker/nginx/prod.conf
Normal file
51
docker/nginx/prod.conf
Normal file
@@ -0,0 +1,51 @@
|
||||
server {
|
||||
listen 80;
|
||||
server_name example.com www.example.com;
|
||||
|
||||
return 301 https://$host$request_uri;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 443 ssl http2;
|
||||
server_name example.com www.example.com;
|
||||
|
||||
client_max_body_size 10M;
|
||||
|
||||
ssl_certificate /etc/nginx/certs/fullchain.pem;
|
||||
ssl_certificate_key /etc/nginx/certs/privkey.pem;
|
||||
ssl_protocols TLSv1.2 TLSv1.3;
|
||||
ssl_session_timeout 1d;
|
||||
ssl_session_cache shared:SSL:10m;
|
||||
ssl_session_tickets off;
|
||||
|
||||
add_header X-Content-Type-Options "nosniff" always;
|
||||
add_header X-Frame-Options "SAMEORIGIN" always;
|
||||
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
|
||||
|
||||
root /var/www/web;
|
||||
index index.php;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php?$query_string;
|
||||
}
|
||||
|
||||
location ~ \.php$ {
|
||||
include fastcgi_params;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_param HTTPS on;
|
||||
fastcgi_param HTTP_X_FORWARDED_PROTO https;
|
||||
fastcgi_pass php:9000;
|
||||
}
|
||||
|
||||
location ~* \.mjs$ {
|
||||
default_type application/javascript;
|
||||
try_files $uri =404;
|
||||
expires 30d;
|
||||
access_log off;
|
||||
}
|
||||
|
||||
location ~* \.(css|js|png|jpg|jpeg|gif|svg|ico|webp)$ {
|
||||
expires 30d;
|
||||
access_log off;
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,7 @@ RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
git \
|
||||
unzip \
|
||||
libzip-dev \
|
||||
libmemcached-dev \
|
||||
zlib1g-dev \
|
||||
libssl-dev \
|
||||
@@ -13,7 +14,7 @@ RUN apt-get update \
|
||||
&& pecl install memcached \
|
||||
&& docker-php-ext-enable memcached \
|
||||
&& docker-php-ext-configure gd --with-jpeg --with-webp \
|
||||
&& docker-php-ext-install pdo_mysql mysqli gd \
|
||||
&& docker-php-ext-install pdo_mysql mysqli gd zip \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
|
||||
|
||||
@@ -2,3 +2,5 @@ display_errors=1
|
||||
display_startup_errors=1
|
||||
error_reporting=E_ALL
|
||||
memory_limit=256M
|
||||
upload_max_filesize=10M
|
||||
post_max_size=12M
|
||||
|
||||
7
docker/php/php.prod.ini
Normal file
7
docker/php/php.prod.ini
Normal file
@@ -0,0 +1,7 @@
|
||||
display_errors=0
|
||||
display_startup_errors=0
|
||||
error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT
|
||||
log_errors=1
|
||||
memory_limit=256M
|
||||
upload_max_filesize=10M
|
||||
post_max_size=12M
|
||||
Reference in New Issue
Block a user