Skip to content

Commit

Permalink
Run composer install in dev container
Browse files Browse the repository at this point in the history
Today, when you start a dev container using `curl -s "https://laravel.build/example-app?with=mysql,redis&devcontainer" | bash` (or any version with a dev container I assume), it works great. However, if I push that repo to GitHub and then clone it back down, the dev container will not start.

That happens because the docker-compose.yml refers to ./vendor, which of course doesn't exist (yet).

I have done some testing on my end, and running this command before creating the dev container ensures that `./vendor/laravel/sail/runtimes/8.3(/Dockerfile)` exists before trying to create the container.

The command is from https://laravel.com/docs/11.x/sail#installing-composer-dependencies-for-existing-projects

For this to work, you would need to add the following to the .env file:
```
WWWGROUP=1000
WWWUSER=1000
```

Note: I am completely new to Laravel and somewhat new to Docker. If this is not the fix here, please let me know.
  • Loading branch information
leonlarsson authored Oct 10, 2024
1 parent f184d3d commit 3b47bc3
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions stubs/devcontainer.stub
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
}
},
"remoteUser": "sail",
"initializeCommand": "docker run --rm -u \"$(id -u):$(id -g)\" -v \"$(pwd):/var/www/html\" -w /var/www/html laravelsail/php83-composer:latest composer install --ignore-platform-reqs",
"postCreateCommand": "chown -R 1000:1000 /var/www/html 2>/dev/null || true"
// "forwardPorts": [],
// "runServices": [],
Expand Down

0 comments on commit 3b47bc3

Please sign in to comment.