roro 0.3.14 → 0.3.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +35 -10
  3. data/Guardfile +7 -7
  4. data/lib/roro.rb +1 -1
  5. data/lib/roro/cli.rb +12 -76
  6. data/lib/roro/cli/base/check_dependencies.rb +0 -1
  7. data/lib/roro/cli/base/utilities.rb +0 -1
  8. data/lib/roro/cli/generate/config.rb +6 -8
  9. data/lib/roro/cli/generate/exposed.rb +14 -0
  10. data/lib/roro/cli/generate/{generate_keys.rb → keys.rb} +22 -0
  11. data/lib/roro/cli/generate/obfuscated.rb +17 -0
  12. data/lib/roro/cli/greenfield/rails.rb +36 -0
  13. data/lib/roro/cli/rollon.rb +2 -66
  14. data/lib/roro/cli/rollon/rails.rb +47 -0
  15. data/lib/roro/cli/rollon/{stories/rails → rails}/database.rb +3 -6
  16. data/lib/roro/cli/rollon/{stories/rails → rails}/database/with_mysql.rb +2 -2
  17. data/lib/roro/cli/rollon/{stories/rails → rails}/database/with_postgresql.rb +2 -2
  18. data/lib/roro/cli/rollon/ruby_gem.rb +1 -0
  19. data/lib/roro/cli/rollon/{stories/ruby_gem → ruby_gem}/with_ci_cd.rb +1 -1
  20. data/lib/roro/cli/rollon/stories.rb +2 -2
  21. data/lib/roro/cli/templates/base/.circleci/_defaults.yml +15 -0
  22. data/lib/roro/cli/templates/base/.circleci/_workflow.yml +2 -0
  23. data/lib/roro/cli/templates/base/.circleci/config.job-example.yml +33 -0
  24. data/lib/roro/cli/templates/base/.circleci/jobs/_build.yml +4 -0
  25. data/lib/roro/cli/templates/base/.circleci/jobs/_release.yml +12 -0
  26. data/lib/roro/cli/templates/base/.circleci/workflows/_build_release.yml +10 -0
  27. data/lib/roro/cli/templates/base/dotenv +1 -0
  28. data/lib/roro/cli/{rollon/stories/rails → templates/rails/.circleci}/.keep +0 -0
  29. data/lib/roro/cli/templates/rails/.circleci/_aliases.yml +8 -0
  30. data/lib/roro/cli/templates/rails/.circleci/config.yml.tt +15 -0
  31. data/lib/roro/cli/templates/rails/.circleci/jobs/_build.yml +16 -0
  32. data/lib/roro/cli/templates/rails/.circleci/jobs/_push.yml +23 -0
  33. data/lib/roro/cli/templates/rails/.circleci/jobs/_test.yml +10 -0
  34. data/lib/roro/cli/templates/rails/.circleci/setup-gem-credentials.sh +3 -0
  35. data/lib/roro/cli/templates/rails/.circleci/workflows/_build_test_push.yml +9 -0
  36. data/lib/roro/cli/templates/{base → rails}/.keep +0 -0
  37. data/lib/roro/cli/templates/{greenfield/Dockerfile.tt → rails/Dockerfile.greenfield.tt} +11 -7
  38. data/lib/roro/cli/templates/{base → rails}/config/database.mysql.yml +0 -0
  39. data/lib/roro/cli/templates/{base → rails}/config/database.pg.yml +0 -0
  40. data/lib/roro/cli/templates/{stories/rails → rails}/database/with_mysql/_service.yml +0 -0
  41. data/lib/roro/cli/templates/{stories/rails → rails}/database/with_postgresql/.keep +0 -0
  42. data/lib/roro/cli/templates/{stories/rails → rails}/database/with_postgresql/_service.yml +0 -0
  43. data/lib/roro/cli/{rollon/stories/database.rb → templates/rails/dotenv/.keep} +0 -0
  44. data/lib/roro/cli/templates/rails/dotenv/database.mysql.env.tt +3 -0
  45. data/lib/roro/cli/templates/rails/dotenv/database.pg.env.tt +4 -0
  46. data/lib/roro/cli/templates/rails/dotenv/web.env.tt +2 -0
  47. data/lib/roro/cli/templates/rails/roro/.keep +0 -0
  48. data/lib/roro/cli/templates/rails/roro/containers/.keep +0 -0
  49. data/lib/roro/cli/templates/rails/roro/containers/app/.keep +0 -0
  50. data/lib/roro/cli/templates/{base → rails/roro/containers/app}/Dockerfile.tt +18 -9
  51. data/lib/roro/cli/templates/rails/roro/containers/frontend/.keep +0 -0
  52. data/lib/roro/cli/templates/rails/roro/docker-compose.yml.tt +59 -0
  53. data/lib/roro/cli/templates/rails/roro/docker-entrypoint.sh.tt +8 -0
  54. data/lib/roro/cli/templates/rails/roro/roro/.keep +0 -0
  55. data/lib/roro/cli/templates/rails/roro/roro/containers/.keep +0 -0
  56. data/lib/roro/cli/templates/rails/roro/roro/containers/app/.keep +0 -0
  57. data/lib/roro/cli/templates/rails/roro/roro/containers/frontend/.keep +0 -0
  58. data/lib/roro/cli/templates/rails/roro/roro/docker-entrypoint.sh.tt +8 -0
  59. data/lib/roro/cli/templates/roro/docker-compose.yml.tt +4 -4
  60. data/lib/roro/cli/templates/ruby_gem/.circleci/config.yml.tt +9 -33
  61. data/lib/roro/cli/templates/stories/with_mysql/_service.yml +2 -2
  62. data/lib/roro/cli/templates/stories/with_postgresql/_service.yml +2 -2
  63. data/lib/roro/version.rb +1 -1
  64. data/roro.gemspec +5 -5
  65. data/vendor/cache/apparition-0.6.0.gem +0 -0
  66. data/vendor/cache/capybara-3.33.0.gem +0 -0
  67. data/vendor/cache/childprocess-3.0.0.gem +0 -0
  68. data/vendor/cache/handsome_fencer-crypto-0.1.9.gem +0 -0
  69. data/vendor/cache/handsome_fencer-test-0.2.2.gem +0 -0
  70. data/vendor/cache/mini_mime-1.0.2.gem +0 -0
  71. data/vendor/cache/regexp_parser-1.7.1.gem +0 -0
  72. data/vendor/cache/rubyzip-2.3.0.gem +0 -0
  73. data/vendor/cache/selenium-webdriver-3.142.7.gem +0 -0
  74. data/vendor/cache/shoulda-2.11.3.gem +0 -0
  75. data/vendor/cache/shoulda-context-2.0.0.rc2.gem +0 -0
  76. data/vendor/cache/shoulda-matchers-4.4.1.gem +0 -0
  77. data/vendor/cache/websocket-driver-0.7.3.gem +0 -0
  78. data/vendor/cache/websocket-extensions-0.1.5.gem +0 -0
  79. data/vendor/cache/xpath-3.2.0.gem +0 -0
  80. metadata +94 -72
  81. data/lib/roro/cli/cli.rb +0 -99
  82. data/lib/roro/cli/expose.rb +0 -14
  83. data/lib/roro/cli/greenfield.rb +0 -31
  84. data/lib/roro/cli/obfuscate.rb +0 -19
  85. data/lib/roro/cli/rollon/stories/rails.rb +0 -1
  86. data/lib/roro/cli/rollon/stories/ruby_gem.rb +0 -77
  87. data/lib/roro/cli/ruby_gem.rb +0 -67
  88. data/vendor/cache/actionpack-6.0.3.2.gem +0 -0
  89. data/vendor/cache/actionview-6.0.3.2.gem +0 -0
  90. data/vendor/cache/builder-3.2.4.gem +0 -0
  91. data/vendor/cache/crass-1.0.6.gem +0 -0
  92. data/vendor/cache/erubi-1.9.0.gem +0 -0
  93. data/vendor/cache/handsome_fencer-crypto-0.1.6.gem +0 -0
  94. data/vendor/cache/handsome_fencer-test-0.1.1.gem +0 -0
  95. data/vendor/cache/loofah-2.6.0.gem +0 -0
  96. data/vendor/cache/minitest-rails-6.0.1.gem +0 -0
  97. data/vendor/cache/rails-dom-testing-2.0.3.gem +0 -0
  98. data/vendor/cache/rails-html-sanitizer-1.3.0.gem +0 -0
  99. data/vendor/cache/railties-6.0.3.2.gem +0 -0
  100. data/vendor/cache/shoulda-4.0.0.gem +0 -0
  101. data/vendor/cache/shoulda-context-2.0.0.gem +0 -0
  102. data/vendor/cache/shoulda-matchers-4.3.0.gem +0 -0
