Spaces:
Running
Running
# Muitistage Dockerfile to first build the static site, then using nginx serve the static site | |
FROM ruby:3.4.3 as builder | |
# GBIF dockerfile | |
RUN gem sources --add https://repository.gbif.org/repository/rubygems.org/ && \ | |
gem sources --remove https://rubygems.org/ | |
RUN bundle config set mirror.https://rubygems.org https://repository.gbif.org/repository/rubygems.org | |
WORKDIR /usr/src/app | |
COPY Gemfile ./ | |
# RUN bundle config set frozen true | |
RUN bundle install | |
RUN echo here | |
COPY . . | |
RUN bundle exec jekyll build --baseurl "" | |
RUN find /usr/src/app/_site -type f -ls | |
#Copy _sites from build to Nginx Container to serve site | |
USER root | |
FROM nginx:latest | |
RUN mkdir -p /var/cache/nginx \ | |
/var/log/nginx \ | |
/var/lib/nginx \ | |
/usr/share/nginx/html | |
RUN touch /var/run/nginx.pid | |
RUN groupadd user | |
RUN useradd -d /home/user -ms /bin/bash -g user -G user -p user user | |
RUN chown -R user:user /var/cache/nginx \ | |
/var/log/nginx \ | |
/var/lib/nginx \ | |
/var/run/nginx.pid \ | |
/usr/share/nginx/html | |
#--- update nginx config; establish routes/proxy pass; remove user directive | |
COPY ./nginx/etc.nginx.confd_default.conf /etc/nginx/conf.d/default.conf | |
COPY ./nginx/etc.nginx_nginx.conf /etc/nginx/nginx.conf | |
COPY --from=builder /usr/src/app/_site /usr/share/nginx/html | |
COPY --chown=user ./_env_config/stg_dev/utl_dkr_preRun.sh ./scripts/docker/ | |
RUN chmod +x ./scripts/docker/utl_dkr_preRun.sh | |
USER user | |
EXPOSE 7860 | |
ENTRYPOINT [ "./scripts/docker/utl_dkr_preRun.sh" ] | |
# CMD ["nginx", "-g", "daemon off;"] |