dockerfile-rails 1.7.4 → 1.7.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +11 -1
- data/lib/generators/dockerfile_generator.rb +16 -6
- data/lib/generators/templates/Dockerfile.erb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4ff1ee0c49a9ebbbb98ee4dd006a2e48d0c3c711e9f95057ab5b7048d2ee6916
|
4
|
+
data.tar.gz: eb82fe4009d35400dfab47747f2d3e115847a10e27f8ae17f405ac2db58dfba1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9be4612b0a2d7cb9e8781e06f167a23732bff0f46cd3fc5233f26b41d7856859595e610b1a8ee169e65897e61fac03f928c1ada613576552650978a675a80c9f
|
7
|
+
data.tar.gz: '09c53a4ce9d8840ee27bd78a9acf0beea803d2200013484cb6c7a7db0dbcf55d5a68604938c24fd41aa036c3b154c79529a6119e8a440f27753dd5e530ec5010'
|
data/README.md
CHANGED
@@ -67,7 +67,7 @@ are actually using. But should you be using DATABASE_URL, for example, at runti
|
|
67
67
|
additional support may be needed:
|
68
68
|
|
69
69
|
* `--litefs` - use [LiteFS](https://fly.io/docs/litefs/)
|
70
|
-
* `--litestream` - use [
|
70
|
+
* `--litestream` - use [Litestream](https://litestream.io/)
|
71
71
|
* `--mysql` - add mysql libraries
|
72
72
|
* `--postgresql` - add postgresql libraries
|
73
73
|
* `--redis` - add redis libraries
|
@@ -120,6 +120,16 @@ Options are saved between runs into `config/dockerfile.yml`. To invert a boolea
|
|
120
120
|
|
121
121
|
## Testing
|
122
122
|
|
123
|
+
Run:
|
124
|
+
|
125
|
+
Installation:
|
126
|
+
|
127
|
+
```
|
128
|
+
brew install postgresql mysql zstd
|
129
|
+
bundle config --local build.mysql2 "--with-opt-dir="$(brew --prefix zstd)""
|
130
|
+
bundle install
|
131
|
+
```
|
132
|
+
|
123
133
|
A single invocation of `rake test:all` will run all of the tests defined. dockerfile-rails has are three types of tests:
|
124
134
|
|
125
135
|
* `rake test:rubocop` runs [rubocop](https://github.com/rubocop/rubocop) using the same options as the Rails codebase.
|
@@ -410,6 +410,11 @@ class DockerfileGenerator < Rails::Generators::Base
|
|
410
410
|
missing = Set.new(base_packages + build_packages) -
|
411
411
|
Set.new(dockerfile.scan(/[-\w]+/))
|
412
412
|
|
413
|
+
# https://github.com/docker-library/ruby/pull/497
|
414
|
+
# https://github.com/rails/rails/pull/54237
|
415
|
+
missing.delete("libyaml-dev")
|
416
|
+
missing.delete("yaml-dev")
|
417
|
+
|
413
418
|
unless missing.empty?
|
414
419
|
message = "The following packages are missing from the Dockerfile: #{missing.to_a.join(", ")}"
|
415
420
|
STDERR.puts "\n" + shell.set_color(message, Thor::Shell::Color::RED, Thor::Shell::Color::BOLD)
|
@@ -515,7 +520,12 @@ private
|
|
515
520
|
end
|
516
521
|
|
517
522
|
def references_ruby_version_file?
|
518
|
-
@references_ruby_version_file ||=
|
523
|
+
@references_ruby_version_file ||= ruby_version_file.present?
|
524
|
+
end
|
525
|
+
|
526
|
+
def ruby_version_file
|
527
|
+
match = IO.read("Gemfile").match(/ruby file: ["'](.*)["']/)
|
528
|
+
match ? match[1] : nil
|
519
529
|
end
|
520
530
|
|
521
531
|
def using_redis?
|
@@ -1159,11 +1169,11 @@ private
|
|
1159
1169
|
else
|
1160
1170
|
command = Shellwords.split(procfile.values.first)
|
1161
1171
|
|
1162
|
-
|
1163
|
-
|
1164
|
-
|
1165
|
-
|
1166
|
-
|
1172
|
+
thrust = command.index("./bin/thrust")
|
1173
|
+
thrust = command.index("litestream:run") if thrust.nil?
|
1174
|
+
command = command[thrust + 1...] unless thrust.nil?
|
1175
|
+
|
1176
|
+
command
|
1167
1177
|
end
|
1168
1178
|
end
|
1169
1179
|
|
@@ -9,7 +9,7 @@
|
|
9
9
|
# For a containerized dev environment, see Dev Containers: https://guides.rubyonrails.org/getting_started_with_devcontainer.html
|
10
10
|
<% end -%>
|
11
11
|
|
12
|
-
# Make sure RUBY_VERSION matches the Ruby version in .ruby-version
|
12
|
+
# Make sure RUBY_VERSION matches the Ruby version in <%= ruby_version_file || '.ruby-version' %>
|
13
13
|
ARG RUBY_VERSION=<%= RUBY_VERSION %>
|
14
14
|
<% if api_client_dir -%>
|
15
15
|
<%= render partial: 'node_client' %>
|
@@ -95,7 +95,7 @@ ENV <%= build_env.join(" \\\n ") %>
|
|
95
95
|
|
96
96
|
<% end -%>
|
97
97
|
# Install application gems
|
98
|
-
COPY<% if options.link? %> --link<% end %> Gemfile Gemfile.lock <% if references_ruby_version_file?
|
98
|
+
COPY<% if options.link? %> --link<% end %> Gemfile Gemfile.lock <% if references_ruby_version_file? %><%= ruby_version_file %> <% end %>./
|
99
99
|
<% if @netpopbug && Rails.env != "test" -%>
|
100
100
|
RUN sed -i "/net-pop (0.1.2)/a\ net-protocol" Gemfile.lock
|
101
101
|
<% end -%>
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dockerfile-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.7.
|
4
|
+
version: 1.7.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sam Ruby
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-02-06 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: rails
|