@@ -1,5 +1,3 @@
1
- require 'roro/cli/rollon/stories/rails/database/with_mysql'
2
- require 'roro/cli/rollon/stories/rails/database/with_postgresql'
3
1
  module Roro
4
2
 
5
3
  class CLI < Thor
@@ -21,10 +19,9 @@ module Roro
21
19
  end
22
20
 
23
21
  %w(development production test staging ci).each do |environment|
24
- template(
25
- 'base/.env/web.env.tt',
26
- "roro/containers/app/#{environment}.env", @config.app
27
- )
22
+ src = 'rails/dotenv/web.env.tt'
23
+ dest = "roro/containers/app/#{environment}.env"
24
+ template src, dest, @config.app
28
25
  end
29
26
  end
30
27
  end
@@ -6,13 +6,13 @@ module Roro
6
6
 
7
7
  def configure_for_mysql
8
8
  insert_db_gem('mysql2')
9
- copy_file 'base/config/database.mysql.yml', 'config/database.yml', force: true
9
+ copy_file 'rails/config/database.mysql.yml', 'config/database.yml', force: true
10
10
  config = @config.app.clone
11
11
 
12
12
  %w(development production test staging ci).each do |environment|
13
13
  config['rails_env'] = environment
14
14
 
15
- source = 'base/.env/database.mysql.env.tt'
15
+ source = 'rails/dotenv/database.mysql.env.tt'
16
16
  target = "roro/containers/database/#{environment}.env"
