feat: max-bot-test initial — full surface coverage
Some checks failed
Deploy Max Bot Test / deploy (push) Failing after 3s

- Slim 4 PSR-15 webhook, PHP-DI 7, Symfony Console 8
- 13 update handlers, 30+ command scenarios, all 7 button types
- Composer pulls pkirillw/max-bot-api-php from GitHub vcs
- Multi-stage Dockerfile (php-fpm 8.4-alpine) + nginx
- docker-compose.yml targets server (npm_default external)
- docker-compose.override.yml for local dev (gitignored)
- .gitea/workflows/deploy.yml mirrors ghost-blog-bot pattern

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
pkirillw
2026-06-18 00:01:06 +03:00
commit 9385fbdd6e
60 changed files with 7191 additions and 0 deletions

31
Dockerfile Normal file
View File

@@ -0,0 +1,31 @@
FROM php:8.4-fpm-alpine AS base
RUN apk add --no-cache \
libzip-dev \
zlib-dev \
unzip \
git \
curl \
&& docker-php-ext-install zip pcntl \
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
WORKDIR /var/www/html
# --- builder: composer install without dev deps, no scripts ---
FROM base AS builder
COPY composer.json composer.lock ./
RUN composer install --no-dev --no-scripts --no-plugins --prefer-dist --no-interaction
# --- runtime: copy app code on top of vendor/ ---
FROM base AS runtime
COPY --from=builder /var/www/html/vendor /var/www/html/vendor
COPY composer.json composer.lock ./
COPY bin ./bin
COPY config ./config
COPY public ./public
COPY src ./src
COPY storage ./storage
RUN chown -R www-data:www-data /var/www/html/storage
CMD ["php-fpm"]