Rails向けDocker設定置き場
code:docker-compose.yml
version: "3.8"
services:
app: &rails
build: .
depends_on:
- db
environment:
DATABASE_URL: postgres://postgres:hi@db:5432
BUNDLE_PATH: /bundle
NODE_PATH: /node_modules
RAILS_ENV: development
WEBPACKER_DEV_SERVER_HOST: webpacker
ports:
- "3000:3000"
# この2行はpryでとめてattachするため
stdin_open: true
tty: true
volumes:
- home:/home/app
- .:/app
- bundle:/bundle
- node_modules:/node_modules
webpacker:
<<: *rails
command: webpack-dev-server
environment:
WEBPACKER_DEV_SERVER_HOST: 0.0.0.0
ports:
- "3035:3035"
db:
image: postgres:12.3-alpine
environment:
POSTGRES_PASSWORD: hi
volumes:
- pgdata:/var/lib/postgresql/data
volumes:
bundle:
home:
node_modules:
pgdata:
code:Dockerfile
FROM rubylang/ruby:2.7.1-bionic
RUN ["/bin/bash", "-c", "set -o pipefail && \
mkdir -p /app /bundle /node_modules && \
chown -R ubuntu:ubuntu /app /bundle /node_modules && \
apt-get update -qq && \
apt-get install -y curl gnupg && \
apt-get update -qq && \
apt-get install -y nodejs postgresql-client build-essential libpq-dev yarn"]
COPY entrypoint.sh /usr/local/bin
RUN chmod +x /usr/local/bin/entrypoint.sh
USER ubuntu
WORKDIR /app
ENV PATH /app/bin:$PATH
EXPOSE 3000
code:entrypoint.sh
set -e
rm -f /app/tmp/pids/server.pid
exec "$@"
code:bin/setup.diff
diff --git a/bin/setup b/bin/setup
index 5853b5e..2d33af1 100755
--- a/bin/setup
+++ b/bin/setup
@@ -18,7 +18,7 @@ FileUtils.chdir APP_ROOT do
system('bundle check') || system!('bundle install')
# Install JavaScript dependencies
- # system('bin/yarn')
+ system('bin/yarn')
# puts "\n== Copying sample files =="
# unless File.exist?('config/database.yml')
code:config/initializers/assets.rb.diff
diff --git a/config/initializers/assets.rb b/config/initializers/assets.rb
index 4b828e8..bb514e8 100644
--- a/config/initializers/assets.rb
+++ b/config/initializers/assets.rb
@@ -7,7 +7,7 @@
# Rails.application.config.assets.paths << Emoji.images_path
# Add Yarn node_modules folder to the asset load path.
Rails.application.config.assets.paths << Rails.root.join('node_modules')
-
+Rails.application.config.assets.paths << '/node_modules'
# Precompile additional assets.
# application.js, application.css, and all non-JS/CSS in the app/assets
# folder are already added.