Add Docker build/push and Dockge deploy workflow

- Add api/admin/upload Dockerfiles and .dockerignore
- Add deploy/docker-compose.yml (ports 3001-3004) and deploy/README.md
- Add scripts/docker-build-push.sh for Gitea registry push
- Add Gitea/SSH scripts and Google Drive controller updates

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-02-03 13:36:11 +01:00
parent eb304f4b14
commit b333198d7e
18 changed files with 455 additions and 7 deletions

42
api/Dockerfile Normal file
View File

@@ -0,0 +1,42 @@
# event-uploader API Laravel. Same image used for api and queue (different command).
FROM php:8.3-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)
COPY composer.json composer.lock ./
RUN composer install --no-dev --optimize-autoloader --no-interaction
# Application
COPY . .
# .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"]