- Fix EasyAdmin 5 routing: #[AdminDashboard] attribute + easyadmin.routes loader - Fix login: _username/_password field names, CSRF stateless token config, sessions directory, Opcache reload after cache:clear - Add MistralClient behind OllamaClientInterface — switchable via services.yaml alias - Add Attribute CRUD with EnumType form + ChoiceField display (enum-safe rendering) - Add Article Type CRUD with AssociationField for attribute assignments - Add app:api-keys:create console command (bcrypt-hashed, never stored as plaintext) - Add redis ext to Docker image + symfony/redis-messenger, start workers - Translate all UI strings to English - Add tests: MistralClient, ApiKey, CreateApiKeyCommand, StringArrayType, ArticleTypeCrudController, AttributeDefinitionCrudController (82 tests total) - Update design doc: tech stack, AI backend switching guide, ops section Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
23 lines
496 B
Docker
23 lines
496 B
Docker
FROM php:8.4-fpm-alpine
|
|
|
|
RUN apk add --no-cache \
|
|
postgresql-dev \
|
|
icu-dev \
|
|
libzip-dev \
|
|
unzip \
|
|
git \
|
|
$PHPIZE_DEPS \
|
|
&& docker-php-ext-install \
|
|
pdo_pgsql \
|
|
intl \
|
|
zip \
|
|
opcache \
|
|
&& pecl install redis \
|
|
&& docker-php-ext-enable redis \
|
|
&& apk del $PHPIZE_DEPS
|
|
|
|
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
|
|
|
|
WORKDIR /var/www
|
|
|
|
COPY docker/app/php.ini /usr/local/etc/php/conf.d/app.ini
|