diff --git a/Dockerfile b/Dockerfile index ee0313a7..e569d8df 100644 --- a/Dockerfile +++ b/Dockerfile @@ -41,13 +41,13 @@ EXPOSE 3000 CMD ["./bin/rails", "server", "-b", "0.0.0.0"] FROM base AS precompile -RUN bundle config set with assets RUN bundle config set deployment true RUN bundle install --jobs 4 RUN RAILS_GROUPS=assets bundle exec rake assets:precompile # Build the environment-specific stuff FROM base AS production +RUN bundle config set without assets RUN bundle config --global frozen 1 RUN bundle install --jobs 4 COPY --from=precompile /app/public/assets /app/public/assets @@ -56,10 +56,11 @@ FROM base AS test COPY test /app/test/ # For testing the API client COPY doc /app/doc/ -RUN bundle config set with development test assets +RUN bundle config set without assets +RUN bundle config set with development test RUN bundle config --global frozen 1 RUN bundle install --jobs 4 -RUN RAILS_GROUPS=assets bundle exec rake assets:precompile +COPY --from=precompile /app/public/assets /app/public/assets FROM base AS development RUN bundle config set with development test diff --git a/Gemfile b/Gemfile index a5ea9dd1..59a0a548 100644 --- a/Gemfile +++ b/Gemfile @@ -3,19 +3,9 @@ source 'https://rubygems.org' gem 'actionpack-xml_parser', '~> 2.0' gem 'activemodel-serializers-xml', '~> 1.0.1' -gem 'coffee-rails', '~> 5.0.0' - -gem 'jquery-rails', '~> 4.6' -gem 'jquery-ui-rails', '~>7.0.0' - gem 'rails', '~> 6.1' -gem 'sassc-rails', '~> 2.1.2' -gem 'bootstrap-sass', '3.4.1' gem 'font-awesome-sass', '~> 6.5.2' - -gem 'uglifier', '>=1.3.0' - gem 'aasm', '~> 5.5.0' gem 'acts_as_list' gem 'bcrypt', '~> 3.1.20' @@ -33,7 +23,16 @@ gem 'sqlite3', '~> 1.4', group: :sqlite gem 'mysql2', '~> 0.5', group: :mysql gem 'pg', '~> 1.1', group: :postgresql -group :assets, :optional => true do +# See https://github.com/sstephenson/execjs#readme for more supported runtimes +gem 'mini_racer', group: :therubyracer + +group :assets do + gem 'coffee-rails', '~> 5.0.0' + gem 'jquery-rails', '~> 4.6' + gem 'jquery-ui-rails', '~>7.0.0' + gem 'sassc-rails', '~> 2.1.2' + gem 'bootstrap-sass', '3.4.1' + gem 'uglifier', '>=1.3.0' gem 'listen' gem 'tolk', '~> 5.0.1' end @@ -52,7 +51,6 @@ end group :development, :test, :optional => true do gem 'byebug' gem 'rubocop', '~> 1.65' - gem 'mini_racer' end group :test, :optional => true do diff --git a/doc/installation.md b/doc/installation.md index a3c2712a..2e937f63 100644 --- a/doc/installation.md +++ b/doc/installation.md @@ -44,7 +44,7 @@ Tracks container. In future there should be an official image in Docker Hub. You 1. Get the Tracks code base by either downloading the archive file for the latest releast or cloning it from GitHub. 2. Run the following command in the Tracks directory to build the image: ``` - $ docker build -t="tracks" . + $ docker build -t="tracks" --target=production . ``` 1. Make sure you have Docker properly installed. @@ -153,21 +153,21 @@ Tracks is built upon a number of Ruby libraries (known as ‘gems’). The Bundl * If you are using SQLite: ``` - bundle config set without "development test mysql" + bundle config set without mysql postgresql bundle install ``` * If you are using MySQL: ``` - bundle config set without "development test sqlite" + bundle config set without sqlite postgresql bundle install ``` * If you are using PostgreSQL: ``` - bundle config set without "development test sqlite mysql" + bundle config set without sqlite mysql bundle install ```