diff --git a/Makefile b/Makefile index 6dd0dd03..7e0aa541 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ for-linux-env: echo "UID=$$(id -u)" >> .env echo "GID=$$(id -g)" >> .env + echo "USERNAME=$$(whoami)" >> .env install: @make build @make up diff --git a/README.md b/README.md index a1795850..5457ae52 100644 --- a/README.md +++ b/README.md @@ -22,22 +22,21 @@ Build a simple laravel development environment with Docker Compose. Support with 3. Execute the following command ```bash -$ task for-linux-env # Linux environment only $ task create-project # or... -$ make for-linux-env # Linux environment only $ make create-project -# or... +# or... Linux environment -$ echo "UID=$(id -u)" >> .env # Linux environment only -$ echo "GID=$(id -g)" >> .env # Linux environment only +$ echo "UID=$(id -u)" >> .env +$ echo "GID=$(id -g)" >> .env +$ echo "USERNAME=$(whoami)" >> .env $ mkdir -p src $ docker compose build -$ docker compose up -d +$ docker compose --file compose.yaml --file compose-for-linux.yaml up --detach $ docker compose exec app composer create-project --prefer-dist laravel/laravel . $ docker compose exec app php artisan key:generate $ docker compose exec app php artisan storage:link @@ -53,21 +52,20 @@ http://localhost 2. Execute the following command ```bash -$ task for-linux-env # Linux environment only $ task install # or... -$ make for-linux-env # Linux environment only $ make install -# or... +# or... Linux environment -$ echo "UID=$(id -u)" >> .env # Linux environment only -$ echo "GID=$(id -g)" >> .env # Linux environment only +$ echo "UID=$(id -u)" >> .env +$ echo "GID=$(id -g)" >> .env +$ echo "USERNAME=$(whoami)" >> .env $ docker compose build -$ docker compose up -d +$ docker compose --file compose.yaml --file compose-for-linux.yaml up --detach $ docker compose exec app composer install $ docker compose exec app cp .env.example .env $ docker compose exec app php artisan key:generate diff --git a/Taskfile.yml b/Taskfile.yml index e546a5d9..7354df40 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -5,6 +5,7 @@ tasks: cmds: - echo "UID=$(id -u)" >> .env - echo "GID=$(id -g)" >> .env + - echo "USERNAME=$(whoami)" >> .env install: cmds: diff --git a/compose-for-linux.yaml b/compose-for-linux.yaml new file mode 100644 index 00000000..01de6614 --- /dev/null +++ b/compose-for-linux.yaml @@ -0,0 +1,8 @@ +services: + app: + entrypoint: ["/usr/local/bin/entrypoint.sh"] + command: ["php-fpm"] + environment: + - UID=${UID:-1000} + - GID=${GID:-1000} + - USERNAME=${USERNAME:-phper} diff --git a/compose.yaml b/compose.yaml index 696d5929..7e0cda13 100644 --- a/compose.yaml +++ b/compose.yaml @@ -6,9 +6,6 @@ services: build: context: . dockerfile: ./infra/docker/php/Dockerfile - args: - UID: ${UID:-1000} - GID: ${GID:-1000} target: ${APP_BUILD_TARGET:-development} volumes: - type: bind diff --git a/infra/docker/php/Dockerfile b/infra/docker/php/Dockerfile index 499b5278..c4e6ac2e 100644 --- a/infra/docker/php/Dockerfile +++ b/infra/docker/php/Dockerfile @@ -11,10 +11,8 @@ ENV TZ=UTC \ # composer environment COMPOSER_HOME=/composer -ARG UID=1000 -ARG GID=1000 - COPY --from=composer:2.7 /usr/bin/composer /usr/bin/composer +COPY ./infra/docker/php/entrypoint.sh /usr/local/bin/entrypoint.sh RUN <