error_agency-docker 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/error_agency/docker/version.rb +1 -1
- data/lib/generators/error_agency/docker/development_environment_generator.rb +1 -1
- data/lib/generators/error_agency/docker/templates/docker_compose.yml.erb +78 -55
- data/lib/generators/error_agency/docker/templates/mysql/my.cnf +15 -0
- data/lib/generators/error_agency/docker/templates/rails_base/Dockerfile.erb +3 -3
- data/lib/generators/error_agency/docker/templates/tests/Dockerfile.erb +4 -0
- data/lib/generators/error_agency/docker/templates/web/entrypoint.sh.erb +19 -0
- metadata +5 -3
- data/lib/generators/error_agency/docker/templates/headless_chrome/Dockerfile.erb +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bfb0fe7d267cae27ff1383d9e116a8d2b387c69d0e48507047631971912f9eac
|
4
|
+
data.tar.gz: f16622327cb13003336240a134e7175269d768b147bf9a85b8574eaee4194809
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 465ec3d861ebbad5103335dd58b945dc820db359ac2b6169356f5d94049e47e478f2edfa533461617d1e56045d63576eb577d775859a1d16f8f30bdab1d6dd38
|
7
|
+
data.tar.gz: 04056b72eb7edf9ecc810c6bd9cc03941b3ca2343ff525f6159e47d7daf737873a938c95cda90c595194ede98f3dd6c17010ae160de18b9de13d10ea79e4ac67
|
@@ -11,7 +11,7 @@ module ErrorAgency
|
|
11
11
|
class_option :redis, type: :boolean, desc: "Generate docker configs for Redis. Installs by default.", default: true
|
12
12
|
class_option :mailhog, type: :boolean, desc: "Generate docker configs for Mailhog. Installed by default.", default: true
|
13
13
|
class_option :elasticsearch, type: :boolean, desc: "Generate docker configs for Elasticsearch. NOT installed by default.", default: false
|
14
|
-
class_option :headless_chrome, type: :boolean, desc: "Generate configs for headless Chrome. NOT installed by default."
|
14
|
+
class_option :headless_chrome, type: :boolean, desc: "Generate configs for headless Chrome. NOT installed by default.", default: false
|
15
15
|
class_option :ruby_version, type: :string, desc: "Define the Ruby version to use", default: "2.6.5"
|
16
16
|
class_option :elasticsearch_version, type: :string, desc: "Define the Elasticsearch version to use", default: "6.2.4"
|
17
17
|
class_option :mysql_version, type: :string, desc: "Define the MySQL version to use", default: "5.6"
|
@@ -1,42 +1,103 @@
|
|
1
1
|
version: '3.5'
|
2
2
|
|
3
|
+
x-volumes: &volumes
|
4
|
+
- .:/app:cached
|
5
|
+
- bundle:/bundle
|
6
|
+
- node_modules:/app/node_modules
|
7
|
+
- packs:/app/public/packs
|
8
|
+
- rails_cache:/app/tmp/cache
|
9
|
+
- ~/.ssh:/root/.ssh
|
10
|
+
- irb_history:/root/irb_history
|
11
|
+
- ./config/docker/rails_base/.irbrc:/root/.irbrc
|
12
|
+
|
3
13
|
services:
|
4
14
|
rails_base: &rails_base
|
15
|
+
volumes:
|
16
|
+
*volumes
|
5
17
|
build:
|
6
18
|
context: .
|
7
19
|
dockerfile: ./config/docker/rails_base/Dockerfile
|
8
20
|
tmpfs:
|
9
21
|
- /tmp
|
10
|
-
volumes:
|
11
|
-
- .:/app:cached
|
12
|
-
- bundle:/bundle
|
13
|
-
- node_modules:/app/node_modules
|
14
|
-
- packs:/app/public/packs
|
15
|
-
- rails_cache:/app/tmp/cache
|
16
|
-
- ~/.ssh:/root/.ssh
|
17
|
-
- irb_history:/root/irb_history
|
18
|
-
- ./config/docker/web/.irbrc:/root/.irbrc
|
19
|
-
stdin_open: true
|
20
|
-
tty: true
|
21
22
|
|
22
23
|
web:
|
23
|
-
|
24
|
+
image: rails_base:latest
|
25
|
+
volumes:
|
26
|
+
*volumes
|
27
|
+
depends_on:
|
28
|
+
- mysql
|
29
|
+
- redis
|
30
|
+
- webpacker
|
24
31
|
ports:
|
25
32
|
- 3000:3000
|
26
33
|
command: rails s -b 0.0.0.0
|
27
34
|
environment:
|
28
35
|
- WEBPACKER_DEV_SERVER_HOST=webpacker
|
36
|
+
stdin_open: true
|
37
|
+
tty: true
|
38
|
+
entrypoint: ./config/docker/web/entrypoint.sh
|
29
39
|
|
30
40
|
webpacker:
|
31
|
-
|
41
|
+
image: rails_base:latest
|
42
|
+
volumes:
|
43
|
+
*volumes
|
44
|
+
depends_on:
|
45
|
+
- mysql
|
46
|
+
- redis
|
32
47
|
ports:
|
33
48
|
- 3035:3035
|
34
49
|
command: ./bin/webpack-dev-server
|
35
50
|
environment:
|
36
51
|
- WEBPACKER_DEV_SERVER_HOST=0.0.0.0
|
37
52
|
|
53
|
+
<% if @headless_chrome %>
|
54
|
+
tests:
|
55
|
+
volumes:
|
56
|
+
*volumes
|
57
|
+
logging:
|
58
|
+
driver: none
|
59
|
+
ports:
|
60
|
+
- 5900:5900
|
61
|
+
build:
|
62
|
+
context: .
|
63
|
+
shm_size: 2g
|
64
|
+
dockerfile: ./config/docker/tests/Dockerfile
|
65
|
+
command: bash # run with `docker-compose run tests guard`
|
66
|
+
environment:
|
67
|
+
- RAILS_ENV=test
|
68
|
+
- WEBPACKER_DEV_SERVER_HOST=0.0.0.0
|
69
|
+
<% end %>
|
70
|
+
|
71
|
+
<% if @elasticsearch %>
|
72
|
+
elasticsearch:
|
73
|
+
build:
|
74
|
+
context: .
|
75
|
+
dockerfile: ./config/docker/elasticsearch/Dockerfile
|
76
|
+
ports:
|
77
|
+
- "9200:9200"
|
78
|
+
- "8080:8080"
|
79
|
+
environment:
|
80
|
+
# LOGSPOUT: 'ignore'
|
81
|
+
# ES_JAVA_OPTS: '-Xms1024m -Xmx1024m'
|
82
|
+
# bootstrap.memory_lock: 'false'
|
83
|
+
discovery.type: 'single-node'
|
84
|
+
# ulimits:
|
85
|
+
# memlock:
|
86
|
+
# soft: -1
|
87
|
+
# hard: -1
|
88
|
+
# nofile:
|
89
|
+
# soft: 262144
|
90
|
+
# hard: 262144
|
91
|
+
volumes:
|
92
|
+
- es_data:/usr/share/elasticsearch/data
|
93
|
+
<% end %>
|
94
|
+
|
95
|
+
|
96
|
+
|
38
97
|
shell:
|
39
|
-
|
98
|
+
image: rails_base:latest
|
99
|
+
volumes:
|
100
|
+
*volumes
|
40
101
|
command: bash
|
41
102
|
|
42
103
|
<% if @mysql %>
|
@@ -62,6 +123,7 @@ services:
|
|
62
123
|
ports:
|
63
124
|
- 6379:6379
|
64
125
|
<% end %>
|
126
|
+
|
65
127
|
<% if @mailhog %>
|
66
128
|
mailhog:
|
67
129
|
command: ["-smtp-bind-addr", "0.0.0.0:2525"]
|
@@ -71,47 +133,6 @@ services:
|
|
71
133
|
- 2525:2525
|
72
134
|
- 8025:8025
|
73
135
|
<% end %>
|
74
|
-
|
75
|
-
<% if @elasticsearch %>
|
76
|
-
elasticsearch:
|
77
|
-
build:
|
78
|
-
context: .
|
79
|
-
dockerfile: ./config/docker/elasticsearch/Dockerfile
|
80
|
-
ports:
|
81
|
-
- "9200:9200"
|
82
|
-
- "8080:8080"
|
83
|
-
environment:
|
84
|
-
# LOGSPOUT: 'ignore'
|
85
|
-
# ES_JAVA_OPTS: '-Xms1024m -Xmx1024m'
|
86
|
-
# bootstrap.memory_lock: 'false'
|
87
|
-
discovery.type: 'single-node'
|
88
|
-
# ulimits:
|
89
|
-
# memlock:
|
90
|
-
# soft: -1
|
91
|
-
# hard: -1
|
92
|
-
# nofile:
|
93
|
-
# soft: 262144
|
94
|
-
# hard: 262144
|
95
|
-
volumes:
|
96
|
-
- es_data:/usr/share/elasticsearch/data
|
97
|
-
healthcheck:
|
98
|
-
test: ["CMD", "curl", "-SsfL", "127.0.0.1:9200/_cat/health?h=status"]
|
99
|
-
interval: 10s
|
100
|
-
timeout: 1s
|
101
|
-
retries: 10
|
102
|
-
<% end %>
|
103
|
-
|
104
|
-
<% if @headless_chrome %>
|
105
|
-
chrome:
|
106
|
-
logging:
|
107
|
-
driver: none
|
108
|
-
ports:
|
109
|
-
- 5900:5900
|
110
|
-
build:
|
111
|
-
context: .
|
112
|
-
shm_size: 2g
|
113
|
-
dockerfile: ./config/docker/chrome/Dockerfile
|
114
|
-
<% end %>
|
115
136
|
volumes:
|
116
137
|
bundle:
|
117
138
|
node_modules:
|
@@ -120,3 +141,5 @@ volumes:
|
|
120
141
|
db_data:
|
121
142
|
irb_history:
|
122
143
|
<% if @elasticsearch %>es_data:<% end %>
|
144
|
+
|
145
|
+
|
@@ -0,0 +1,15 @@
|
|
1
|
+
[mysqld]
|
2
|
+
innodb_buffer_pool_size = 256M
|
3
|
+
innodb_file_per_table= 1
|
4
|
+
# Set the innodb file format to Barracuda
|
5
|
+
innodb_file_format = Barracuda
|
6
|
+
# Set large prefix on
|
7
|
+
innodb_large_prefix = 1
|
8
|
+
init_connect='SET collation_connection = utf8mb4_unicode_ci'
|
9
|
+
init_connect='SET NAMES utf8mb4'
|
10
|
+
innodb_file_format_max = Barracuda
|
11
|
+
innodb_strict_mode = 1
|
12
|
+
character_set_server = 'utf8mb4'
|
13
|
+
collation_server = 'utf8mb4_unicode_ci'
|
14
|
+
innodb_log_file_size = 50G
|
15
|
+
max_allowed_packet = 1073741824
|
@@ -13,8 +13,6 @@ RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources
|
|
13
13
|
|
14
14
|
RUN apt-get update -yqq && apt-get install -yqq --no-install-recommends nodejs yarn
|
15
15
|
|
16
|
-
RUN gem update --system && gem install bundler -v '2'
|
17
|
-
|
18
16
|
# Configure bundler and PATH
|
19
17
|
ENV LANG=C.UTF-8 \
|
20
18
|
GEM_HOME=/bundle \
|
@@ -25,7 +23,9 @@ ENV BUNDLE_APP_CONFIG=$BUNDLE_PATH \
|
|
25
23
|
BUNDLE_BIN=$BUNDLE_PATH/bin
|
26
24
|
ENV PATH /app/bin:$BUNDLE_BIN:$PATH
|
27
25
|
|
26
|
+
RUN gem update --system && gem install bundler -v 2.0.2
|
27
|
+
|
28
28
|
RUN mkdir -p /app
|
29
29
|
|
30
30
|
ENTRYPOINT ["/app/config/docker/rails_base/entrypoint.sh"]
|
31
|
-
WORKDIR /app
|
31
|
+
WORKDIR /app
|
@@ -0,0 +1,19 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
set -e
|
4
|
+
|
5
|
+
echo "Building Rails dependencies and creating database..."
|
6
|
+
echo -n "Bundle..."
|
7
|
+
bundle &> /dev/null
|
8
|
+
echo "done"
|
9
|
+
|
10
|
+
echo -n "Yarn..."
|
11
|
+
yarn &> /dev/null
|
12
|
+
echo "done"
|
13
|
+
|
14
|
+
echo -n "Rails db:create..."
|
15
|
+
rails db:create &> /dev/null
|
16
|
+
echo "done"
|
17
|
+
|
18
|
+
rm -f /app/tmp/pids/server.pid
|
19
|
+
exec "$@"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: error_agency-docker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ed Jones
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2019-
|
13
|
+
date: 2019-12-30 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|
@@ -82,9 +82,11 @@ files:
|
|
82
82
|
- lib/generators/error_agency/docker/development_environment_generator.rb
|
83
83
|
- lib/generators/error_agency/docker/templates/docker_compose.yml.erb
|
84
84
|
- lib/generators/error_agency/docker/templates/elasticsearch/Dockerfile.erb
|
85
|
-
- lib/generators/error_agency/docker/templates/
|
85
|
+
- lib/generators/error_agency/docker/templates/mysql/my.cnf
|
86
86
|
- lib/generators/error_agency/docker/templates/rails_base/Dockerfile.erb
|
87
87
|
- lib/generators/error_agency/docker/templates/rails_base/entrypoint.sh.erb
|
88
|
+
- lib/generators/error_agency/docker/templates/tests/Dockerfile.erb
|
89
|
+
- lib/generators/error_agency/docker/templates/web/entrypoint.sh.erb
|
88
90
|
homepage: https://github.com/errorstudio/error_agency-docker
|
89
91
|
licenses:
|
90
92
|
- MIT
|