fix docker
Some checks failed
Build, Push and Deploy / build-and-deploy (push) Failing after 1m46s
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 8s

This commit is contained in:
eko
2026-03-23 11:27:36 +07:00
parent c7e0273731
commit edfc0f0680
2 changed files with 28 additions and 37 deletions

View File

@@ -28,29 +28,25 @@ COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
WORKDIR /var/www/html
# Copy composer files first (for dependency caching)
# Copy ONLY composer files first (for better caching)
COPY composer.json composer.lock* ./
# Install dependencies BEFORE copying application files
RUN composer install --no-interaction --no-progress --optimize-autoloader
# Install dependencies (including laravel/prompts)
RUN composer install --no-dev --no-interaction --no-progress --optimize-autoloader
# Copy the rest of the application files
COPY --chown=www-data:www-data . .
# Create necessary directories
# Create storage directories after copying files
RUN mkdir -p storage/framework/{cache,sessions,views} \
&& mkdir -p storage/logs \
&& mkdir -p bootstrap/cache \
&& chmod -R 775 storage \
&& chmod -R 775 bootstrap/cache \
&& chown -R www-data:www-data storage bootstrap
&& chmod -R 777 storage \
&& chmod -R 777 bootstrap/cache
# Generate application key
# Generate key (after composer install and storage setup)
RUN php artisan key:generate --no-interaction --force
# Clear and cache configurations (optional)
RUN php artisan config:clear && php artisan cache:clear || true
# Copy entrypoint script
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh

View File

@@ -5,42 +5,37 @@ echo "========================================"
echo "Starting container setup..."
echo "========================================"
# Show current user
# Show current user and directory
echo "Current user: $(whoami)"
echo "Current directory: $(pwd)"
# Create directories one by one with error checking
echo "Creating storage directories..."
mkdir -p storage/framework/cache || { echo "Failed to create cache dir"; exit 1; }
mkdir -p storage/framework/sessions || { echo "Failed to create sessions dir"; exit 1; }
mkdir -p storage/framework/views || { echo "Failed to create views dir"; exit 1; }
mkdir -p storage/logs || { echo "Failed to create logs dir"; exit 1; }
mkdir -p bootstrap/cache || { echo "Failed to create bootstrap cache dir"; exit 1; }
# Ensure directories exist with proper permissions
echo "Ensuring storage directories exist..."
mkdir -p storage/framework/{cache,sessions,views}
mkdir -p storage/logs
mkdir -p bootstrap/cache
# Set permissions
echo "Setting permissions..."
chmod -R 777 storage || { echo "Failed to set storage permissions"; exit 1; }
chmod -R 777 bootstrap/cache || { echo "Failed to set bootstrap permissions"; exit 1; }
chmod -R 777 storage
chmod -R 777 bootstrap/cache
# Verify directories
echo "Verifying directories..."
ls -la storage/framework/
ls -la bootstrap/
# Check if .env exists
# Check if .env exists, create if not
if [ ! -f .env ]; then
echo "WARNING: .env file not found!"
cp .env.example .env 2>/dev/null || echo "APP_ENV=production" > .env
echo "Creating .env file..."
if [ -f .env.example ]; then
cp .env.example .env
else
echo "APP_NAME=Laravel" > .env
echo "APP_ENV=production" >> .env
echo "APP_KEY=" >> .env
echo "APP_DEBUG=false" >> .env
echo "APP_URL=http://localhost" >> .env
fi
fi
# Generate key
echo "Generating application key..."
php artisan key:generate --no-interaction --force || echo "Key generation failed"
# Clear cache
echo "Clearing cache..."
php artisan config:clear || true
php artisan cache:clear || true
# Run migrations if needed (optional)
# php artisan migrate --force
echo "========================================"
echo "Setup complete. Starting application..."