17
17
  template( source, target, config )
18
18
  end
@@ -6,12 +6,12 @@ module Roro
6
6
 
7
7
  def configure_for_pg
8
8
  insert_db_gem('pg')
9
- copy_file 'base/config/database.pg.yml', 'config/database.yml', force: true
9
+ copy_file 'rails/config/database.pg.yml', 'config/database.yml', force: true
10
10
  config = @config.app.clone
11
11
  %w(development production test staging ci).each do |environment|
12
12
  config['rails_env'] = environment
13
13
 
14
- source = 'base/.env/database.pg.env.tt'
14
+ source = 'rails/dotenv/database.pg.env.tt'
15
15
  target = "roro/containers/database/#{environment}.env"
16
16
  template( source, target, config )
17
17
  end
@@ -0,0 +1 @@
1
+ require 'roro/cli/rollon/ruby_gem/with_ci_cd.rb'
@@ -6,11 +6,11 @@ module Roro
6
6
 
7
7
  def rollon_ruby_gem_with_ci_cd(*args)
8
8
  ruby_gem_with_ci_cd(*args)
9
+ configure_for_rollon
9
10
  end
10
11
 
11
12
  no_commands do
12
13
  def ruby_gem_with_ci_cd(*args)
13
- configure_for_rollon
14
14
  answer = ask("\nYou can add your rubygems api key in\n\t
15
15
  './roro/containers/ruby_gem/ci.env' \n\nlater, or we'll try to add it here:",
16
16
  default: '')
