Jon Solow commited on
Commit
3ece354
1 Parent(s): 8d1113d

Add user to dockerfile and create app in user home

Browse files
Files changed (3) hide show
  1. Dockerfile +10 -6
  2. run_dev_container.sh +1 -1
  3. run_pip_tools.sh +1 -1
Dockerfile CHANGED
@@ -1,11 +1,14 @@
1
  FROM python:3.8.13 as base
2
 
3
- # RUN apt-get update && \
4
- # apt-get -y install curl gunicorn python3
 
 
 
5
 
6
  FROM base as python-base
7
  RUN curl -sSL https://bootstrap.pypa.io/get-pip.py | python3 -
8
- ENV APP_BASE_PATH="/opt/src"
9
  RUN mkdir -p ${APP_BASE_PATH}
10
  ENV PYTHONPATH="${APP_BASE_PATH}:${PYTHONPATH}"
11
 
@@ -19,9 +22,10 @@ COPY src/requirements.txt ./requirements.txt
19
  RUN python3 -m pip install -r requirements.txt
20
 
21
  FROM pip-install as copy-src
22
- COPY ./src /opt/src
23
- WORKDIR /opt/src
 
24
 
25
 
26
  FROM copy-src as production
27
- CMD ["/opt/src/run_app.sh"]
 
1
  FROM python:3.8.13 as base
2
 
3
+ # create user with id 1000 per huggingface
4
+ RUN useradd -m -u 1000 user
5
+
6
+ ENV HOME=/home/user \
7
+ PATH=/home/user/.local/bin:$PATH
8
 
9
  FROM base as python-base
10
  RUN curl -sSL https://bootstrap.pypa.io/get-pip.py | python3 -
11
+ ENV APP_BASE_PATH="${HOME}/src"
12
  RUN mkdir -p ${APP_BASE_PATH}
13
  ENV PYTHONPATH="${APP_BASE_PATH}:${PYTHONPATH}"
14
 
 
22
  RUN python3 -m pip install -r requirements.txt
23
 
24
  FROM pip-install as copy-src
25
+ USER user
26
+ COPY --chown=user ./src ${APP_BASE_PATH}
27
+ WORKDIR ${APP_BASE_PATH}
28
 
29
 
30
  FROM copy-src as production
31
+ CMD ["/home/user/src/run_app.sh"]
run_dev_container.sh CHANGED
@@ -5,7 +5,7 @@ docker buildx build \
5
  . \
6
  && docker run -it \
7
  --rm \
8
- --mount type=bind,source="$(pwd)/src",target=/opt/src \
9
  --env-file .env \
10
  -p 7860:7860 \
11
  dev-$(basename `git rev-parse --show-toplevel`) \
 
5
  . \
6
  && docker run -it \
7
  --rm \
8
+ --mount type=bind,source="$(pwd)/src",target=/home/user/src \
9
  --env-file .env \
10
  -p 7860:7860 \
11
  dev-$(basename `git rev-parse --show-toplevel`) \
run_pip_tools.sh CHANGED
@@ -8,7 +8,7 @@ docker build \
8
  . \
9
  && docker run -it \
10
  --rm \
11
- --mount type=bind,source="$(pwd)/src",target=/opt/src \
12
  $CONTAINER_NAME \
13
  pip-compile requirements.in --resolver=backtracking
14
 
 
8
  . \
9
  && docker run -it \
10
  --rm \
11
+ --mount type=bind,source="$(pwd)/src",target=/home/user/src \
12
  $CONTAINER_NAME \
13
  pip-compile requirements.in --resolver=backtracking
14