feat: add comprehensive framework features and deployment improvements
Major additions: - Storage abstraction layer with filesystem and in-memory implementations - Gitea API integration with MCP tools for repository management - Console dialog mode with interactive command execution - WireGuard VPN DNS fix implementation and documentation - HTTP client streaming response support - Router generic result type - Parameter type validator for framework core Framework enhancements: - Console command registry improvements - Console dialog components - Method signature analyzer updates - Route mapper refinements - MCP server and tool mapper updates - Queue job chain and dependency commands - Discovery tokenizer improvements Infrastructure: - Deployment architecture documentation - Ansible playbook updates for WireGuard client regeneration - Production environment configuration updates - Docker Compose local configuration updates - Remove obsolete docker-compose.yml (replaced by environment-specific configs) Documentation: - PERMISSIONS.md for access control guidelines - WireGuard DNS fix implementation details - Console dialog mode usage guide - Deployment architecture overview Testing: - Multi-purpose attribute tests - Gitea Actions integration tests (typed and untyped)
This commit is contained in:
@@ -41,7 +41,7 @@ services:
|
||||
|
||||
php:
|
||||
container_name: php
|
||||
user: "${PHP_USER:-1000:1000}"
|
||||
user: "1000:1000" # Run as host user to prevent permission issues
|
||||
volumes:
|
||||
# Host-Mounts für direkten Zugriff (Development-friendly)
|
||||
- ./:/var/www/html:${VOLUME_MODE:-cached}
|
||||
@@ -83,47 +83,8 @@ services:
|
||||
- ./:/var/www/html:${VOLUME_MODE:-cached}
|
||||
# NOTE: env_file not needed - Framework automatically loads .env.base → .env.local
|
||||
|
||||
db:
|
||||
container_name: db
|
||||
ports:
|
||||
- "${DB_EXTERNAL_PORT:-5433}:5432"
|
||||
# Override environment to remove POSTGRES_PASSWORD (we use Docker Secrets via entrypoint)
|
||||
environment:
|
||||
POSTGRES_DB: ${DB_DATABASE:-michaelschiemer}
|
||||
POSTGRES_USER: ${DB_USERNAME:-postgres}
|
||||
# POSTGRES_PASSWORD is NOT set here - it's read from Docker Secret in entrypoint
|
||||
# Performance & Connection Settings
|
||||
POSTGRES_INITDB_ARGS: "-E UTF8 --locale=C"
|
||||
PGDATA: /var/lib/postgresql/data/pgdata
|
||||
secrets:
|
||||
- db_user_password
|
||||
# Use entrypoint to read password from Docker Secret
|
||||
# This overrides the base.yml POSTGRES_PASSWORD environment variable
|
||||
entrypoint: ["/bin/sh", "-c"]
|
||||
command:
|
||||
- |
|
||||
POSTGRES_PASSWORD=$$(cat /run/secrets/db_user_password 2>/dev/null || echo '')
|
||||
if [ -n "$$POSTGRES_PASSWORD" ]; then
|
||||
export POSTGRES_PASSWORD
|
||||
exec /usr/local/bin/docker-entrypoint.sh postgres -c config_file=/etc/postgresql/postgresql.conf
|
||||
else
|
||||
echo "⚠️ Warning: db_user_password secret not found, PostgreSQL may fail to start"
|
||||
exec /usr/local/bin/docker-entrypoint.sh postgres -c config_file=/etc/postgresql/postgresql.conf
|
||||
fi
|
||||
restart: ${RESTART_POLICY:-unless-stopped}
|
||||
logging:
|
||||
driver: "${LOG_DRIVER:-local}"
|
||||
options:
|
||||
max-size: "${LOG_MAX_SIZE:-5m}"
|
||||
max-file: "${LOG_MAX_FILE:-2}"
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: ${DB_MEMORY_LIMIT:-1G}
|
||||
cpus: ${DB_CPU_LIMIT:-1.0}
|
||||
reservations:
|
||||
memory: ${DB_MEMORY_RESERVATION:-512M}
|
||||
cpus: ${DB_CPU_RESERVATION:-0.5}
|
||||
# Database service removed - using external PostgreSQL Stack
|
||||
# Connection via app-internal network to external stack
|
||||
|
||||
redis:
|
||||
container_name: redis
|
||||
|
||||
Reference in New Issue
Block a user