@@ -1,2 +1,2 @@
1
- require 'roro/cli/rollon/stories/ruby_gem'
2
- require 'roro/cli/rollon/stories/rails'
1
+ require 'roro/cli/rollon/ruby_gem'
2
+ require 'roro/cli/rollon/rails'
@@ -0,0 +1,15 @@
1
+ defaults: &defaults
2
+ executor: machine-executor
3
+ working_directory: ~/project
4
+
5
+ version: 2.1
6
+
7
+ executors:
8
+ machine-executor:
9
+ machine:
10
+ docker_layer_caching: true
11
+ ruby-executor:
12
+ docker:
13
+ - image: cimg/ruby:2.7
14
+
15
+ jobs:
@@ -0,0 +1,2 @@
1
+ workflows:
2
+ version: 2
@@ -0,0 +1,33 @@
1
+ defaults: &defaults
2
+ working_directory: /tmp
3
+
4
+ version: 2
5
+
6
+ jobs:
7
+
8
+ build:
9
+ machine: true
10
+ steps:
11
+ - checkout
12
+ - add_ssh_keys
13
+
14
+ - run: gem install handsome_fencer-circle_c_i
15
+ - run: handsome_fencer-circle_c_i expose circleci
16
+ - run: handsome_fencer-circle_c_i expose development
17
+ - run: echo 'source docker/env_files/circleci.env' >> $BASH_ENV
18
+ - run: docker-compose build
19
+ - run: docker-compose up -d
20
+ - run: docker-compose exec app bin/rails db:create db:migrate
21
+ - run: docker login -u $DOCKERHUB_USER -p $DOCKERHUB_PASS
22
+ - run:
23
+ name: Tag app image
24
+ command: docker tag $(docker images | grep project_app | awk '{ print $3 }') ${DOCKERHUB_ORG_NAME}/${APP_NAME}_app:$DEPLOY_TAG
25
+ - run:
26
+ name: Tag web image
27
+ command: docker tag $(docker images | grep project_web | awk '{ print $3 }') ${DOCKERHUB_ORG_NAME}/${APP_NAME}_web:$DEPLOY_TAG
28
+
29
+
30
+ - run: docker push ${DOCKERHUB_ORG_NAME}/${APP_NAME}_app:$DEPLOY_TAG
31
+ - run: docker push ${DOCKERHUB_ORG_NAME}/${APP_NAME}_web:$DEPLOY_TAG
32
+
33
+ - run: rake --rakefile .circleci/Rakefile
@@ -0,0 +1,4 @@
1
+ build:
2
+ machine: true
3
+ steps:
4
+ - checkout
@@ -0,0 +1,12 @@
1
+ release:
2
+ machine: true
3
+ steps:
4
+ - checkout
5
+ - run: gem install roro
6
+ - run: roro generate::exposed ci
7
+ - run: echo 'source roro/containers/ruby_image/ci.env' >> $BASH_ENV
8
+ - run: chmod +x ./.circleci/setup-gem-credentials.sh
9
+ - run: ./.circleci/setup-gem-credentials.sh
10
+ - run: cat ~/.gem/credentials
11
+ - run: git checkout .
12
+ - run: gem release
@@ -0,0 +1,10 @@
1
+ build-release:
2
+ jobs:
3
+ - build
4
+ - test
5
+ - release:
6
+ requires:
7
+ - build
8
+ filters:
9
+ branches:
10
+ only: release
@@ -0,0 +1 @@
1
+ RORO_ENV=development
@@ -0,0 +1,8 @@
1
+ aliases:
2
+ - &workspace-location
3
+ at: /tmp/workspace
4
+ - &copy-ci-dotenv |
5
+ cp -rf /tmp/workspace/roro .
6
+ - &source-ci-variables |
7
+ echo 'source roro/containers/app/ci.env' >> $BASH_ENV
8
+ source $BASH_ENV
@@ -0,0 +1,15 @@
1
+ <%= yaml_from_template("rails/.circleci/_aliases.yml") %>
2
+
3
+ <%= yaml_from_template("base/.circleci/_defaults.yml") %>
4
+
5
+ <%= yaml_from_template("rails/.circleci/jobs/_build.yml") %>
6
+
7
+ <%= yaml_from_template("rails/.circleci/jobs/_test.yml") %>
8
+
9
+ <%= yaml_from_template("rails/.circleci/jobs/_push.yml") %>
10
+
11
+ <%= yaml_from_template("base/.circleci/_workflow.yml") %>
12
+
13
+ <%= yaml_from_template("rails/.circleci/workflows/_build_test_push.yml") %>
14
+
15
+
@@ -0,0 +1,16 @@
1
+ build:
2
+ <<: *defaults
3
+ steps:
4
+ - checkout
5
+ - run: |
6
+ gem install roro
7
+ roro generate::exposed ci
8
+ - run: |
9
+ mkdir -p workspace
10
+ cp -r roro workspace/
11
+ - persist_to_workspace:
12
+ root: workspace
13
+ paths:
14
+ - roro
15
+ - run: *source-ci-variables
16
+ - run: RORO_ENV=ci docker-compose up -d --build
@@ -0,0 +1,23 @@
1
+ push:
2
+ machine: true
3
+ steps:
4
+ - checkout
5
+ - run: gem install handsome_fencer-circle_c_i
6
+ - run: handsome_fencer-circle_c_i expose circleci
7
+ - run: handsome_fencer-circle_c_i expose development
8
+ - run: echo 'source docker/env_files/circleci.env' >> $BASH_ENV
9
+ - run: cp docker/overrides/circleci.yml docker-compose.override.yml
10
+ - run: docker-compose build
11
+ - run: docker login -u $DOCKERHUB_USER -p $DOCKERHUB_PASS
12
+ - run:
13
+ name: Tag app image
14
+ command: docker tag $(docker images | grep project_app | awk '{ print $3 }') ${DOCKERHUB_ORG}/${APP_NAME}_app:$DEPLOY_TAG
15
+ # - run: docker tag $(docker images | grep project_app | awk '{ print $3 }') ${DOCKERHUB_ORG}/${APP_NAME}_app:latest
16
+ - run:
17
+ name: Tag app image
18
+ command: docker tag $(docker images | grep project_web | awk '{ print $3 }') ${DOCKERHUB_ORG}/${APP_NAME}_web:$DEPLOY_TAG
19
+ # - run: docker tag $(docker images | grep project_web | awk '{ print $3 }') ${DOCKERHUB_ORG}/${APP_NAME}_web:latest
20
+ - run: docker push ${DOCKERHUB_ORG}/${APP_NAME}_app:$DEPLOY_TAG
21
+ - run: docker push ${DOCKERHUB_ORG}/${APP_NAME}_app:latest
22
+ - run: docker push ${DOCKERHUB_ORG}/${APP_NAME}_web:$DEPLOY_TAG
23
+ - run: docker push ${DOCKERHUB_ORG}/${APP_NAME}_web:latest
@@ -0,0 +1,10 @@
1
+ test:
2
+ <<: *defaults
3
+ steps:
4
+ - checkout
5
+ - attach_workspace: *workspace-location
6
+ - run: *copy-ci-dotenv
7
+ - run: *source-ci-variables
8
+ - run: |
9
+ RORO_ENV=ci docker-compose run web yarn
10
+ RORO_ENV=ci docker-compose run web bin/rails test
@@ -0,0 +1,3 @@
1
+ mkdir ~/.gem
2
+ echo -e "---\r\n:rubygems_api_key: $RUBYGEMS_API_KEY" > ~/.gem/credentials
3
+ chmod 0600 /home/circleci/.gem/credentials
@@ -0,0 +1,9 @@
1
+ build-and-test:
2
+ jobs:
3
+ - build
4
+ - test:
5
+ requires:
6
+ - build
7
+ filters:
8
+ branches:
9
+ only: development
@@ -13,24 +13,28 @@ RUN mkdir ${APP_HOME}
13
13
 
