diff --git a/Dockerfile b/Dockerfile index 77983a17..b1bcce07 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,6 +5,8 @@ RUN bundle config --global frozen 1 WORKDIR /app +RUN touch /etc/app-env + COPY Gemfile* /app/ RUN gem install bundler RUN bundle install --jobs 4 @@ -17,8 +19,7 @@ COPY config/site.docker.yml /app/config/site.yml RUN RAILS_ENV=production bundle exec rake assets:precompile -COPY docker-entrypoint.sh / -ENTRYPOINT ["/docker-entrypoint.sh"] +ENTRYPOINT ["/app/docker-entrypoint.sh"] EXPOSE 3000 diff --git a/bin/bundle b/bin/bundle index e3b1daa1..f7b07eed 100755 --- a/bin/bundle +++ b/bin/bundle @@ -1,6 +1,6 @@ #!/usr/bin/env ruby if File.exist?("#{__dir__}/../.use-docker") - exec("#{__dir__}/../script/docker-environment", $PROGRAM_NAME, *ARGV) + exec("#{__dir__}/../script/docker-environment", $PROGRAM_NAME, *ARGV) unless File.exist?("/etc/app-env") end ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__) load Gem.bin_path('bundler', 'bundle') diff --git a/bin/rails b/bin/rails index 4ed2026f..e2afa025 100755 --- a/bin/rails +++ b/bin/rails @@ -1,6 +1,6 @@ #!/usr/bin/env ruby if File.exist?("#{__dir__}/../.use-docker") - exec("#{__dir__}/../script/docker-environment", $PROGRAM_NAME, *ARGV) + exec("#{__dir__}/../script/docker-environment", $PROGRAM_NAME, *ARGV) unless File.exist?("/etc/app-env") end APP_PATH = File.expand_path('../config/application', __dir__) diff --git a/bin/rake b/bin/rake index e68ed28a..c9e1ee4c 100755 --- a/bin/rake +++ b/bin/rake @@ -1,6 +1,6 @@ #!/usr/bin/env ruby if File.exist?("#{__dir__}/../.use-docker") - exec("#{__dir__}/../script/docker-environment", $PROGRAM_NAME, *ARGV) + exec("#{__dir__}/../script/docker-environment", $PROGRAM_NAME, *ARGV) unless File.exist?("/etc/app-env") end require_relative '../config/boot' require 'rake' diff --git a/bin/spring b/bin/spring index a036d6b4..4feabfe4 100755 --- a/bin/spring +++ b/bin/spring @@ -1,6 +1,6 @@ #!/usr/bin/env ruby if File.exist?("#{__dir__}/../.use-docker") - exec("#{__dir__}/../script/docker-environment", $PROGRAM_NAME, *ARGV) + exec("#{__dir__}/../script/docker-environment", $PROGRAM_NAME, *ARGV) unless File.exist?("/etc/app-env") end # This file loads spring without using Bundler, in order to be fast diff --git a/docker-compose.yml b/docker-compose.yml index 55a832ec..c2b45a1f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,8 +11,9 @@ services: build: . environment: DATABASE_USERNAME: root + DATABASE_PASSWORD_EMPTY: 1 volumes: - - ${VOLUME:-.:/app} + - ${VOLUME:-.:/app}:Z ports: - 3000:3000 depends_on: diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 68931845..12fe9243 100755 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -5,7 +5,12 @@ export DATABASE_NAME=${DATABASE_NAME:-tracks} export DATABASE_HOST=${DATABASE_HOST:-db} export DATABASE_PORT=${DATABASE_PORT:-3306} export DATABASE_USERNAME=${DATABASE_USERNAME:-tracks} -export DATABASE_PASSWORD=${DATABASE_PASSWORD:-password} +if [ "$DATABASE_PASSWORD_EMPTY" != 1 ]; +then + export DATABASE_PASSWORD=${DATABASE_PASSWORD:-password} +else + export DATABASE_PASSWORD="" +fi export DATABASE_TYPE=${DATABASE_TYPE:-mysql2} export DATABASE_ENCODING=${DATABASE_ENCODING:-utf8}