feat: update Docker configuration to manage public storage and optimize entrypoint script
This commit is contained in:
@@ -29,6 +29,9 @@ database/database.sqlite
|
||||
public/build
|
||||
public/hot
|
||||
|
||||
# ── Local storage symlink (recreated by entrypoint.sh) ──
|
||||
public/storage
|
||||
|
||||
# ── Tests / dev tooling ──────────────────────
|
||||
tests
|
||||
phpunit.xml
|
||||
|
||||
@@ -24,7 +24,7 @@ RUN apk add --no-cache \
|
||||
nginx \
|
||||
supervisor \
|
||||
sqlite \
|
||||
sqlite-dev \
|
||||
sqlite-dev \
|
||||
curl \
|
||||
git \
|
||||
unzip \
|
||||
@@ -84,6 +84,7 @@ RUN chmod +x /entrypoint.sh
|
||||
|
||||
# ── File system ──────────────────────────────
|
||||
RUN mkdir -p \
|
||||
storage/app/public \
|
||||
storage/app/private/talent-assets \
|
||||
storage/logs \
|
||||
storage/framework/cache \
|
||||
|
||||
@@ -41,15 +41,19 @@ chmod -R 775 \
|
||||
bootstrap/cache \
|
||||
database
|
||||
|
||||
# ── 5. Run migrations ────────────────────────
|
||||
# ── 5. Discover packages (composer --no-scripts skips this) ──
|
||||
echo "[packages] Discovering service providers…"
|
||||
php artisan package:discover --ansi 2>/dev/null || true
|
||||
|
||||
# ── 6. Run migrations ─────────────────────────
|
||||
echo "[migrate] Running database migrations…"
|
||||
php artisan migrate --force --no-interaction
|
||||
|
||||
# ── 5b. Create public storage symlink ────────
|
||||
# ── 7. Create public storage symlink ──────────
|
||||
echo "[storage] Creating public storage symlink…"
|
||||
php artisan storage:link --quiet 2>/dev/null || true
|
||||
|
||||
# ── 6. Cache config / routes / views ────────
|
||||
# ── 8. Cache config / routes / views ─────────
|
||||
echo "[optimize] Caching configuration…"
|
||||
php artisan config:cache --quiet
|
||||
php artisan route:cache --quiet
|
||||
@@ -59,5 +63,5 @@ echo "────────────────────────
|
||||
echo " All checks passed. Starting services…"
|
||||
echo "──────────────────────────────────────────"
|
||||
|
||||
# ── 7. Hand off to Supervisor ────────────────
|
||||
# ── 9. Hand off to Supervisor ────────────────
|
||||
exec supervisord -c /etc/supervisord.conf
|
||||
|
||||
@@ -14,18 +14,7 @@ serverurl=unix:///run/supervisor.sock
|
||||
[rpcinterface:supervisor]
|
||||
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
|
||||
|
||||
; ── Nginx ─────────────────────────────────────────────────────────────────
|
||||
[program:nginx]
|
||||
command=nginx -g "daemon off;"
|
||||
autostart=true
|
||||
autorestart=true
|
||||
priority=10
|
||||
stdout_logfile=/dev/stdout
|
||||
stdout_logfile_maxbytes=0
|
||||
stderr_logfile=/dev/stderr
|
||||
stderr_logfile_maxbytes=0
|
||||
|
||||
; ── PHP-FPM ───────────────────────────────────────────────────────────────
|
||||
; ── PHP-FPM ───────────────────────────────────────────────────────────────────
|
||||
[program:php-fpm]
|
||||
command=php-fpm --nodaemonize
|
||||
autostart=true
|
||||
@@ -36,12 +25,20 @@ stdout_logfile_maxbytes=0
|
||||
stderr_logfile=/dev/stderr
|
||||
stderr_logfile_maxbytes=0
|
||||
|
||||
; ── Laravel Queue Worker ──────────────────────────────────────────────────
|
||||
; ── Nginx ─────────────────────────────────────────────────────────────────────
|
||||
[program:nginx]
|
||||
command=nginx -g "daemon off;"
|
||||
autostart=true
|
||||
autorestart=true
|
||||
priority=10
|
||||
stdout_logfile=/dev/stdout
|
||||
stdout_logfile_maxbytes=0
|
||||
stderr_logfile=/dev/stderr
|
||||
stderr_logfile_maxbytes=0
|
||||
|
||||
; ── Laravel Queue Worker ──────────────────────────────────────────────────────
|
||||
[program:queue]
|
||||
command=php /var/www/html/artisan queue:work --sleep=3 --tries=3 --max-time=3600 --queue=default
|
||||
|
||||
|
||||
queue=default
|
||||
directory=/var/www/html
|
||||
user=www-data
|
||||
autostart=true
|
||||
|
||||
Reference in New Issue
Block a user