From 0755440ea98f62412910155b73a375684e180236 Mon Sep 17 00:00:00 2001 From: Jovan Dimovski Date: Wed, 11 Sep 2024 11:24:00 +0200 Subject: [PATCH 1/2] fixes #3 --- infrastructure/dev_env/.env.sample | 3 +++ infrastructure/dev_env/bin/app/Dockerfile | 13 +++++++++++++ infrastructure/dev_env/docker-compose.yml | 3 +++ 3 files changed, 19 insertions(+) diff --git a/infrastructure/dev_env/.env.sample b/infrastructure/dev_env/.env.sample index 0c7f298e..9a0abc30 100644 --- a/infrastructure/dev_env/.env.sample +++ b/infrastructure/dev_env/.env.sample @@ -34,6 +34,9 @@ DB_USERNAME=docker DB_PASSWORD=password DB_DATABASE=starter +UID=1000 # use command id -u your_user_name to retreive +GID=100 # use command id -g your_user_name to retreive + # If you already have the port 80 in use, you can change it (for example if you have Apache) HOST_MACHINE_UNSECURE_HOST_PORT=80 diff --git a/infrastructure/dev_env/bin/app/Dockerfile b/infrastructure/dev_env/bin/app/Dockerfile index 472fc25c..0ae52f1f 100644 --- a/infrastructure/dev_env/bin/app/Dockerfile +++ b/infrastructure/dev_env/bin/app/Dockerfile @@ -84,3 +84,16 @@ RUN curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-m && docker-php-ext-configure memcached --disable-memcached-sasl \ && docker-php-ext-install memcached \ && rm /tmp/memcached.tar.gz + +ARG UID=1000 +ARG GID=1000 + +RUN sed -i 's#/usr/sbin/nologin#/bin/sh#' /etc/passwd + +# Update UID and GID in /etc/passwd and /etc/group +RUN sed -i "s/www-data:x:33:33/www-data:x:${UID}:${GID}/" /etc/passwd \ + && sed -i "s/www-data:x:33:/www-data:x:${GID}:/" /etc/group + +USER www-data + +WORKDIR /var/www/html/starter/server/api diff --git a/infrastructure/dev_env/docker-compose.yml b/infrastructure/dev_env/docker-compose.yml index 2c1ae0d0..0c519371 100644 --- a/infrastructure/dev_env/docker-compose.yml +++ b/infrastructure/dev_env/docker-compose.yml @@ -8,6 +8,9 @@ services: build: context: ./bin/app dockerfile: Dockerfile + args: + UID: ${UID} + GID: ${GID} container_name: app restart: always # The external port mapping to internal port mapping From 485c09163ec0204306fd55a5e8ea7efaf30d50fa Mon Sep 17 00:00:00 2001 From: Jovan Dimovski Date: Thu, 12 Sep 2024 10:32:30 +0200 Subject: [PATCH 2/2] fixes #3 permissions in node container --- infrastructure/dev_env/bin/node/Dockerfile | 9 +++++++++ infrastructure/dev_env/docker-compose.yml | 3 +++ 2 files changed, 12 insertions(+) diff --git a/infrastructure/dev_env/bin/node/Dockerfile b/infrastructure/dev_env/bin/node/Dockerfile index 7f88a2d3..8a0b1777 100644 --- a/infrastructure/dev_env/bin/node/Dockerfile +++ b/infrastructure/dev_env/bin/node/Dockerfile @@ -2,4 +2,13 @@ FROM node:18 WORKDIR /usr/app +ARG UID=1000 +ARG GID=1000 + +# Update UID and GID in /etc/passwd and /etc/group +RUN sed -i "s/node:x:1000:1000/node:x:${UID}:${GID}/" /etc/passwd \ + && sed -i "s/node:x:1000:/node:x:${GID}:/" /etc/group + +USER node + EXPOSE 3030 \ No newline at end of file diff --git a/infrastructure/dev_env/docker-compose.yml b/infrastructure/dev_env/docker-compose.yml index 0c519371..314cd6ef 100644 --- a/infrastructure/dev_env/docker-compose.yml +++ b/infrastructure/dev_env/docker-compose.yml @@ -57,6 +57,9 @@ services: node: build: context: ./bin/node + args: + UID: ${UID} + GID: ${GID} container_name: node restart: always tty: true