22FROM php:8-fpm AS builder
33
44# Install build dependencies
5- RUN apt-get update && apt-get install -y curl unzip && rm -rf /var/lib/apt/lists/*
5+ RUN apt-get update && apt-get install -y curl unzip libyaml-dev && rm -rf /var/lib/apt/lists/*
6+
7+ # Install PHP extensions for build
8+ RUN pecl install yaml && docker-php-ext-enable yaml
69
710# Install Composer
811COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
@@ -15,10 +18,14 @@ RUN curl -sLO https://github.com/tailwindlabs/tailwindcss/releases/latest/downlo
1518# Copy application
1619WORKDIR /var/www/html
1720COPY app/ .
21+ COPY config.yaml ../config.yaml
1822
1923# Install Laravel dependencies
2024RUN composer install --no-dev --optimize-autoloader
2125
26+ # # Generate APP_KEY
27+ # RUN php artisan key:generate --force
28+
2229# Build Tailwind CSS
2330RUN tailwindcss -i ./resources/css/app.css -o ./public/css/app.css --minify
2431
@@ -32,16 +39,19 @@ RUN useradd -m -u 1000 appuser
3239RUN apt-get update && apt-get install -y \
3340 nginx \
3441 redis-server \
42+ libyaml-dev \
3543 && rm -rf /var/lib/apt/lists/*
3644
3745# Install PHP extensions
3846RUN docker-php-ext-install pdo pdo_mysql \
39- && pecl install redis \
40- && docker-php-ext-enable redis
47+ && pecl install redis yaml \
48+ && docker-php-ext-enable redis yaml
4149
4250# Copy application from builder
4351WORKDIR /var/www/html
4452COPY --from=builder --chown=appuser:appuser /var/www/html .
53+ COPY --chown=appuser:appuser config.yaml ../config.yaml
54+ COPY --chown=appuser:appuser entrypoint.sh /entrypoint.sh
4555
4656# Copy configs
4757COPY nginx/nginx.conf /etc/nginx/nginx.conf
@@ -51,10 +61,12 @@ COPY redis/redis.conf /etc/redis/redis.conf
5161RUN chown -R appuser:appuser /var/www/html \
5262 && chown -R appuser:appuser /var/log/nginx \
5363 && chown -R appuser:appuser /var/lib/nginx \
54- && mkdir -p /run/php /var/run/redis \
55- && chown -R appuser:appuser /run/php /var/run/redis \
64+ && chown -R appuser:appuser /etc/redis \
65+ && mkdir -p /run/php /var/run/redis /var/lib/admin-data/redis /var/lib/admin-data/sqlite \
66+ && chown -R appuser:appuser /run/php /var/run/redis /var/lib/admin-data \
5667 && touch /run/nginx.pid \
57- && chown appuser:appuser /run/nginx.pid
68+ && chown appuser:appuser /run/nginx.pid \
69+ && chmod +x /entrypoint.sh
5870
5971# Switch to non-root user
6072USER appuser
@@ -63,4 +75,4 @@ USER appuser
6375EXPOSE 8080
6476
6577# Start services
66- CMD ["/bin/sh" , "-c" , "redis-server /etc/redis/redis.conf --daemonize yes && php-fpm & nginx -g 'daemon off;' " ]
78+ CMD ["/entrypoint.sh " ]
0 commit comments