dockerize-stack 0.1.0 → 0.2.0

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 (24) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rails/dockerize_rails.rb +38 -12
  3. data/lib/rails/templates/config/database-docker.yml.erb +4 -1
  4. data/lib/rails/templates/docker/Dockerfile.production.erb +89 -0
  5. data/lib/rails/templates/docker/kubernetes/scripts/deploy.sh +5 -0
  6. data/lib/rails/templates/docker/kubernetes/scripts/get-secrets.sh +1 -0
  7. data/lib/rails/templates/docker/kubernetes/scripts/remoteconsole.sh +2 -0
  8. data/lib/rails/templates/docker/kubernetes/scripts/set-config-map.sh +4 -0
  9. data/lib/rails/templates/docker/kubernetes/scripts/set-secrets.sh +5 -0
  10. data/lib/rails/templates/docker/kubernetes/scripts/set-services.sh +2 -0
  11. data/lib/rails/templates/docker/kubernetes/scripts/set-workloads.sh +2 -0
  12. data/lib/rails/templates/docker/kubernetes/services/cloudsql-proxy.yaml +12 -0
  13. data/lib/rails/templates/docker/kubernetes/services/rails-nginx.yaml +14 -0
  14. data/lib/rails/templates/docker/kubernetes/workloads/cloudsql-proxy.yaml +32 -0
  15. data/lib/rails/templates/docker/kubernetes/workloads/rails-nginx.yaml +26 -0
  16. data/lib/rails/templates/docker/production/dockerbuild.sh +41 -0
  17. data/lib/rails/templates/docker/production/nginx/Dockerfile +13 -0
  18. data/lib/rails/templates/docker/production/nginx/entrypoint.sh +3 -0
  19. data/lib/rails/templates/docker/production/nginx/etc/nginx/conf.d/default.conf +34 -0
  20. data/lib/rails/templates/docker/production/nginx/etc/nginx/nginx.conf +36 -0
  21. data/lib/rails/templates/docker/production/rails/entrypoint.sh +7 -0
  22. data/lib/rails/templates/docker-compose.yml.erb +1 -1
  23. data/lib/version.rb +1 -1
  24. metadata +19 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6b53f448f2fabd4d3ad3ede66b61238759c451ca
4
- data.tar.gz: 168e2b581af9dda10ddf43363278c3716f0d7324
3
+ metadata.gz: 7b14e1b24576d14cc0369d810fef3f45c6f1b1bf
4
+ data.tar.gz: a4a2b169b1142db89fb3b966dc4c1e2527e9eb20
5
5
  SHA512:
6
- metadata.gz: f55ae60e397d0e6cb75a6ae72e39d3b33bff951f0130465b3586ad335b3f905189f625c79e639ba47e87795f18449563b1d1f2c47c3c4d765be1b947a5ee9afc
7
- data.tar.gz: 8c3dd9409b7a85a409c96a283aa3266b56b7c54314a192c5828e5e695f1c8e6c2b3e0c8b7efd496c029a7f5a2e5bcc4f09b1ae5ffd758b76c406240553f2286d
6
+ metadata.gz: 6c0180e7f0245a6b92d75f765343126dd99de7626baa94fd725fc275b6002876e88ac5c26efc724a02bf87f61fe1363e14ba1fbe3714f92b182bef2d9a389dd6
7
+ data.tar.gz: 9bca13913d4da030c5579834cc0cec3973b23ad45ab47f847c4e37e9aeeaae866273686923b677d68dd194b62eb18c34c45fd6516d1f6451e49014fceb26a86c
@@ -4,6 +4,7 @@ class DockerizeRails < Thor
4
4
  include Thor::Actions
5
5
  attr_accessor :ruby_version, :database, :id_rsa
6
6
 
7
+ WORKDIR = ".".freeze
7
8
 
8
9
  def self.source_root
9
10
  File.dirname(__FILE__)
@@ -17,6 +18,9 @@ class DockerizeRails < Thor
17
18
  id_rsa = ask('Would you need your id_rsa file to connect with GitHub? Type yes or no (default no):')
18
19
  id_rsa = 'no' if id_rsa == ''
