File tree Expand file tree Collapse file tree 2 files changed +33
-9
lines changed Expand file tree Collapse file tree 2 files changed +33
-9
lines changed Original file line number Diff line number Diff line change @@ -61,19 +61,32 @@ RUN apt-get update -qq && \
6161    apt-get install --no-install-recommends -y curl libpq-dev libvips libjemalloc2 && \
6262    apt-get clean
6363
64+ ENV  USERNAME rails_api_base
65+ ENV  USER_UID 1000
66+ ENV  USER_GID 1000
67+ 
68+ #  Create a rootless user.
69+ RUN  groupadd --gid $USER_GID $USERNAME && \
70+     useradd --uid $USER_UID --gid $USER_GID -m $USERNAME
71+ 
6472#  Create app directory.
65- RUN  mkdir -p $APP_HOME
73+ RUN  mkdir -p $APP_HOME && chown -R $USERNAME:$USERNAME $APP_HOME && chmod -R 700 $APP_HOME
74+ 
75+ #  Change to the rootless user.
76+ USER  $USERNAME
6677
6778#  Setup work directory.
6879WORKDIR  $APP_HOME
6980
7081#  Copy everything from the builder image
71- COPY  --link . .
72- COPY  --from=builder $APP_HOME/public/ $APP_HOME/public/
73- COPY  --from=builder $APP_HOME/tmp/ $APP_HOME/tmp/
74- COPY  --from=builder $APP_HOME/vendor/ $APP_HOME/vendor/
82+ COPY  --link --chown=$USERNAME:$USERNAME --chmod=700  . .
83+ COPY  --from=builder --chown=$USERNAME:$USERNAME --chmod=700  $APP_HOME/public/ $APP_HOME/public/
84+ COPY  --from=builder --chown=$USERNAME:$USERNAME --chmod=700  $APP_HOME/tmp/ $APP_HOME/tmp/
85+ COPY  --from=builder --chown=$USERNAME:$USERNAME --chmod=700  $APP_HOME/vendor/ $APP_HOME/vendor/
7586
87+ USER  root
7688RUN  ln -s /usr/lib/*-linux-gnu/libjemalloc.so.2 /usr/lib/libjemalloc.so.2
89+ USER  $USERNAME
7790
7891#  Deployment options
7992ENV  RAILS_LOG_TO_STDOUT true
Original file line number Diff line number Diff line change @@ -21,22 +21,33 @@ ENV WORK_ROOT /src
2121ENV APP_HOME $WORK_ROOT/app/
2222ENV LANG C.UTF-8
2323
24+ ENV USERNAME rails_api_base
25+ ENV USER_UID 1000
26+ ENV USER_GID 1000
27+ 
28+ # Create a rootless user.
29+ RUN groupadd --gid $USER_GID $USERNAME && \
30+     useradd --uid $USER_UID --gid $USER_GID -m $USERNAME
31+ 
2432# Create app directory.
25- RUN mkdir -p $APP_HOME
33+ RUN mkdir -p $APP_HOME && chown -R $USERNAME:$USERNAME $APP_HOME && chmod -R 700 $APP_HOME
34+ 
35+ # Change to the rootless user.
36+ USER $USERNAME
2637
2738# Setup work directory.
2839WORKDIR $APP_HOME
2940
3041RUN gem install foreman bundler
3142
3243# Copy dependencies files and install libraries.
33- COPY --link package.json yarn.lock ./
44+ COPY --link --chown=$USERNAME:$USERNAME --chmod=700  package.json yarn.lock ./
3445RUN yarn install --frozen-lockfile
3546
36- COPY --link Gemfile Gemfile.lock ./
47+ COPY --link --chown=$USERNAME:$USERNAME --chmod=700  Gemfile Gemfile.lock ./
3748RUN bundle install -j 4
3849
39- COPY --link . .
50+ COPY --link --chown=$USERNAME:$USERNAME --chmod=700  . .
4051
4152RUN yarn build
4253
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments