initial: bootstrap from BukidBountyApp base

This commit is contained in:
Jonathan Sykes
2026-06-06 18:43:00 +08:00
commit eb4a5731fb
5674 changed files with 160857 additions and 0 deletions

41
Dockerfile.php Normal file
View File

@@ -0,0 +1,41 @@
FROM hyperf/hyperf:8.3-alpine-v3.19-swoole-v6
USER root
# Install system deps
RUN apk add --no-cache \
postgresql-dev \
php83-pdo_pgsql \
php83-pgsql \
7zip \
curl
# Install Node
RUN curl -fsSL https://unofficial-builds.nodejs.org/download/release/v20.19.0/node-v20.19.0-linux-x64-musl.tar.gz \
| tar -xz -C /usr/local --strip-components=1 \
&& node -v \
&& npm -v
# Enable PHP extensions
RUN echo "extension=pdo_pgsql.so" > /etc/php83/conf.d/01_pdo_pgsql.ini && \
echo "extension=pgsql.so" > /etc/php83/conf.d/00_pgsql.ini
WORKDIR /var/app
# ✅ Copy composer files FIRST (for caching + correctness)
COPY composer.json composer.lock ./
RUN composer install --no-dev --optimize-autoloader
# ✅ Copy package files and install frontend deps
COPY package*.json ./
RUN npm install
# ✅ Copy the rest of the app
COPY . .
# Build frontend
RUN npm run build
EXPOSE 9501
CMD ["php", "artisan", "serve"]