19
20
  render_templates(ruby_version: ruby_version, database: database, id_rsa: id_rsa)
21
+ render_production_templates(ruby_version: ruby_version, database: database, id_rsa: id_rsa)
22
+
23
+ puts 'Update your database.yml based in database-docker.yml'
20
24
  end
21
25
 
22
26
  no_commands do
@@ -25,22 +29,44 @@ class DockerizeRails < Thor
25
29
  @database = database
26
30
  @id_rsa = id_rsa
27
31
 
28
- template 'templates/docker/development/Dockerfile.erb', 'docker/development/Dockerfile'
29
- template 'templates/docker/development/entrypoint.sh.erb', 'docker/development/entrypoint.sh'
30
- template 'templates/docker-compose.yml.erb', 'docker-compose.yml'
31
- template 'templates/config/database-docker.yml.erb', 'config/database-docker.yml'
32
- template 'templates/dockerignore.erb', '.dockerignore'
33
-
34
- append_to_file '.gitignore', '
32
+ template 'templates/docker/development/Dockerfile.erb', "#{WORKDIR}/docker/development/Dockerfile"
33
+ template 'templates/docker/development/entrypoint.sh.erb', "#{WORKDIR}/docker/development/entrypoint.sh"
34
+ template 'templates/docker-compose.yml.erb', "#{WORKDIR}/docker-compose.yml"
35
+ template 'templates/config/database-docker.yml.erb', "#{WORKDIR}/config/database-docker.yml"
36
+ template 'templates/dockerignore.erb', "#{WORKDIR}/.dockerignore"
37
+ append_or_create "#{WORKDIR}/.gitignore", '
35
38
  volumes'
36
39
  if @id_rsa == 'yes'
37
- template 'templates/id_rsa.sample', 'id_rsa.sample'
38
- append_to_file '.gitignore', '
39
- id_rsa'
40
- append_to_file '.gitignore', '
41
- id_rsa.sample'
40
+ template 'templates/id_rsa.sample', "#{WORKDIR}/id_rsa.sample"
41
+ append_or_create "#{WORKDIR}/.gitignore", '
42
+ id_rsa
43
+ id_rsa.sample
44
+ '
42
45
  end
43
46
  puts 'Update your database.yml based in database-docker.yml'
44
47
  end
48
+
49
+ def render_production_templates(ruby_version: '2.5.1-slim', database: 'postgresql', id_rsa: 'no')
50
+ response = ask("You want generate docker-stack for production?")
51
+ return false unless response
52
+ @ruby_version = ruby_version
53
+ @database = database
54
+ @id_rsa = id_rsa
55
+
56
+ directory 'templates/docker/production', "#{WORKDIR}/docker/production"
57
+ directory 'templates/docker/kubernetes', "#{WORKDIR}/docker/kubernetes"
58
+
59
+ template 'templates/docker/Dockerfile.production.erb', "#{WORKDIR}/docker/production/rails/Dockerfile"
60
+ end
61
+ end
62
+
63
+ private
64
+
65
+ def append_or_create(file_path, file_content)
66
+ if File.exist?(file_path)
67
+ append_to_file file_path, file_content
68
+ else
69
+ create_file file_path, file_content
70
+ end
45
71
  end
46
72
  end
@@ -35,4 +35,7 @@ test:
35
35
 
36
36
  production:
37
37
  <<: *default
