From 03f415ed64db1eae7c321f7656e1c62c07354273 Mon Sep 17 00:00:00 2001
From: Gleb Rysev <gr00314@surrey.ac.uk>
Date: Fri, 30 Apr 2021 15:05:59 +0100
Subject: [PATCH] Looks like it is working

---
 .dockerignore          |  2 --
 .env.docker            |  1 -
 Dockerfile             |  6 ++++--
 Gemfile                |  2 +-
 bin/webpack            | 36 ++++++++++++++++++------------------
 bin/webpack-dev-server | 36 ++++++++++++++++++------------------
 docker-compose.yml     | 14 +++++++++++---
 docker-entrypoint.sh   |  4 ++++
 8 files changed, 56 insertions(+), 45 deletions(-)
 create mode 100644 docker-entrypoint.sh

diff --git a/.dockerignore b/.dockerignore
index b4e3fbd..e2e9e5c 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -9,10 +9,8 @@
 tmp
 log
 config/deploy
-public/packs
 public/packs-test
 node_modules
 yarn-error.log
 coverage/
-.env
 “Gemfile.lock”
diff --git a/.env.docker b/.env.docker
index 986ee6e..be270fc 100644
--- a/.env.docker
+++ b/.env.docker
@@ -1,3 +1,2 @@
-NODE_ENV=development
 RAILS_ENV=development
 WEBPACKER_DEV_SERVER_HOST=0.0.0.0
diff --git a/Dockerfile b/Dockerfile
index 7bc6b20..3c67ab5 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM ruby:2.5.7
+FROM timbru31/ruby-node:2.5
 
 # throw errors if Gemfile has been modified since Gemfile.lock
 # RUN bundle config --global frozen 1
@@ -15,6 +15,7 @@ COPY Gemfile /usr/src/app/
 COPY Gemfile.lock /usr/src/app/
 
 RUN bundle install
+RUN bundle exec rails assets:precompile
 
 COPY . /usr/src/app
 
@@ -23,4 +24,5 @@ COPY . /usr/src/app
 # ENTRYPOINT ["entrypoint.sh"]
 EXPOSE 3000
 
-CMD ["rails", "server", "-b", "0.0.0.0"]
+# CMD ["rails", "server", "-b", "0.0.0.0"]
+CMD ./docker-entrypoint.sh
diff --git a/Gemfile b/Gemfile
index 21e0e3f..7c00364 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,7 +1,7 @@
 source 'https://rubygems.org'
 git_source(:github) { |repo| "https://github.com/#{repo}.git" }
 
-ruby '2.5.7'
+ruby '2.5.9'
 
 # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
 gem 'rails', '~> 5.2.4', '>= 5.2.4.5'
diff --git a/bin/webpack b/bin/webpack
index 24c6674..1031168 100644
--- a/bin/webpack
+++ b/bin/webpack
@@ -1,18 +1,18 @@
-#!/usr/bin/env ruby
-
-ENV["RAILS_ENV"] ||= ENV["RACK_ENV"] || "development"
-ENV["NODE_ENV"]  ||= "development"
-
-require "pathname"
-ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
-  Pathname.new(__FILE__).realpath)
-
-require "bundler/setup"
-
-require "webpacker"
-require "webpacker/webpack_runner"
-
-APP_ROOT = File.expand_path("..", __dir__)
-Dir.chdir(APP_ROOT) do
-  Webpacker::WebpackRunner.run(ARGV)
-end
+#!/usr/bin/env ruby
+
+ENV["RAILS_ENV"] ||= ENV["RACK_ENV"] || "development"
+ENV["NODE_ENV"]  ||= "development"
+
+require "pathname"
+ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
+  Pathname.new(__FILE__).realpath)
+
+require "bundler/setup"
+
+require "webpacker"
+require "webpacker/webpack_runner"
+
+APP_ROOT = File.expand_path("..", __dir__)
+Dir.chdir(APP_ROOT) do
+  Webpacker::WebpackRunner.run(ARGV)
+end
diff --git a/bin/webpack-dev-server b/bin/webpack-dev-server
index 5c1b83e..dd96627 100644
--- a/bin/webpack-dev-server
+++ b/bin/webpack-dev-server
@@ -1,18 +1,18 @@
-#!/usr/bin/env ruby
-
-ENV["RAILS_ENV"] ||= ENV["RACK_ENV"] || "development"
-ENV["NODE_ENV"]  ||= "development"
-
-require "pathname"
-ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
-  Pathname.new(__FILE__).realpath)
-
-require "bundler/setup"
-
-require "webpacker"
-require "webpacker/dev_server_runner"
-
-APP_ROOT = File.expand_path("..", __dir__)
-Dir.chdir(APP_ROOT) do
-  Webpacker::DevServerRunner.run(ARGV)
-end
+#!/usr/bin/env ruby
+
+ENV["RAILS_ENV"] ||= ENV["RACK_ENV"] || "development"
+ENV["NODE_ENV"]  ||= "development"
+
+require "pathname"
+ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
+  Pathname.new(__FILE__).realpath)
+
+require "bundler/setup"
+
+require "webpacker"
+require "webpacker/dev_server_runner"
+
+APP_ROOT = File.expand_path("..", __dir__)
+Dir.chdir(APP_ROOT) do
+  Webpacker::DevServerRunner.run(ARGV)
+end
diff --git a/docker-compose.yml b/docker-compose.yml
index 339202a..d0e9538 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,9 +1,11 @@
 version: '3'
 services:
-  webpacker:
+  webpack:
     build: .
-    env_file:
-      - '.env.docker'
+    environment:
+      NODE_ENV: development
+      RAILS_ENV: development
+      WEBPACKER_DEV_SERVER_HOST: 0.0.0.0
     command: ./bin/webpack-dev-server
     volumes:
       - .:/app
@@ -12,7 +14,13 @@ services:
   web:
     build: .
     command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
+    environment:
+      RAILS_ENV: development
+      RACK_ENV: development
+      WEBPACKER_DEV_SERVER_HOST: webpack
     volumes:
       - .:/app
     ports:
       - "3000:3000"
+    depends_on:
+      - webpack
diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh
new file mode 100644
index 0000000..a947e94
--- /dev/null
+++ b/docker-entrypoint.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+rm -f tmp/pids/server.pid
+bin/rails server -b 0.0.0.0
-- 
GitLab