feat: max-bot-test initial — full surface coverage
Some checks failed
Deploy Max Bot Test / deploy (push) Failing after 3s
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:
31
Dockerfile
Normal file
31
Dockerfile
Normal 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"]
|
||||
Reference in New Issue
Block a user