gengx
This commit is contained in:
+63
@@ -0,0 +1,63 @@
|
||||
# syntax=docker/dockerfile:1.7
|
||||
|
||||
FROM node:22-alpine AS frontend-builder
|
||||
WORKDIR /workspace
|
||||
|
||||
COPY frontend/package.json frontend/package-lock.json ./frontend/
|
||||
COPY frontend-admin/package.json frontend-admin/package-lock.json ./frontend-admin/
|
||||
RUN --mount=type=cache,target=/root/.npm \
|
||||
npm --prefix frontend ci && npm --prefix frontend-admin ci
|
||||
|
||||
COPY frontend ./frontend
|
||||
COPY frontend-admin ./frontend-admin
|
||||
COPY scripts ./scripts
|
||||
COPY backend/public ./backend/public
|
||||
RUN npm --prefix frontend run build && npm --prefix frontend-admin run build
|
||||
|
||||
FROM php:8.2-fpm-bookworm AS app
|
||||
WORKDIR /var/www/backend
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
curl \
|
||||
ffmpeg \
|
||||
fonts-noto-cjk \
|
||||
libfreetype6-dev \
|
||||
libjpeg62-turbo-dev \
|
||||
libonig-dev \
|
||||
libpng-dev \
|
||||
libwebp-dev \
|
||||
libzip-dev \
|
||||
poppler-utils \
|
||||
unzip \
|
||||
&& docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp \
|
||||
&& docker-php-ext-install -j"$(nproc)" gd mbstring pdo_mysql zip \
|
||||
&& mkdir -p /usr/local/share/cosyvoice \
|
||||
&& curl -fsSL --retry 3 \
|
||||
https://raw.githubusercontent.com/FunAudioLLM/CosyVoice/main/asset/zero_shot_prompt.wav \
|
||||
-o /usr/local/share/cosyvoice/zero_shot_prompt.wav \
|
||||
&& echo "c7b31d6dbe7cc6a716dded00550db5b50940bf209e424e4ad207b12e657c8ff6 /usr/local/share/cosyvoice/zero_shot_prompt.wav" | sha256sum -c - \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY --from=composer:2 /usr/bin/composer /usr/local/bin/composer
|
||||
COPY backend/composer.json backend/composer.lock ./
|
||||
RUN --mount=type=cache,target=/tmp/composer-cache \
|
||||
COMPOSER_CACHE_DIR=/tmp/composer-cache composer install \
|
||||
--no-dev --no-interaction --no-progress --prefer-dist \
|
||||
--no-scripts --optimize-autoloader
|
||||
|
||||
COPY backend ./
|
||||
COPY --from=frontend-builder /workspace/backend/public ./public
|
||||
RUN composer run-script post-autoload-dump --no-interaction \
|
||||
&& mkdir -p runtime uploads storage/cosyvoice \
|
||||
&& chown -R www-data:www-data runtime uploads storage
|
||||
|
||||
COPY deploy/docker/php.ini /usr/local/etc/php/conf.d/99-app.ini
|
||||
COPY deploy/docker/php-fpm.conf /usr/local/etc/php-fpm.d/zz-app.conf
|
||||
COPY deploy/docker/app-entrypoint.sh /usr/local/bin/app-entrypoint
|
||||
RUN chmod +x /usr/local/bin/app-entrypoint
|
||||
ENTRYPOINT ["app-entrypoint"]
|
||||
|
||||
FROM nginx:1.28-alpine AS web
|
||||
COPY deploy/docker/nginx.conf /etc/nginx/conf.d/default.conf
|
||||
COPY --from=frontend-builder /workspace/backend/public /var/www/backend/public
|
||||
Reference in New Issue
Block a user