Refactor Docker setup and update API documentation

- Renamed Dockerfile to lowercase for consistency and clarity.
- Introduced a new Dockerfile for the Laravel application, utilizing PHP 8.2 and installing necessary dependencies, including NTP for time synchronization.
- Removed the docker-entrypoint.sh script, which previously generated API documentation, streamlining the container startup process.
- Updated API documentation with new response formats and example values for `currencyName` and `goldName`, enhancing clarity and usability.
- Adjusted endpoint responses to reflect the latest currency and gold rates, ensuring accurate data delivery.

These changes improve the Docker environment and enhance the API's documentation and response accuracy, contributing to a more robust application setup.
This commit is contained in:
Ümit Tunç
2025-01-21 09:28:15 +03:00
parent 677da3892d
commit 3e10131f81
5 changed files with 20 additions and 46 deletions
+69
View File
@@ -0,0 +1,69 @@
# 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 \
&& docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd \
&& echo "* * * * * cd /var/www && php artisan schedule:run >> /dev/null 2>&1" >> /etc/cron.d/laravel-cron \
&& chmod 0644 /etc/cron.d/laravel-cron \
&& crontab /etc/cron.d/laravel-cron \
&& service cron start
# 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ı.";