You're right — it is essentially a configuration issue, so here’s the setup for clarity:
What's containerized:
Laravel backend (PHP-FPM) is running inside Docker
Nginx is not containerized — it's installed on the host machine
Nginx on the host is pointing to a directory like /home/plannxt-loginxt/backend/public,
but the actual public folder with assets is inside the Docker container at /var/www/public
So Nginx on the host cannot directly see or serve files like logo.png, favicon.ico, or images inside /vehicles, /vehicletype, etc.
Result:
Inside Docker Desktop or local development → works because Nginx is inside Docker
On production → fails because the host Nginx has no access to container’s filesystem
That’s why /logo.png returns 404, unless accessed through /public/logo.png or a Laravel route — which means Laravel is serving it, not Nginx.
Current suspicion:
The public directory is not mounted or synced between host and container, so the host’s Nginx is basically serving an empty or outdated public folder.
Happy to share my Nginx config or docker-compose setup if needed.