mirror of https://github.com/freeCodeCamp/devdocs
parent
a23035d02c
commit
e0d79a26c0
@ -0,0 +1,40 @@
|
||||
FROM ruby:2.6.5
|
||||
|
||||
ENV LANG=C.UTF-8
|
||||
ENV ENABLE_SERVICE_WORKER=true
|
||||
|
||||
ARG USER_ID
|
||||
ARG GROUP_ID
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get -y install git nodejs libcurl4 && \
|
||||
gem install bundler
|
||||
|
||||
# Create the dev user and set up a home dir
|
||||
RUN if [ ${USER_ID:-0} -ne 0 ] && [ ${GROUP_ID:-0} -ne 0 ]; then \
|
||||
groupadd -g ${GROUP_ID} devuser &&\
|
||||
useradd -l -u ${USER_ID} -g devuser devuser &&\
|
||||
install -d -m 0755 -o devuser -g devuser /home/devuser &&\
|
||||
chown --changes --silent --no-dereference --recursive \
|
||||
--from=33:33 ${USER_ID}:${GROUP_ID} \
|
||||
/home/devuser \
|
||||
;fi
|
||||
|
||||
# Host directories cannot be mounted by Dockerfiles so we have to use
|
||||
# a temporary directory to hold the lock files while the gems are installed.
|
||||
WORKDIR /devdocs/
|
||||
|
||||
COPY Gemfile Gemfile.lock Rakefile /devdocs/
|
||||
|
||||
RUN bundle install && rm -rf /devdocs/
|
||||
|
||||
WORKDIR /home/devuser/
|
||||
|
||||
EXPOSE 9292
|
||||
|
||||
# This entrypoint lets you
|
||||
# docker-compose run --rm --service-ports devdocs
|
||||
# straight into a bash shell
|
||||
ENTRYPOINT [ "/bin/bash" ]
|
||||
|
||||
USER devuser
|
@ -0,0 +1,13 @@
|
||||
version: '3.7'
|
||||
services:
|
||||
devdocs:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile-dev
|
||||
args:
|
||||
USER_ID: ${USER_ID:-0}
|
||||
GROUP_ID: ${GROUP_ID:-0}
|
||||
volumes:
|
||||
- ${PWD}:/home/devuser
|
||||
ports:
|
||||
- "9292:9292"
|
Loading…
Reference in new issue