Skip to content

Latest commit

 

History

History
68 lines (51 loc) · 1.56 KB

docker.md

File metadata and controls

68 lines (51 loc) · 1.56 KB

Docker

To setup webpacker with a dockerized Rails application is trivial.

First, add a new service for webpacker in docker-compose.yml:

version: '3'
services:
  webpacker:
    build: .
    env_file:
      - '.env.docker'
    command: ./bin/webpack-dev-server
    volumes:
      - .:/webpacker-example-app
    ports:
      - '3035:3035'

Second, change the webpack-dev-server host to the service name of the docker-compose in config/webpacker.yml:

development:
  <<: *default
  dev_server:
    host: webpacker

add nodejs and yarn as dependencies in Dockerfile,

FROM ruby:2.4.1

RUN apt-get update -qq && apt-get install -y build-essential nodejs \
 && rm -rf /var/lib/apt/lists/* \
 && curl -o- -L https://yarnpkg.com/install.sh | bash

# Rest of the commands....

Please note: if using assets:precompile in the Dockerfile or have issues with the snippet above then try:

FROM ruby:2.4.1

RUN curl -sL https://deb.nodesource.com/setup_8.x | bash \
 && apt-get update && apt-get install -y nodejs && rm -rf /var/lib/apt/lists/* \
 && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
 && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
 && apt-get update && apt-get install -y yarn && rm -rf /var/lib/apt/lists/*

# Rest of the commands....

and create an env file to load environment variables from:

NODE_ENV=development
RAILS_ENV=development
WEBPACKER_DEV_SERVER_HOST=0.0.0.0

Lastly, rebuild your container:

docker-compose up --build