Files
event-uploader/api/Dockerfile
bert.hausmans 65b41ba266 Fix Docker builds, TS errors, and deploy config
- API: PHP 8.4, composer install --no-scripts + dump-autoload after COPY
- Admin: fix TS (Event.upload_password, unused router, api XSRF, window.open)
- Upload: Uppy v5 (hideProgressDetails, headers, destroy), unused watch, api XSRF
- Build script: loop over api/admin/upload, push :latest as well as VERSION
- Deploy: MySQL from docker.io, platform linux/amd64; README troubleshooting

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-03 14:00:09 +01:00

46 lines
1.3 KiB
Docker
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# event-uploader API Laravel. Same image used for api and queue (different command).
FROM php:8.4-cli-alpine
# PHP extensions for Laravel + MySQL + Google etc.
RUN apk add --no-cache \
git \
unzip \
libzip-dev \
libpng-dev \
libxml2-dev \
oniguruma-dev \
&& docker-php-ext-install -j$(nproc) \
pdo_mysql \
gd \
fileinfo \
mbstring \
xml \
zip \
pcntl \
bcmath
# Composer
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
ENV COMPOSER_ALLOW_SUPERUSER=1
WORKDIR /app
# Dependencies first (better layer cache). --no-scripts so Laravel's post-autoload-dump (artisan) is not run yet.
COPY composer.json composer.lock ./
RUN composer install --no-dev --optimize-autoloader --no-interaction --no-scripts
# Application
COPY . .
# Regenerate autoloader and run Laravel's post-install scripts (e.g. package:discover) now that artisan exists
RUN composer dump-autoload --optimize --no-dev
# .env and APP_KEY are provided at runtime via compose
# Writable dirs (runtime will mount or use defaults)
RUN mkdir -p storage/framework/cache storage/framework/sessions storage/framework/views storage/logs bootstrap/cache \
&& chmod -R 775 storage bootstrap/cache
EXPOSE 8000
CMD ["php", "artisan", "serve", "--host=0.0.0.0", "--port=8000"]