Replace the Gitea Actions SSH deploy with a Docker image (serversideup/php fpm-nginx) and docker-compose setup. Store the SQLite database inside the persistent storage volume, trust the reverse proxy, and move admin credentials into config so they work with cached configuration. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
40 lines
1.1 KiB
Docker
40 lines
1.1 KiB
Docker
# --- Сборка фронтенда (Vite) ---
|
|
FROM node:22-alpine AS assets
|
|
WORKDIR /app
|
|
COPY package.json package-lock.json ./
|
|
RUN npm ci
|
|
COPY vite.config.js ./
|
|
COPY resources ./resources
|
|
RUN npm run build
|
|
|
|
# --- PHP-зависимости ---
|
|
FROM serversideup/php:8.4-cli AS vendor
|
|
WORKDIR /var/www/html
|
|
COPY composer.json composer.lock ./
|
|
RUN composer install --no-dev --no-interaction --prefer-dist --no-scripts --no-autoloader
|
|
|
|
# --- Итоговый образ: nginx + php-fpm ---
|
|
FROM serversideup/php:8.4-fpm-nginx
|
|
|
|
ENV PHP_OPCACHE_ENABLE=1 \
|
|
AUTORUN_ENABLED=true \
|
|
APP_ENV=production \
|
|
APP_DEBUG=false \
|
|
LOG_CHANNEL=stderr \
|
|
DB_CONNECTION=sqlite \
|
|
DB_DATABASE=/var/www/html/storage/database/database.sqlite
|
|
|
|
WORKDIR /var/www/html
|
|
|
|
COPY --chown=www-data:www-data --from=vendor /var/www/html/vendor ./vendor
|
|
COPY --chown=www-data:www-data . .
|
|
COPY --chown=www-data:www-data --from=assets /app/public/build ./public/build
|
|
|
|
USER root
|
|
COPY --chmod=755 docker/entrypoint.d/ /etc/entrypoint.d/
|
|
USER www-data
|
|
|
|
RUN composer dump-autoload --optimize --no-dev
|
|
|
|
EXPOSE 8080
|