Merge branch 'hotfix/1.0.1'

This commit is contained in:
Karol Sójko
2020-07-08 09:08:47 +02:00
4 changed files with 41 additions and 44 deletions

11
.env.sample Normal file
View File

@@ -0,0 +1,11 @@
RAILS_ENV=development
PORT=3000
WEB_CONCURRENCY=0
RAILS_LOG_TO_STDOUT=true
RAILS_SERVE_STATIC_FILES=true
SECRET_KEY_BASE=test
APP_HOST=http://localhost:3000
EXTENSIONS_MANAGER_LOCATION=extensions/extensions-manager/dist/index.html
BATCH_MANAGER_LOCATION=extensions/batch-manager/dist/index.min.html
SF_DEFAULT_SERVER=http://localhost:3001

View File

@@ -1,43 +1,31 @@
###
# 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:2.7.1-alpine
RUN apk add --update --no-cache \
alpine-sdk \
nodejs \
python2 \
git \
nodejs-npm \
tzdata
WORKDIR /app/
COPY package.json package-lock.json Gemfile Gemfile.lock /app/
COPY vendor /app/vendor
RUN npm ci
RUN gem install bundler && bundle install
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 exec rails assets:precompile
RUN npm run build
RUN npm run bundle
EXPOSE 3000
ENTRYPOINT [ "./docker/entrypoint" ]
ENTRYPOINT [ "./docker/entrypoint.sh" ]
CMD [ "start" ]

View File

@@ -1,19 +0,0 @@
#!/usr/bin/env sh
# $0 is a script name,
# $1, $2, $3 etc are passed arguments
# $1 is our command
CMD=$1
case "$CMD" in
'start' )
echo `pwd`
rm -f /app/tmp/pids/server.pid
bundle exec rails s -b 0.0.0.0
;;
* )
# Run custom command. Thanks to this line we can still use
# "docker run our_image /bin/sh" and it will work
exec "$@"
;;
esac

17
docker/entrypoint.sh Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/sh
set -e
case "$1" in
'start' )
echo "Prestart Step 1/1 - Removing server lock"
rm -f /app/tmp/pids/server.pid
echo "Starting Server..."
bundle exec rails s -b 0.0.0.0
;;
* )
echo "Unknown command"
;;
esac
exec "$@"