f860ce5e5c
- Added NTP service initialization to ensure accurate time synchronization within the container. - Modified cron job command to run all fetch tasks, improving scheduled task management. - Included additional echo statements for better logging during the setup process. These changes improve the Docker environment's reliability and enhance the functionality of scheduled tasks in the Laravel application.
77 lines
2.4 KiB
Docker
Executable File
77 lines
2.4 KiB
Docker
Executable File
# Laravel için PHP 8.2 resmi imajını kullanıyoruz
|
||
FROM php:8.2-fpm
|
||
|
||
|
||
# Çalışma dizinini belirleyelim
|
||
WORKDIR /var/www
|
||
|
||
# Gerekli bağımlılıkları yükleyelim
|
||
RUN apt-get update && apt-get install -y \
|
||
git \
|
||
unzip \
|
||
curl \
|
||
libpng-dev \
|
||
libonig-dev \
|
||
libxml2-dev \
|
||
zip \
|
||
cron \
|
||
ntp \
|
||
&& service cron start && \
|
||
ntpd -gq && \
|
||
ntpd && \
|
||
docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd \
|
||
&& echo "* * * * * cd /var/www && php /var/www/artisan run-all-fetchs >> /dev/null 2>&1" >> /etc/cron.d/laravel-cron \
|
||
&& chmod 0644 /etc/cron.d/laravel-cron \
|
||
&& crontab /etc/cron.d/laravel-cron
|
||
|
||
# Composer'ı yükleyelim
|
||
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
|
||
|
||
# Laravel proje dosyalarını kopyalayalım
|
||
COPY . .
|
||
|
||
|
||
# Gerekli dizinleri oluşturma
|
||
RUN mkdir -p /var/www/storage/app/private/scribe
|
||
|
||
# Start of Selection
|
||
RUN set -x && \
|
||
echo "Dosya izinleri ayarlanıyor..." && \
|
||
chown -R www-data:www-data /var/www && \
|
||
echo "chown komutu tamamlandı" && \
|
||
find /var/www -type d -exec chmod 775 {} \; && \
|
||
echo "Dizin izinleri ayarlandı" && \
|
||
find /var/www -type f -exec chmod 664 {} \; && \
|
||
echo "Dosya izinleri ayarlandı" && \
|
||
chmod -R 775 /var/www/storage && \
|
||
echo "Storage izinleri ayarlandı" && \
|
||
chmod -R 775 /var/www/bootstrap/cache && \
|
||
echo "Cache izinleri ayarlandı" && \
|
||
chmod -R 775 /var/www/storage/framework/views && \
|
||
echo "Views izinleri ayarlandı" && \
|
||
chmod -R 775 /var/www/public && \
|
||
echo "Public dizin izinleri ayarlandı"
|
||
# Laravel uygulamasını başlatma ve loglama
|
||
|
||
RUN set -x && \
|
||
# echo "Laravel kurulum komutları başlatılıyor..." && \
|
||
# php artisan migrate && \
|
||
# echo "Migrasyon tamamlandı" && \
|
||
php artisan key:generate && \
|
||
echo "Uygulama anahtarı oluşturuldu" && \
|
||
php artisan config:cache && \
|
||
echo "Konfigürasyon önbelleğe alındı" && \
|
||
php artisan route:cache && \
|
||
echo "Rotalar önbelleğe alındı" && \
|
||
php artisan view:cache && \
|
||
echo "Görünümler önbelleğe alındı" && \
|
||
php artisan storage:link && \
|
||
echo "Storage sembolik bağlantısı oluşturuldu" && \
|
||
php artisan scribe:generate && \
|
||
echo "API dokümantasyonu oluşturuldu" && \
|
||
echo "Laravel uygulaması başarıyla başlatıldı.";
|
||
|
||
|
||
RUN service cron start && \
|
||
echo "Cron başlatıldı"
|