14
14
  ## Tell bundler where to store downloaded gems:
15
15
  ENV BUNDLE_PATH /gems
16
- RUN mkdir ${BUNDLE_PATH}}
16
+ RUN mkdir ${BUNDLE_PATH}
17
17
 
18
18
  ## Tell Docker to create volumes for our workspace and gems
19
19
  ## so other containers can access them.
20
20
  VOLUME ${APP_HOME}
21
- VOLUME /gems
21
+ VOLUME ${BUNDLE_PATH}
22
+
23
+ ## Switch to the the work directory from container root:
24
+ WORKDIR ${APP_HOME}
22
25
 
23
26
  ## Create a Gemfile with just the Rails gem inside:
24
27
  RUN echo "source 'https://rubygems.org'\ngem 'rails'" > Gemfile
25
28
 
26
29
  ## Bundle to install rails:
27
-
28
- ## Switch to the the work directory from container root:
29
- WORKDIR ${APP_HOME}
30
-
31
30
  RUN bundle install
31
+
32
32
  ## Use Rails to generate a new app. We'll configure it later.
33
- RUN bundle exec rails new . --skip-webpack-install --skip-bundle
33
+ RUN bundle exec rails new .
34
+
35
+ ## setup yarn for rails:
36
+ RUN bundle exec rails yarn:install
37
+
34
38
 
35
39
  ## Tell docker not to create a layer:
36
40
  FROM scratch AS export-stage
@@ -0,0 +1,3 @@
1
+ <% config['mysql_env_vars'].each do |k,v| %><%= "\n" + k + "=" + v %><% end %>
2
+ MYSQL_DATABASE=<%= config['main_app_name'] + "_db"%>
3
+ RAILS_ENV=<%= config['rails_env'] %>
@@ -0,0 +1,4 @@
1
+ <% config['postgresql_env_vars'].each do |k,v| %><%= "\n" + k + "=" + v %><% end %>
2
+ POSTGRES_DB=<%= config['main_app_name'] + "_" + config['rails_env'] %>
3
+ RAILS_ENV=<%= config['rails_env'] %>
4
+
@@ -0,0 +1,2 @@
1
+ DATABASE_HOST=database
2
+ RAILS_LOG_TO_STDOUT=true
@@ -58,25 +58,34 @@ VOLUME ${BUNDLE_PATH}
58
58
  ## with slow-building layers that don't change often underneath smaller,
