diff --git a/.env.docker b/.env.docker new file mode 100644 index 0000000000000000000000000000000000000000..986ee6e7dd68bf3305e505f887254737f13f3b79 --- /dev/null +++ b/.env.docker @@ -0,0 +1,3 @@ +NODE_ENV=development +RAILS_ENV=development +WEBPACKER_DEV_SERVER_HOST=0.0.0.0 diff --git a/Dockerfile b/Dockerfile index e63ea0ea5bd9e514aac6663ccd63afbb28f22855..7bc6b20f3692826009f5c1c3e569629b8385e7f4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,18 +6,21 @@ FROM ruby:2.5.7 RUN mkdir -p /usr/src/app WORKDIR /usr/src/app -EXPOSE 3000 -CMD ["rails", "server", "-b", "0.0.0.0"] - RUN apt-get update && apt-get install -y nodejs --no-install-recommends && rm -rf /var/lib/apt/lists/* -RUN apt-get update && apt-get install -y default-mysql-client postgresql-client sqlite3 --no-install-recommends && rm -rf /var/lib/apt/lists/* +RUN apt-get update && apt-get install -y default-mysql-client postgresql-client sqlite3 yarn --no-install-recommends && rm -rf /var/lib/apt/lists/* #RUN gem install bundler -v 1.17.3 COPY Gemfile /usr/src/app/ # Uncomment the line below if Gemfile.lock is maintained outside of build process COPY Gemfile.lock /usr/src/app/ - RUN bundle install COPY . /usr/src/app + +# COPY entrypoint.sh /usr/bin/ +# RUN chmod +x /usr/bin/entrypoint.sh +# ENTRYPOINT ["entrypoint.sh"] +EXPOSE 3000 + +CMD ["rails", "server", "-b", "0.0.0.0"] diff --git a/docker-compose.yml b/docker-compose.yml index df5a17150b83f2ff54c6dfe681e601e783ff0314..339202abc09f01195ee66d633bfaff90c8a92815 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,17 +1,18 @@ -version: "3" +version: '3' services: - db: - image: postgres + webpacker: + build: . + env_file: + - '.env.docker' + command: ./bin/webpack-dev-server volumes: - - ./tmp/db:/var/lib/postgresql/data - environment: - POSTGRES_PASSWORD: password + - .:/app + ports: + - '3035:3035' web: build: . command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'" volumes: - - .:/myapp + - .:/app ports: - "3000:3000" - depends_on: - - db diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 0000000000000000000000000000000000000000..3cd8060bb84b36b38e32c3b04b4ba74f768ae30c --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh +set -e + +# Remove a potentially pre-existing server.pid for Rails. +rm -f /myapp/tmp/pids/server.pid + +# Then exec the container's main process (what's set as CMD in the Dockerfile). +exec "$@"