build: M1 Dockerized development stack with PHP skeleton, config/logging, Tailwind assets, and wrappers
Implements MeshVault M1 (issues #6–11): - Four-service Docker Compose stack (nginx, PHP-FPM 8.3, PostgreSQL 17, Node assets) - Slim 4 + PHP-DI routing with escaped PHP views and production/dev error handling - Immutable validated AppConfig with redacted diagnostics - JSON stdout Monolog logging with job-scoped context - Tailwind CSS v4 deterministic locked builds with template scanning - POSIX and PowerShell dev wrappers (up/down/test/lint/assets/watch) - Startup config validation fails before FPM serves as unprivileged www-data - migrate/seed explicitly unavailable until M2 (#12); #10 remains open Verified via clean-start acceptance on remote host (keith@192.168.2.23).
This commit is contained in:
1 parent
c2747a5762
commit
d3e8cf8fae
39 files changed
+5291
-38
No files matched your search
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use MeshVault\Config\AppConfig;
|
||||
use MeshVault\Http\View;
|
||||
use MeshVault\Logging\LoggerFactory;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
return static fn (AppConfig $config): array => [
|
||||
AppConfig::class => $config,
|
||||
View::class => new View(dirname(__DIR__) . '/templates'),
|
||||
LoggerInterface::class => static fn (): LoggerInterface => LoggerFactory::create($config),
|
||||
];
|
||||
Reference in new issue
Block a user