fix: building image with extensions and batch manager
This commit is contained in:
11
.env.sample
Normal file
11
.env.sample
Normal 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
|
||||
38
Dockerfile
38
Dockerfile
@@ -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" ]
|
||||
|
||||
@@ -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
17
docker/entrypoint.sh
Executable 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 "$@"
|
||||
Reference in New Issue
Block a user