codeXX's avatar

Laravel on Ubuntu 24.0 Docker - PHP-FPM + NGINX - PHP-FPM gives /index.php 404 error

I have created a git repo for this setup here. The folder structure I have is:

Project Folder
|- docker-laravel
|- api

I have a docker setup with Laravel Application that works fine on local Mac however, I am facing issues with the deployment on Ubuntu server 24.0.

  1. All my paths are correct

  2. All my volumes are mapped correctly

  3. I checked the file location which exists

  4. I have correctly pointed the root for NGINX i.e. both the NGINX and PHP-FPM has the same folder structure /var/www/api/public

  5. User & Group ID matches the host OS i.e. 1000:1000 in all containers

  6. Permissions:

    1. api: 755

    2. api/storage : 775

    3. api/bootstrap/cache: 775

Has anyone faced similar issue and resolved it?

0 likes
1 reply
codeXX's avatar
codeXX
OP
Best Answer
Level 1

I was just playing around and fixed it.

  1. Created a new folder
  2. Cloned repos with similar folder structure
  3. Build the image again using docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d --build
  4. Opened the container shell docker compose -f docker-compose.yml -f docker-compose.prod.yml exec php /bin/bash
  5. switched user to www inside the container su www
  6. installed dependencies composer install
  7. configured .env
  8. restarted container php

If I have to guess, the issue was caused by the root user which is required for supervisord. This has to be separated from php-fpm container.

Please or to participate in this conversation.