stack_car 0.8.0 → 0.14.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.
- checksums.yaml +5 -5
- data/.gitlab-ci.yml +17 -12
- data/README.md +122 -1
- data/lib/stack_car/cli.rb +253 -41
- data/lib/stack_car/dot_rc.rb +25 -0
- data/lib/stack_car/version.rb +1 -1
- data/lib/stack_car.rb +1 -0
- data/stack_car.gemspec +2 -0
- data/templates/.dockerignore.erb +2 -2
- data/templates/.env.development.erb +2 -0
- data/templates/.env.erb +29 -16
- data/templates/.gitlab/issue_templates/Bug.md +46 -0
- data/templates/.gitlab/issue_templates/Feature.md +41 -0
- data/templates/.gitlab/issue_templates/Question.md +18 -0
- data/templates/.gitlab/merge_request_templates/Bug.md +36 -0
- data/templates/.gitlab/merge_request_templates/Feature.md +36 -0
- data/templates/.gitlab-ci.yml.erb +98 -65
- data/templates/.sops.yaml.erb +3 -0
- data/templates/Dockerfile.erb +26 -7
- data/templates/README.md +81 -7
- data/templates/chart/.gitignore +3 -0
- data/templates/chart/.helmignore +23 -0
- data/templates/chart/Chart.yaml.tt +30 -0
- data/templates/chart/README.md +223 -0
- data/templates/chart/bin/check_sidekiq.rb +0 -0
- data/templates/chart/bin/decrypt +17 -0
- data/templates/chart/bin/deploy +14 -0
- data/templates/chart/bin/encrypt +15 -0
- data/templates/chart/bin/remove +15 -0
- data/templates/chart/sample-values.yaml.tt +153 -0
- data/templates/chart/templates/_helpers.tpl.tt +85 -0
- data/templates/chart/templates/rails-env-cm.yaml.tt +47 -0
- data/templates/chart/templates/rails-env-secret.yaml +10 -0
- data/templates/chart/templates/rails-pvc-shared.yml +20 -0
- data/templates/chart/templates/setup-job.yaml +73 -0
- data/templates/chart/templates/web-deploy.yaml +67 -0
- data/templates/chart/templates/web-ing-wildcard.yaml +20 -0
- data/templates/chart/templates/web-ing.yaml +20 -0
- data/templates/chart/templates/web-svc.yaml +20 -0
- data/templates/chart-fcrepo/fcrepo-deploy.yaml +63 -0
- data/templates/chart-fcrepo/fcrepo-env-cm.yaml +8 -0
- data/templates/chart-fcrepo/fcrepo-env-secret.yaml.tt +10 -0
- data/templates/chart-fcrepo/fcrepo-pvc.yaml +20 -0
- data/templates/chart-fcrepo/fcrepo-svc.yaml +19 -0
- data/templates/chart-sidekiq/sidekiq-deploy.yaml +80 -0
- data/templates/database.yml.erb +10 -11
- data/templates/decrypt-secrets +22 -0
- data/templates/development.rb.erb +90 -0
- data/templates/docker-compose.yml.erb +52 -18
- data/templates/encrypt-secrets +19 -0
- data/templates/env.conf.erb +11 -11
- data/templates/nginx.sh.erb +17 -0
- data/templates/production.rb.erb +117 -0
- metadata +71 -12
- data/templates/Dockerfile.base.erb +0 -48
- data/templates/Dockerfile.builder.erb +0 -13
- data/templates/docker-compose.ci.yml.erb +0 -87
- data/templates/docker-compose.production.yml.erb +0 -26
@@ -0,0 +1,19 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# require 'byebug'
|
4
|
+
|
5
|
+
parent_dir = File.dirname(__dir__)
|
6
|
+
[
|
7
|
+
".env.*",
|
8
|
+
"chart/*-values.yaml",
|
9
|
+
"ops/kube_config.yml",
|
10
|
+
"ops/.backend",
|
11
|
+
"ops/k8s/*-values.yaml"
|
12
|
+
].each do |files|
|
13
|
+
Dir.glob(files).each do |file|
|
14
|
+
next if /enc/.match?(file)
|
15
|
+
cmd = "sops --encrypt #{file} > #{file}.enc"
|
16
|
+
puts cmd
|
17
|
+
`#{cmd}`
|
18
|
+
end
|
19
|
+
end
|
data/templates/env.conf.erb
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
<% if options[:postgres] -%>
|
2
|
-
env
|
3
|
-
env
|
4
|
-
env
|
5
|
-
env
|
6
|
-
env
|
2
|
+
env DATABASE_ADAPTER;
|
3
|
+
env DATABASE_NAME;
|
4
|
+
env DATABASE_USER;
|
5
|
+
env DATABASE_PASSWORD;
|
6
|
+
env DATABASE_HOST;
|
7
7
|
env TEST_DB;
|
8
8
|
<% end -%>
|
9
9
|
<% if options[:mysql] -%>
|
10
|
-
env
|
11
|
-
env
|
12
|
-
env
|
13
|
-
env
|
14
|
-
env
|
15
|
-
env
|
10
|
+
env DATABASE_ADAPTER;
|
11
|
+
env DATABASE_NAME;
|
12
|
+
env DATABASE_USER;
|
13
|
+
env DATABASE_PASSWORD;
|
14
|
+
env DATABASE_ROOT_PASSWORD;
|
15
|
+
env DATABASE_HOST;
|
16
16
|
env TEST_DB;
|
17
17
|
<% end -%>
|
18
18
|
<% if options[:deploy] || options[:rancher] -%>
|
data/templates/nginx.sh.erb
CHANGED
@@ -12,9 +12,26 @@ then
|
|
12
12
|
export PASSENGER_APP_ENV=development
|
13
13
|
fi
|
14
14
|
|
15
|
+
rm -rf /home/app/webapp/.ruby*
|
16
|
+
|
17
|
+
declare -p | grep -Ev 'BASHOPTS|PWD|BASH_VERSINFO|EUID|PPID|SHELLOPTS|UID' > /container.env
|
18
|
+
|
19
|
+
if [[ $PASSENGER_APP_ENV == "development" ]] || [[ $PASSENGER_APP_ENV == "test" ]]
|
20
|
+
then
|
21
|
+
/sbin/setuser app /bin/bash -l -c 'cd /home/app/webapp && bundle exec rails db:create db:migrate db:test:prepare'
|
22
|
+
fi
|
23
|
+
|
15
24
|
if [[ $PASSENGER_APP_ENV == "production" ]] || [[ $PASSENGER_APP_ENV == "staging" ]]
|
16
25
|
then
|
26
|
+
/bin/bash -l -c 'chown -R app:app /home/app/webapp/tmp' # mounted volume may have wrong permissions
|
27
|
+
/bin/bash -l -c 'chown -R app:app /home/app/webapp/public' # mounted volume may have wrong permissions
|
17
28
|
/sbin/setuser app /bin/bash -l -c 'cd /home/app/webapp && bundle exec rake db:migrate'
|
29
|
+
if [ -d /home/app/webapp/public/assets-new ]; then
|
30
|
+
/sbin/setuser app /bin/bash -l -c 'cd /home/app/webapp && rsync -a public/assets-new/ public/assets/'
|
31
|
+
fi
|
32
|
+
if [ -d /home/app/webapp/public/packs-new ]; then
|
33
|
+
/sbin/setuser app /bin/bash -l -c 'cd /home/app/webapp && rsync -a public/packs-new/ public/packs/'
|
34
|
+
fi
|
18
35
|
fi
|
19
36
|
|
20
37
|
exec /usr/sbin/nginx
|
@@ -0,0 +1,117 @@
|
|
1
|
+
Rails.application.configure do
|
2
|
+
# Settings specified here will take precedence over those in config/application.rb.
|
3
|
+
|
4
|
+
# Code is not reloaded between requests.
|
5
|
+
config.cache_classes = true
|
6
|
+
|
7
|
+
# Eager load code on boot. This eager loads most of Rails and
|
8
|
+
# your application in memory, allowing both threaded web servers
|
9
|
+
# and those relying on copy on write to perform better.
|
10
|
+
# Rake tasks automatically ignore this option for performance.
|
11
|
+
config.eager_load = true
|
12
|
+
|
13
|
+
# Full error reports are disabled and caching is turned on.
|
14
|
+
config.consider_all_requests_local = false
|
15
|
+
config.action_controller.perform_caching = true
|
16
|
+
|
17
|
+
# Disable serving static files from the `/public` folder by default since
|
18
|
+
# Apache or NGINX already handles this.
|
19
|
+
config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
|
20
|
+
config.public_file_server.headers = {
|
21
|
+
'Cache-Control' => 'public, s-maxage=31536000, maxage=15552000',
|
22
|
+
'Expires' => "#{1.year.from_now.to_formatted_s(:rfc822)}"
|
23
|
+
}
|
24
|
+
# Compress JavaScripts and CSS.
|
25
|
+
config.assets.js_compressor = Uglifier.new(harmony: true)
|
26
|
+
# config.assets.css_compressor = :sass
|
27
|
+
|
28
|
+
# Do not fallback to assets pipeline if a precompiled asset is missed.
|
29
|
+
config.assets.compile = false
|
30
|
+
|
31
|
+
# `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
|
32
|
+
|
33
|
+
# Enable serving of images, stylesheets, and JavaScripts from an asset server.
|
34
|
+
config.action_controller.asset_host = Settings.action_controller.asset_host if Settings.action_controller.asset_host
|
35
|
+
|
36
|
+
# Specifies the header that your server uses for sending files.
|
37
|
+
# config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
|
38
|
+
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
|
39
|
+
|
40
|
+
# Mount Action Cable outside main process or domain
|
41
|
+
# config.action_cable.mount_path = nil
|
42
|
+
# config.action_cable.url = 'wss://example.com/cable'
|
43
|
+
# config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ]
|
44
|
+
|
45
|
+
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
|
46
|
+
# config.force_ssl = true
|
47
|
+
|
48
|
+
# Use the lowest log level to ensure availability of diagnostic information
|
49
|
+
# when problems arise.
|
50
|
+
config.log_level = :debug
|
51
|
+
|
52
|
+
# Prepend all log lines with the following tags.
|
53
|
+
config.log_tags = [ :request_id ]
|
54
|
+
|
55
|
+
# Use a different cache store in production.
|
56
|
+
# config.cache_store = :mem_cache_store
|
57
|
+
|
58
|
+
# Use a real queuing backend for Active Job (and separate queues per environment)
|
59
|
+
require 'active_job/queue_adapters/better_active_elastic_job_adapter'
|
60
|
+
config.active_job.queue_adapter = Settings.active_job.queue_adapter
|
61
|
+
# config.active_job.queue_name_prefix = "hyku_#{Rails.env}"
|
62
|
+
|
63
|
+
# SMTP Mailer configuration
|
64
|
+
# Add SMTP settings to your environment and uncomment the following section to enable mailer
|
65
|
+
# if ENV['SMTP_ENABLED'].present? && ENV['SMTP_ENABLED'].to_s == 'true'
|
66
|
+
# config.action_mailer.smtp_settings = {
|
67
|
+
# user_name: ENV['SMTP_USER_NAME'],
|
68
|
+
# password: ENV['SMTP_PASSWORD'],
|
69
|
+
# address: ENV['SMTP_ADDRESS'],
|
70
|
+
# domain: ENV['SMTP_DOMAIN'],
|
71
|
+
# port: ENV['SMTP_PORT'],
|
72
|
+
# enable_starttls_auto: true,
|
73
|
+
# authentication: ENV['SMTP_TYPE']
|
74
|
+
# }
|
75
|
+
# # ActionMailer Config
|
76
|
+
# config.action_mailer.delivery_method = :smtp
|
77
|
+
# config.action_mailer.perform_deliveries = true
|
78
|
+
# config.action_mailer.raise_delivery_errors = false
|
79
|
+
<% if options[:hyku] %>
|
80
|
+
# config.action_mailer.asset_host = ENV['SETTINGS__MULTITENANCY__ADMIN_HOST']
|
81
|
+
<% end %>
|
82
|
+
# else
|
83
|
+
# config.action_mailer.delivery_method = :test
|
84
|
+
# end
|
85
|
+
|
86
|
+
config.action_mailer.perform_caching = false
|
87
|
+
|
88
|
+
# Ignore bad email addresses and do not raise email delivery errors.
|
89
|
+
# Set this to true and configure the email server for immediate delivery to raise delivery errors.
|
90
|
+
# config.action_mailer.raise_delivery_errors = false
|
91
|
+
#
|
92
|
+
config.action_mailer.default_url_options = { protocol: Settings.ssl_configured ? 'https' : 'http' }
|
93
|
+
|
94
|
+
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
|
95
|
+
# the I18n.default_locale when a translation cannot be found).
|
96
|
+
config.i18n.fallbacks = true
|
97
|
+
|
98
|
+
# Send deprecation notices to registered listeners.
|
99
|
+
config.active_support.deprecation = :notify
|
100
|
+
|
101
|
+
# Use default logging formatter so that PID and timestamp are not suppressed.
|
102
|
+
config.log_formatter = ::Logger::Formatter.new
|
103
|
+
|
104
|
+
# Use a different logger for distributed setups.
|
105
|
+
# require 'syslog/logger'
|
106
|
+
# config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name')
|
107
|
+
|
108
|
+
if ENV["RAILS_LOG_TO_STDOUT"].present?
|
109
|
+
logger = ActiveSupport::Logger.new(STDOUT)
|
110
|
+
logger.formatter = config.log_formatter
|
111
|
+
config.logger = ActiveSupport::TaggedLogging.new(logger)
|
112
|
+
end
|
113
|
+
|
114
|
+
# Do not dump schema after migrations.
|
115
|
+
config.active_record.dump_schema_after_migration = false
|
116
|
+
end
|
117
|
+
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stack_car
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.14.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rob Kaufman
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-09-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.13'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: byebug
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: rake
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,6 +122,20 @@ dependencies:
|
|
108
122
|
- - "~>"
|
109
123
|
- !ruby/object:Gem::Version
|
110
124
|
version: '2.2'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: json
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '2.3'
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '2.3'
|
111
139
|
- !ruby/object:Gem::Dependency
|
112
140
|
name: thor
|
113
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -122,7 +150,7 @@ dependencies:
|
|
122
150
|
- - "~>"
|
123
151
|
- !ruby/object:Gem::Version
|
124
152
|
version: '0.19'
|
125
|
-
description:
|
153
|
+
description:
|
126
154
|
email:
|
127
155
|
- rob@notch8.com
|
128
156
|
executables:
|
@@ -144,6 +172,7 @@ files:
|
|
144
172
|
- exe/stack_car
|
145
173
|
- lib/stack_car.rb
|
146
174
|
- lib/stack_car/cli.rb
|
175
|
+
- lib/stack_car/dot_rc.rb
|
147
176
|
- lib/stack_car/version.rb
|
148
177
|
- logo.jpg
|
149
178
|
- public/.gitkeep
|
@@ -154,15 +183,45 @@ files:
|
|
154
183
|
- templates/.env.development.erb
|
155
184
|
- templates/.env.erb
|
156
185
|
- templates/.gitlab-ci.yml.erb
|
157
|
-
- templates/
|
158
|
-
- templates/
|
186
|
+
- templates/.gitlab/issue_templates/Bug.md
|
187
|
+
- templates/.gitlab/issue_templates/Feature.md
|
188
|
+
- templates/.gitlab/issue_templates/Question.md
|
189
|
+
- templates/.gitlab/merge_request_templates/Bug.md
|
190
|
+
- templates/.gitlab/merge_request_templates/Feature.md
|
191
|
+
- templates/.sops.yaml.erb
|
159
192
|
- templates/Dockerfile.erb
|
160
193
|
- templates/README.md
|
194
|
+
- templates/chart-fcrepo/fcrepo-deploy.yaml
|
195
|
+
- templates/chart-fcrepo/fcrepo-env-cm.yaml
|
196
|
+
- templates/chart-fcrepo/fcrepo-env-secret.yaml.tt
|
197
|
+
- templates/chart-fcrepo/fcrepo-pvc.yaml
|
198
|
+
- templates/chart-fcrepo/fcrepo-svc.yaml
|
199
|
+
- templates/chart-sidekiq/sidekiq-deploy.yaml
|
200
|
+
- templates/chart/.gitignore
|
201
|
+
- templates/chart/.helmignore
|
202
|
+
- templates/chart/Chart.yaml.tt
|
203
|
+
- templates/chart/README.md
|
204
|
+
- templates/chart/bin/check_sidekiq.rb
|
205
|
+
- templates/chart/bin/decrypt
|
206
|
+
- templates/chart/bin/deploy
|
207
|
+
- templates/chart/bin/encrypt
|
208
|
+
- templates/chart/bin/remove
|
209
|
+
- templates/chart/sample-values.yaml.tt
|
210
|
+
- templates/chart/templates/_helpers.tpl.tt
|
211
|
+
- templates/chart/templates/rails-env-cm.yaml.tt
|
212
|
+
- templates/chart/templates/rails-env-secret.yaml
|
213
|
+
- templates/chart/templates/rails-pvc-shared.yml
|
214
|
+
- templates/chart/templates/setup-job.yaml
|
215
|
+
- templates/chart/templates/web-deploy.yaml
|
216
|
+
- templates/chart/templates/web-ing-wildcard.yaml
|
217
|
+
- templates/chart/templates/web-ing.yaml
|
218
|
+
- templates/chart/templates/web-svc.yaml
|
161
219
|
- templates/database.yml.erb
|
220
|
+
- templates/decrypt-secrets
|
162
221
|
- templates/deploy.yml.erb
|
163
|
-
- templates/
|
164
|
-
- templates/docker-compose.production.yml.erb
|
222
|
+
- templates/development.rb.erb
|
165
223
|
- templates/docker-compose.yml.erb
|
224
|
+
- templates/encrypt-secrets
|
166
225
|
- templates/env.conf.erb
|
167
226
|
- templates/hosts.erb
|
168
227
|
- templates/nginx.sh.erb
|
@@ -182,13 +241,14 @@ files:
|
|
182
241
|
- templates/ops/roles/docker.ubuntu/templates/docker.conf
|
183
242
|
- templates/ops/roles/docker.ubuntu/tests/vagrant.yml
|
184
243
|
- templates/ops/roles/docker.ubuntu/vars/main.yml
|
244
|
+
- templates/production.rb.erb
|
185
245
|
- templates/provision.yml.erb
|
186
246
|
- templates/webapp.conf.erb
|
187
247
|
- templates/worker.sh.erb
|
188
248
|
homepage: https://gitlab.com/notch8/stack_car
|
189
249
|
licenses: []
|
190
250
|
metadata: {}
|
191
|
-
post_install_message:
|
251
|
+
post_install_message:
|
192
252
|
rdoc_options: []
|
193
253
|
require_paths:
|
194
254
|
- lib
|
@@ -203,9 +263,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
203
263
|
- !ruby/object:Gem::Version
|
204
264
|
version: '0'
|
205
265
|
requirements: []
|
206
|
-
|
207
|
-
|
208
|
-
signing_key:
|
266
|
+
rubygems_version: 3.0.6
|
267
|
+
signing_key:
|
209
268
|
specification_version: 4
|
210
269
|
summary: A tool to make rails + docker easy
|
211
270
|
test_files: []
|
@@ -1,48 +0,0 @@
|
|
1
|
-
FROM phusion/passenger-ruby23:0.9.28
|
2
|
-
|
3
|
-
RUN <%= pre_apt_string %> && \
|
4
|
-
curl -sL https://deb.nodesource.com/setup_8.x | bash - && \
|
5
|
-
apt-get update -qq && \
|
6
|
-
apt-get install -y build-essential nodejs pv tzdata libsasl2-dev <%= apt_packages_string %> && \
|
7
|
-
apt-get clean && \
|
8
|
-
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
|
9
|
-
<%= post_apt_string %>
|
10
|
-
|
11
|
-
<% if options[:fcrepo] %>
|
12
|
-
RUN mkdir -p /opt/fits && \
|
13
|
-
curl -fSL -o /opt/fits-0.8.5.zip http://projects.iq.harvard.edu/files/fits/files/fits-0.8.5.zip && \
|
14
|
-
cd /opt && \
|
15
|
-
unzip fits-0.8.5.zip && \
|
16
|
-
chmod +x fits-0.8.5/fits.sh
|
17
|
-
|
18
|
-
<% end -%>
|
19
|
-
|
20
|
-
RUN rm /etc/nginx/sites-enabled/default
|
21
|
-
|
22
|
-
ENV APP_HOME /home/app/webapp
|
23
|
-
RUN mkdir $APP_HOME
|
24
|
-
WORKDIR $APP_HOME
|
25
|
-
|
26
|
-
ENV BUNDLE_GEMFILE=$APP_HOME/Gemfile \
|
27
|
-
BUNDLE_JOBS=4
|
28
|
-
|
29
|
-
ADD Gemfile* $APP_HOME/
|
30
|
-
RUN bundle check || bundle install
|
31
|
-
|
32
|
-
<% if options[:delayed_job] || options[:sidekiq] %>
|
33
|
-
RUN touch /var/log/worker.log && chmod 666 /var/log/worker.log
|
34
|
-
RUN mkdir /etc/service/worker
|
35
|
-
ADD ops/worker.sh /etc/service/worker/run
|
36
|
-
RUN chmod +x /etc/service/worker/run
|
37
|
-
<% end %>
|
38
|
-
|
39
|
-
ADD . $APP_HOME
|
40
|
-
RUN chown -R app $APP_HOME
|
41
|
-
|
42
|
-
# this is so that these items are cached and only have to be updated
|
43
|
-
RUN /sbin/setuser app /bin/bash -l -c 'cd /home/app/webapp && DB_ADAPTER=nulldb bundle exec rake assets:precompile'
|
44
|
-
# Asset complie and migrate if prod, otherwise just start nginx
|
45
|
-
ADD ops/nginx.sh /etc/service/nginx/run
|
46
|
-
RUN chmod +x /etc/service/nginx/run
|
47
|
-
RUN rm -f /etc/service/nginx/down
|
48
|
-
|
@@ -1,13 +0,0 @@
|
|
1
|
-
FROM docker:latest
|
2
|
-
|
3
|
-
RUN apk update && \
|
4
|
-
apk add bash git ruby-json ansible openssh && \
|
5
|
-
gem install stack_car --no-ri --no-rdoc && \
|
6
|
-
<% if options[:rancher] %>
|
7
|
-
wget https://github.com/rancher/cli/releases/download/v0.4.1/rancher-linux-amd64-v0.4.1.tar.gz && \
|
8
|
-
tar zxfv rancher-linux-amd64-v0.4.1.tar.gz && \
|
9
|
-
mv rancher-v0.4.1/rancher /bin/rancher
|
10
|
-
<% end %>
|
11
|
-
<% if options[:heroku] %>
|
12
|
-
gem install dpl multi_json --no-ri --no-rdoc
|
13
|
-
<% end %>
|
@@ -1,87 +0,0 @@
|
|
1
|
-
version: '2.1'
|
2
|
-
services:
|
3
|
-
<% if options[:postgres] -%>
|
4
|
-
postgres:
|
5
|
-
image: postgres
|
6
|
-
env_file:
|
7
|
-
- .env
|
8
|
-
ports:
|
9
|
-
- "5432"
|
10
|
-
<% end -%>
|
11
|
-
<% if options[:mysql] -%>
|
12
|
-
mysql:
|
13
|
-
image: mysql
|
14
|
-
env_file:
|
15
|
-
- .env
|
16
|
-
ports:
|
17
|
-
- '3306'
|
18
|
-
<% end -%>
|
19
|
-
<% if options[:elasticsearch] -%>
|
20
|
-
elasticsearch:
|
21
|
-
image: elasticsearch:1.7.1
|
22
|
-
env_file:
|
23
|
-
- .env
|
24
|
-
ports:
|
25
|
-
- "9200"
|
26
|
-
- "9300"
|
27
|
-
<% end -%>
|
28
|
-
<% if options[:solr] %>
|
29
|
-
solr:
|
30
|
-
image: solr:latest
|
31
|
-
env_file:
|
32
|
-
- .env
|
33
|
-
ports:
|
34
|
-
- "8983"
|
35
|
-
entrypoint:
|
36
|
-
- docker-entrypoint.sh
|
37
|
-
- solr-precreate
|
38
|
-
- mycore
|
39
|
-
# docker-compose exec --user=solr solr bin/solr create_core -c CORENAME
|
40
|
-
<% end -%>
|
41
|
-
<% if options[:redis] -%>
|
42
|
-
redis:
|
43
|
-
image: 'redis:3.2-alpine'
|
44
|
-
env_file:
|
45
|
-
- .env
|
46
|
-
command: redis-server
|
47
|
-
ports:
|
48
|
-
- '6379'
|
49
|
-
<% end -%>
|
50
|
-
<% if options[:mongodb] -%>
|
51
|
-
mongodb:
|
52
|
-
image: mongo:2.6.12
|
53
|
-
env_file:
|
54
|
-
- .env
|
55
|
-
ports:
|
56
|
-
- "27017"
|
57
|
-
<% end -%>
|
58
|
-
<% if options[:memcached] -%>
|
59
|
-
memcached:
|
60
|
-
image: memcached
|
61
|
-
env_file:
|
62
|
-
- .env
|
63
|
-
ports:
|
64
|
-
- "11211"
|
65
|
-
<% end -%>
|
66
|
-
<% if options[:fcrepo] -%>
|
67
|
-
fcrepo:
|
68
|
-
image: botimer/fcrepo:4.5.1
|
69
|
-
env_file:
|
70
|
-
- .env
|
71
|
-
volumes:
|
72
|
-
- 'fcrepo:/opt/data'
|
73
|
-
ports:
|
74
|
-
- "8080"
|
75
|
-
<% end -%>
|
76
|
-
web:
|
77
|
-
image: "${REGISTRY_HOST}${REGISTRY_URI}:${TAG:-master}"
|
78
|
-
env_file:
|
79
|
-
- .env
|
80
|
-
rap.host: ${SITE_URI}
|
81
|
-
rap.le_host: ${SITE_URI}
|
82
|
-
rap.le_test: true
|
83
|
-
io.rancher.container.pull_image: always
|
84
|
-
ports:
|
85
|
-
- "80"
|
86
|
-
depends_on:
|
87
|
-
<%= compose_depends %>
|