35 lines
1.1 KiB
Bash
35 lines
1.1 KiB
Bash
#!/bin/sh
|
|
set -e
|
|
|
|
echo "Starting iMail container initialization..."
|
|
|
|
# Ensure storage directories exist
|
|
mkdir -p /var/www/html/storage/framework/cache/data
|
|
mkdir -p /var/www/html/storage/framework/sessions
|
|
mkdir -p /var/www/html/storage/framework/views
|
|
mkdir -p /var/www/html/storage/logs
|
|
mkdir -p /var/www/html/storage/app/public
|
|
mkdir -p /var/www/html/bootstrap/cache
|
|
|
|
# Fix permissions
|
|
chown -R www-data:www-data /var/www/html/storage
|
|
chown -R www-data:www-data /var/www/html/bootstrap/cache
|
|
|
|
# Cache configuration, routes, views, events
|
|
echo "Caching configuration and routes..."
|
|
php artisan config:cache
|
|
php artisan route:cache
|
|
php artisan view:cache
|
|
php artisan event:cache
|
|
|
|
# Create storage symlink
|
|
php artisan storage:link --force
|
|
|
|
# Run migrations (non-fatal — don't crash the container if a migration fails)
|
|
echo "Running migrations..."
|
|
php artisan migrate --force || echo "WARNING: Migrations failed. The container will continue starting. Please check the migration error above and fix manually."
|
|
|
|
echo "Initialization complete. Starting Supervisord..."
|
|
# Execute supervisord in the foreground
|
|
exec /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf
|