Files
standardnotes-app-web/Dockerfile
2019-01-30 16:16:43 -06:00

51 lines
1.3 KiB
Docker

###
# Build with 'docker build -t standard_notes_web.img .'
# Run with 'docker run -d -p 127.0.0.1:3000:3000 --name standard_notes_web --restart always standard_notes_web.img'
# If you need shell access, run 'docker exec -it standard_notes_web /bin/sh'
# Access from http://localhost:3000/
# Set up Nginx to terminate SSL with LetsEncrypt and proxy_pass to http://localhost:3000/
###
FROM ruby:alpine
RUN apk add --update --no-cache \
alpine-sdk \
nodejs \
nodejs-npm \
tzdata
WORKDIR /app/
COPY . /app/
###
# FOR PRODUCTION USE:
#
# If you need the app to continue listening on HTTP instead of HTTPS
# (like terminating SSL on upstream server, i.e. Nginx proxy_pass to HTTP),
# you will need to set 'config.force_ssl = false' in 'config/environments/production.rb'.
#
# Uncomment SECRET_KEY_BASE, RAILS_ENV, and [optionally] RAILS_SERVE_STATIC_FILES for production:
# ENV SECRET_KEY_BASE=[VALUE OF `bundle exec rake secret`]
#
# ENV RAILS_ENV=production
#
# ENV RAILS_SERVE_STATIC_FILES=true
# Leave RAILS_SERVE_STATIC_FILES commented if Nginx/Apache will serve static files instead of rails.
###
RUN bundle install
RUN npm install
RUN npm run build
# Uncomment the line below for production:
# RUN bundle exec rake assets:precompile
EXPOSE 3000
ENTRYPOINT [ "./docker/entrypoint" ]
CMD [ "start" ]