59
59
  ## lighter, qucker oens that might change a lot.
60
60
 
61
- ## Build your big, slow gem layer by first copying your Gemfile && Gemfile.lock:
62
- COPY Gemfile* ./
63
-
64
61
  ## Set your work directory:
65
62
  WORKDIR ${APP_HOME}
66
63
 
64
+ ## You may need to adjust the bundler version based on your app Gemfile.lock's
65
+ ## bundler version:
66
+ RUN gem install bundler:2.1.4
67
+
68
+ ## Set your work directory. After this line you will be running commands in
69
+ ## ${APP_HOME}. COPY instructions will move files from host to ${APP_HOME}:
70
+ WORKDIR ${APP_HOME}
71
+
72
+ ## Build your big, slow gem layer by first copying your Gemfile && Gemfile.lock:
73
+ COPY package.json ./
74
+ COPY Gemfile* ./
75
+
67
76
  ## build the bundle layer, which now only runs if your Gemfile changes:
68
77
  RUN bundle
69
78
 
70
- ## Now build a layer layer with everything in your app that's likely to change
79
+ ## Now build a layer with everything in your app that's likely to change
71
80
  ## frequently. If you make a change to any of these files, only this layer has
72
- ## to rebuild. smaller, lighter layer
81
+ ## to rebuild:
73
82
  COPY . ${APP_HOME}
74
83
 
84
+ ## Now make your entrypoint executable.
85
+ RUN chmod +x roro/docker-entrypoint.sh
75
86
 
76
- COPY roro/docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
77
- RUN chmod +x /usr/bin/docker-entrypoint.sh
78
- ENTRYPOINT ["docker-entrypoint.sh"]
79
-
87
+ ## Now update node modules:
88
+ RUN yarn
80
89
 
81
90
 
82
91
 
@@ -0,0 +1,59 @@
1
+ version: '3.2'
2
+
3
+ services:
4
+
5
+ web:
6
+ build:
7
+ context: .
8
+ dockerfile: roro/containers/app/Dockerfile
9
+ depends_on:
10
+ - database
11
+ - redis
12
+
13
+ command: ["bin/rails", "s", "-b", "0.0.0.0"]
14
+ ports:
15
+ - "3000:3000"
16
+ - "4000:4000"
17
+ volumes:
18
+ - .:/usr/src/app
19
+ - gem_cache:/gems
20
+ env_file:
21
+ - roro/containers/app/${RORO_ENV:-development}.env
22
+ - roro/containers/database/${RORO_ENV:-development}.env
23
+ environment:
24
+ - WEBPACKER_DEV_SERVER_HOST=webpack_dev_server
25
+
26
+ webpack_dev_server:
27
+ build:
28
+ context: .
29
+ dockerfile: roro/containers/app/Dockerfile
30
+
31
+
32
+ command: ./bin/webpack-dev-server
33
+ ports:
34
+ - 3035:3035
35
+ volumes:
36
+ - .:/usr/src/app
37
+ - gem_cache:/gems
38
+ env_file:
39
+ - roro/containers/app/${RORO_ENV:-development}.env
40
+ - roro/containers/database/${RORO_ENV:-development}.env
41
+ environment:
42
+ - WEBPACKER_DEV_SERVER_HOST=0.0.0.0
43
+
44
+ redis:
45
+ image: redis
46
+
47
+ <%= yaml_from_template("stories/with_#{config['database_vendor']}/_service.yml") %>
48
+
49
+ system_tests:
50
+ image: selenium/standalone-chrome-debug
51
+ logging:
52
+ driver: none
53
+ ports:
54
+ - "35729:35729"
55
+ - "5900:5900"
56
+
57
+ volumes:
58
+ db_data:
59
+ gem_cache:
@@ -0,0 +1,8 @@
1
+ #!/bin/bash
2
+ set -e
3
+
4
+ # Remove a potentially pre-existing server.pid for Rails.
5
+ rm -f /usr/src/app/tmp/pids/server.pid
6
+
7
+ # Then exec the container's main process (what's set as CMD in the Dockerfile).
8
+ exec "$@"