feat: update Docker configuration to manage public storage and optimize entrypoint script

This commit is contained in:
I-Fun
2026-04-02 23:51:29 +07:00
parent 1b90f730a6
commit 3f18dbaadf
4 changed files with 26 additions and 21 deletions

View File

@@ -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

View File

@@ -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 \

View File

@@ -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

View File

@@ -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