This page collects the most common problems reported when running Leo Counter and explains how to diagnose and fix each one. Most issues fall into one of three categories: configuration not being picked up, a dependent service not starting, or a missing runtime step (migration, link, seed). Work through the relevant accordion below, starting with the log commands, before making any changes.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/juanVillamilEchavarria/Leo_Counter-app/llms.txt
Use this file to discover all available pages before exploring further.
SECURITY.md in the project root.Diagnostic Starting Points
Always check the Laravel application log and the container stdout first — they surface the root cause in most cases.Common Issues
1. Error 500 / Application not responding
1. Error 500 / Application not responding
APP_DEBUG=false in production.Step 1: Read the Laravel log:ERROR or CRITICAL entry. Common causes include:APP_KEYis empty — rundocker compose exec app php artisan key:generate- A missing required
.envvariable (database credentials, Reverb key) - A failed migration leaving the schema in a partial state
- Storage directory not writable (see the Permissions issue below)
APP_DEBUG=true in .env, then run:2. .env changes not reflected
2. .env changes not reflected
.env after a cache has been written has no effect until the cache is invalidated.3. Database connection error
3. Database connection error
DB_HOST value. Inside the Docker network, the database container is reachable at the service name db, not at localhost or 127.0.0.1.Check your .env:db service should show healthy in the Status column. If it shows starting wait a few seconds and run again. If it shows unhealthy, read its logs:DB_ROOT_PASSWORDis missing or empty in.env- The
mariadb_datavolume contains data from a previous installation with different credentials — remove it withdocker volume rm leo_counter-app_mariadb_data(adjust the prefix to match your project name)
4. Migrations not running / tables missing
4. Migrations not running / tables missing
Pending, run php artisan migrate again. If a migration failed mid-run, check the laravel.log for the SQL error, fix the root cause (usually a missing database permission or a credential mismatch), then retry.dev.sh and dev.ps1 scripts automatically run php artisan migrate --force and php artisan db:seed --force as part of the initial setup. If you ran the script and still see missing tables, the database container may not have been healthy when the migration step ran. Rerun php artisan migrate manually.5. Permission errors on storage
5. Permission errors on storage
www-data inside the container but the bind-mounted storage/ directory may be owned by your host user. The dev.sh script handles this with:dev.sh script applies the correct context:6. Vite assets not loading in development
6. Vite assets not loading in development
-
Confirm port
5173is not blocked by a local firewall. -
Check
vite.config.ts— the HMR host should belocalhost: -
If
pnpm installhas not been run inside the container, dependencies will be missing:
7. Reverb WebSocket connection failing
7. Reverb WebSocket connection failing
ws://localhost:8085. If real-time notifications are not arriving, work through these checks.Verify the Reverb container is running:leo_counter_reverb container should be listed and running.Check Reverb logs:REVERB_APP_KEYorREVERB_APP_SECRETis missing in.env. These must be set before the container starts.- Port
8085on the host is blocked by a firewall or already bound by another process. Check withss -tlnp | grep 8085. - Frontend
.envvalues (VITE_REVERB_APP_KEY,VITE_REVERB_HOST,VITE_REVERB_PORT) do not match. After changing them, rebuild assets withpnpm run buildor restartpnpm run dev.
8. Queue not processing jobs
8. Queue not processing jobs
queue-worker container.Check that the queue worker is running:leo_counter_queue container should be listed and running.View queue worker logs:+PONG. If it fails, the REDIS_HOST in .env is likely not set to redis (the container name).9. Notifications not sending / emails not arriving
9. Notifications not sending / emails not arriving
.env:scheduler container. Verify it is running:resend/resend-laravel in composer.json), ensure MAIL_MAILER=resend and RESEND_API_KEY are set correctly in .env.10. leo-counter.service systemd not starting
10. leo-counter.service systemd not starting
install.sh script configures a leo-counter.service systemd unit on Linux to auto-start Leo Counter on boot.Check the service status:-
Docker is not running:
sudo systemctl start docker -
The project directory path in the service unit does not match the current path (e.g., after moving the folder). Edit the unit file and reload:
-
docker composebinary not found in the PATH used by the systemd unit. Confirm the path withwhich dockerand ensure the unitExecStartuses the full path if needed.
Getting Further Help
If none of the above resolves your issue, collect the following before asking for support:SECURITY.md in the project root and follow the responsible disclosure process rather than opening a public GitHub issue.