mirror of
https://github.com/ENSL/ensl.org.git
synced 2024-12-25 03:50:53 +00:00
38 lines
1.1 KiB
Docker
38 lines
1.1 KiB
Docker
FROM ruby:2.2
|
|
|
|
ENV RAILS_ENV production
|
|
|
|
# Add 'web' user which will run the application
|
|
RUN adduser web --home /home/web --shell /bin/bash --disabled-password --gecos ""
|
|
|
|
RUN apt-get update && apt-get -y upgrade
|
|
RUN apt-get -y install mysql-client libmysqlclient-dev memcached nodejs
|
|
RUN service memcached start
|
|
|
|
# Separate Gemfile ADD so that `bundle install` can be cached more effectively
|
|
|
|
ADD Gemfile /var/www/
|
|
ADD Gemfile.lock /var/www/
|
|
RUN chown -R web:web /var/www &&\
|
|
mkdir -p /var/bundle &&\
|
|
chown -R web:web /var/bundle
|
|
|
|
RUN su -c "bundle config github.https true; cd /var/www && bundle install --path /var/bundle --jobs 4" -s /bin/bash -l web
|
|
|
|
# Add application source
|
|
ADD . /var/www
|
|
RUN chown -R web:web /var/www
|
|
|
|
WORKDIR /var/www
|
|
USER web
|
|
|
|
RUN mkdir -p /var/www/log && touch /var/www/log/${RAILS_ENV}.log
|
|
RUN bundle config github.https true; cd /var/www && bundle install --path /var/bundle --jobs 4
|
|
RUN bundle exec rake assets:precompile
|
|
|
|
# This is a temporary solution to fix assets issue
|
|
|
|
USER root
|
|
RUN mv /var/www/public/assets /home/web/assets
|
|
|
|
CMD ["/var/www/script/entry.sh"]
|