38
- database: myapp_production
38
+ host: <%= ENV["DATABASE_HOST"] %>
39
+ database: <%= ENV["DATABASE_NAME"] %>
40
+ username: <%= ENV["DATABASE_USERNAME"] %>
41
+ password: <%= ENV["DATABASE_PASSWORD"] %>
@@ -0,0 +1,89 @@
1
+ FROM ruby:<%= ruby_version %> as builder
2
+
3
+ ENV RAILS_ENV=production
4
+ ENV NODE_ENV=production
5
+
6
+ # install common dev libs
7
+ RUN apt-get update -qq && apt-get dist-upgrade -y && apt-get install -y \
8
+ build-essential \
9
+ apt-transport-https \
10
+ git \
11
+ curl
12
+ <% if database == "mysql" %>
13
+ # install mysql
14
+ RUN apt-get update -qq && apt-get dist-upgrade -y && apt-get install -y libmysqlclient-dev mysql-client
15
+ <% elsif database == "postgresql" %>
16
+ # install postgresql
17
+ RUN apt-get update -qq && apt-get dist-upgrade -y && apt-get install -y libpq-dev postgresql-client
18
+ <% end %>
19
+ # install node 8.9.1 LTS
20
+ RUN curl -sL https://deb.nodesource.com/setup_8.x | bin/bash - \
21
+ && apt-get update -qq && apt-get dist-upgrade -y && apt-get update && apt-get install -y nodejs
22
+
23
+ # install yarn
24
+ RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
25
+ && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
26
+ && apt-get update && apt-get dist-upgrade -y && apt-get update && apt-get install yarn
27
+
28
+ RUN mkdir /app
29
+ WORKDIR /app
30
+
31
+ # ************Install Ruby gems***************************
32
+ # Invalidate gems cache if change Gemfile or Gemfile.lock
33
+ COPY Gemfile Gemfile.lock /app/
34
+ RUN bundle install -j 4 --without development test staging --deployment
35
+ # ******************************************************
36
+
37
+ # ********Install Node packages************************
38
+ # Invalidate node_modules cache if yarn.lock change
39
+ COPY package.json yarn.lock /app/
40
+ RUN yarn install --pure-lockfile --production
41
+ # ****************************************************
42
+
43
+ COPY . /app
44
+ RUN rails assets:precompile
45
+
46
+ # *******************************************
47
+ # **************** Multi Stage **************
48
+ # *******************************************
49
+ FROM ruby:2.5.0-slim
50
+
51
+ ENV RAILS_ENV=production
52
+ ENV NODE_ENV=production
53
+
54
+ <% if database == "mysql" %>
55
+ # install mysql
56
+ RUN apt-get update -qq && apt-get dist-upgrade -y && apt-get install -y mysql-client º
57
+ && apt-get clean \
58
+ && rm -rf /var/lib/apt/lists/*
59
+ <% elsif database == "postgresql" %>
60
+ # install postgresql
61
+ RUN apt-get update -qq && apt-get dist-upgrade -y && apt-get install -y postgresql-client \
62
+ && apt-get clean \
63
+ && rm -rf /var/lib/apt/lists/*
64
+ <% end %>
65
+ # install node 8.9.1 LTS
66
+ RUN curl -sL https://deb.nodesource.com/setup_8.x | bin/bash -
67
+ RUN apt-get update && apt-get install -y nodejs \
68
+ && apt-get clean \
69
+ && rm -rf /var/lib/apt/lists/*
70
+
71
+ RUN mkdir /app
72
+ WORKDIR /app
73
+
74
+ # ************Copy only Rails app, prevent copy unnecessary files (.dockerignore don't work)***************************
75
+ COPY --from=builder /app/app /app/app
76
+ COPY --from=builder /app/config /app/config
77
+ COPY --from=builder /app/bin /app/bin
78
+ COPY --from=builder /app/db /app/db
79
+ COPY --from=builder /app/lib /app/lib
80
+ COPY --from=builder /app/public /app/public
81
+ COPY --from=builder /app/vendor /app/vendor
82
+ COPY --from=builder /app/config.ru app/Gemfile app/Gemfile.lock app/Rakefile /app/
83
+ # *********************************************************************************************************************
84
+
85
+ COPY --from=builder /usr/local/bundle /usr/local/bundle
86
+
87
+ COPY --from=builder /app/docker/production/rails/entrypoint.sh /app/docker/production/rails/entrypoint.sh
88
+
89
+ CMD ["/app/docker/production/rails/entrypoint.sh"]
@@ -0,0 +1,5 @@
1
+ PROJECT_ID=<PROJECT_ID>
2
+
3
+ kubectl set image deployment/rails-nginx \
4
+ nginx=eu.gcr.io/${PROJECT_ID}/nginx:latest \
5
+ rails=eu.gcr.io/${PROJECT_ID}/webapp:latest
@@ -0,0 +1 @@
1
+ kubectl get secrets rails-secrets -o yaml
@@ -0,0 +1,2 @@
1
+ POD_NAME="$(kubectl get pod | awk '{print $1;}' | grep rails-nginx | head -n 1)"
2
+ kubectl exec ${POD_NAME} -c rails -it -- bash
@@ -0,0 +1,4 @@
1
+ kubectl create configmap rails-config \
2
+ --from-literal=DATABASE_HOST=cloudsql-proxy \
3
+ --from-literal=DATABASE_NAME=rails_production \
4
+ --from-literal=RAILS_LOG_TO_STDOUT=true
@@ -0,0 +1,5 @@
1
+ kubectl create secret generic rails-secrets \
2
+ --from-literal=DATABASE_USERNAME= \
3
+ --from-literal=DATABASE_PASSWORD= \
4
+ --from-literal=SECRET_KEY_BASE= \
5
+ --from-literal=RAILS_MASTER_KEY=
@@ -0,0 +1,2 @@
1
+ kubectl apply -f docker/kubernetes/services/cloudsql-proxy.yaml
2
+ kubectl apply -f docker/kubernetes/services/rails-nginx.yaml
@@ -0,0 +1,2 @@
1
+ kubectl apply -f docker/kubernetes/workloads/rails-nginx.yaml
2
+ kubectl apply -f docker/kubernetes/workloads/cloudsql-proxy.yaml
@@ -0,0 +1,12 @@
1
+ kind: Service
2
+ apiVersion: v1
3
+ metadata:
4
+ name: cloudsql-proxy
5
+ spec:
6
+ type: ClusterIP
7
+ selector:
8
+ app: cloudsql-proxy
9
+ ports:
10
+ - port: 5432
11
+ protocol: TCP
12
+ targetPort: 5432
@@ -0,0 +1,14 @@
1
+ kind: Service
2
+ apiVersion: v1
3
+ metadata:
4
+ name: rails-nginx
5
+ spec:
6
+ type: LoadBalancer
7
+ ports:
8
+ - port: 80
9
+ protocol: TCP
10
+ targetPort: 80
11
+ selector:
12
+ app: rails-nginx
13
+ status:
14
+ loadBalancer: {}
@@ -0,0 +1,32 @@
1
+ kind: ReplicationController
2
+ apiVersion: v1
3
+ metadata:
4
+ labels:
5
+ app: cloudsql-proxy
6
+ name: cloudsql-proxy
7
+ spec:
8
+ replicas: 2
9
+ selector:
10
+ app: cloudsql-proxy
11
+ template:
12
+ metadata:
13
+ name: cloudsql-proxy
14
+ labels:
15
+ app: cloudsql-proxy
16
+ spec:
17
+ containers:
18
+ - image: gcr.io/cloudsql-docker/gce-proxy:1.11
19
+ name: cloudsql-proxy
20
+ command:
21
+ - /cloud_sql_proxy
22
+ - -instances=<PROJECT_ID>:<INSTANCE_CONNECTION_NAME>=tcp:0.0.0.0:5432
23
+ - -credential_file=/secrets/cloudsql/credentials.json
24
+ volumeMounts:
25
+ - mountPath: /secrets/cloudsql
26
+ name: cloudsql-instance-credentials
27
+ readOnly: true
28
+ volumes:
29
+ - name: cloudsql-instance-credentials
30
+ secret:
31
+ defaultMode: 420
32
+ secretName: cloudsql-instance-credentials
@@ -0,0 +1,26 @@
1
+ kind: Deployment
2
+ apiVersion: apps/v1
3
+ metadata:
4
+ labels:
5
+ app: rails-nginx
6
+ name: rails-nginx
7
+ spec:
8
+ replicas: 2
9
+ selector:
10
+ matchLabels:
11
+ app: rails-nginx
12
+ template:
13
+ metadata:
14
+ labels:
15
+ app: rails-nginx
16
+ spec:
17
+ containers:
18
+ - image: gcr.io/<PROJECT_ID>/nginx:latest
19
+ name: nginx
20
+ - image: gcr.io/<PROJECT_ID>/rails:latest
21
+ name: rails
22
+ envFrom:
23
+ - configMapRef:
24
+ name: rails-config
25
+ - secretRef:
26
+ name: rails-secrets
@@ -0,0 +1,41 @@
1
+ #!/bin/sh
2
+ set -ex
3
+ PROJECT_ID=<PROJECT_ID>
4
+ BRANCH_NAME=`git rev-parse --abbrev-ref HEAD`
5
+ SHORT_SHA=`git rev-parse --short HEAD`
6
+ IMAGE_NAME=gcr.io/${PROJECT_ID}
7
+
8
+ # Build rails builder
9
+ docker build \
10
+ -t ${IMAGE_NAME}/rails:${BRANCH_NAME}-${SHORT_SHA}-builder \
11
+ -t ${IMAGE_NAME}/rails:${BRANCH_NAME}-latest-builder \
12
+ -t ${IMAGE_NAME}/rails:latest-builder \
13
+ --target builder \
14
+ -f docker/production/rails/Dockerfile \
15
+ .
16
+
17
+ # Build rails
18
+ docker build \
19
+ -t ${IMAGE_NAME}/rails:${BRANCH_NAME}-${SHORT_SHA} \
20
+ -t ${IMAGE_NAME}/rails:${BRANCH_NAME}-latest \
21
+ -t ${IMAGE_NAME}/rails:latest \
22
+ -f docker/production/rails/Dockerfile \
23
+ .
24
+
25
+ # Build nginx
26
+ docker build \
27
+ -t ${IMAGE_NAME}/nginx:${BRANCH_NAME}-${SHORT_SHA} \
28
+ -t ${IMAGE_NAME}/nginx:${BRANCH_NAME}-latest \
29
+ -t ${IMAGE_NAME}/nginx:latest \
30
+ -f docker/production/nginx/Dockerfile \
31
+ docker/production/nginx
32
+
33
+ gcloud docker -- push ${IMAGE_NAME}/rails:${BRANCH_NAME}-${SHORT_SHA}-builder
34
+ gcloud docker -- push ${IMAGE_NAME}/rails:${BRANCH_NAME}-latest-builder
35
+ gcloud docker -- push ${IMAGE_NAME}/rails:latest-builder
36
+ gcloud docker -- push ${IMAGE_NAME}/rails:${BRANCH_NAME}-${SHORT_SHA}
37
+ gcloud docker -- push ${IMAGE_NAME}/rails:${BRANCH_NAME}-latest
38
+ gcloud docker -- push ${IMAGE_NAME}/rails:latest
39
+ gcloud docker -- push ${IMAGE_NAME}/nginx:${BRANCH_NAME}-${SHORT_SHA}
40
+ gcloud docker -- push ${IMAGE_NAME}/nginx:${BRANCH_NAME}-latest
41
+ gcloud docker -- push ${IMAGE_NAME}/nginx:latest
@@ -0,0 +1,13 @@
1
+ FROM gcr.io/<PROJECT_ID>/rails:latest as rails
2
+
3
+ FROM nginx:1.13-alpine
4
+
5
+ RUN apk upgrade --no-cache
6
+ RUN apk add --no-cache xz
7
+
8
+ # COPY content/usr/local/sbin/* /usr/local/sbin/
9
+ COPY etc/nginx/ /etc/nginx/
10
+
11
+ WORKDIR /app
12
+
13
+ COPY --from=rails /app/public ./public
@@ -0,0 +1,3 @@
1
+ #!/bin/sh
2
+ set -ex
3
+ nginx -g 'daemon off;'
@@ -0,0 +1,34 @@
1
+ server {
2
+
3
+ listen 80;
4
+ server_name localhost;
5
+ root /app/public;
6
+
7
+ location / {
8
+ try_files $uri @proxy;
9
+ }
10
+
11
+ location = /favicon.ico {
12
+ log_not_found off;
13
+ access_log off;
14
+ }
15
+
16
+ # Block access to "hidden" files and directories whose names begin with a
17
+ # period. This includes directories used by version control systems such
18
+ # as Subversion or Git to store control files.
19
+ location ~ (^|/)\. {
20
+ return 403;
21
+ }
22
+
23
+ location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
24
+ expires max;
25
+ log_not_found off;
26
+ }
27
+
28
+ location @proxy {
29
+ proxy_pass http://localhost:3000;
30
+ proxy_set_header Host $host;
31
+ proxy_set_header X-Real-IP $remote_addr;
32
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
33
+ }
34
+ }
@@ -0,0 +1,36 @@
1
+ user nginx;
2
+ worker_processes 1;
3
+
4
+ error_log /var/log/nginx/error.log warn;
5
+ pid /var/run/nginx.pid;
6
+
7
+
8
+ events {
9
+ worker_connections 1024;
10
+ }
11
+
12
+
13
+ http {
14
+ client_max_body_size 64M;
15
+ include /etc/nginx/mime.types;
16
+ default_type application/octet-stream;
17
+ set_real_ip_from 0.0.0.0/0;
18
+ real_ip_header X-Forwarded-For;
19
+ real_ip_recursive on;
20
+
21
+ log_format main '$remote_addr - $remote_user [$time_local] "$request" '
22
+ '$status $body_bytes_sent "$http_referer" '
23
+ '"$http_user_agent" "$http_x_forwarded_for"';
24
+
25
+ access_log /var/log/nginx/access.log main;
26
+
27
+ sendfile on;
28
+ #tcp_nopush on;
29
+
30
+ keepalive_timeout 65;
31
+
32
+ #gzip on;
33
+
34
+ include /etc/nginx/conf.d/*.conf;
35
+
36
+ }
@@ -0,0 +1,7 @@
1
+ #!/bin/bash
2
+ set -ex
3
+
4
+ # migrate database before run server
5
+ bundle exec rake db:create db:migrate
6
+ # run rails
7
+ bundle exec rails server -p 3000 -b 0.0.0.0
@@ -28,7 +28,7 @@ services:
28
28
  - ./volumes/mysql:/var/lib/mysql
29
29
  <% elsif database == "postgresql" %>
30
30
  db:
31
- image: postgres:9.5.9
31
+ image: postgres:9.6
32
32
  # ports:
33
33
  # - "5432:5432"
34
34
  volumes:
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module DockerizeStack
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dockerize-stack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Savignano
@@ -38,8 +38,26 @@ files:
38
38
  - lib/rails/dockerize_rails.rb
39
39
  - lib/rails/templates/config/database-docker.yml.erb
40
40
  - lib/rails/templates/docker-compose.yml.erb
41
+ - lib/rails/templates/docker/Dockerfile.production.erb
41
42
  - lib/rails/templates/docker/development/Dockerfile.erb
42
43
  - lib/rails/templates/docker/development/entrypoint.sh.erb
44
+ - lib/rails/templates/docker/kubernetes/scripts/deploy.sh
45
+ - lib/rails/templates/docker/kubernetes/scripts/get-secrets.sh
46
+ - lib/rails/templates/docker/kubernetes/scripts/remoteconsole.sh
47
+ - lib/rails/templates/docker/kubernetes/scripts/set-config-map.sh
48
+ - lib/rails/templates/docker/kubernetes/scripts/set-secrets.sh
49
+ - lib/rails/templates/docker/kubernetes/scripts/set-services.sh
50
+ - lib/rails/templates/docker/kubernetes/scripts/set-workloads.sh
51
+ - lib/rails/templates/docker/kubernetes/services/cloudsql-proxy.yaml
52
+ - lib/rails/templates/docker/kubernetes/services/rails-nginx.yaml
53
+ - lib/rails/templates/docker/kubernetes/workloads/cloudsql-proxy.yaml
54
+ - lib/rails/templates/docker/kubernetes/workloads/rails-nginx.yaml
55
+ - lib/rails/templates/docker/production/dockerbuild.sh
56
+ - lib/rails/templates/docker/production/nginx/Dockerfile
57
+ - lib/rails/templates/docker/production/nginx/entrypoint.sh
58
+ - lib/rails/templates/docker/production/nginx/etc/nginx/conf.d/default.conf
59
+ - lib/rails/templates/docker/production/nginx/etc/nginx/nginx.conf
60
+ - lib/rails/templates/docker/production/rails/entrypoint.sh
43
61
  - lib/rails/templates/dockerignore.erb
44
62
  - lib/rails/templates/id_rsa.sample
45
63
  - lib/version.rb