imagine_cms 4.2.4 → 5.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 (118) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +4 -0
  3. data/.ruby-version +1 -1
  4. data/Dockerfile +61 -0
  5. data/README.md +50 -0
  6. data/app/assets/javascripts/imagine_cms/core.js +4 -2
  7. data/app/assets/javascripts/imagine_cms/legacy/misc.js +29 -31
  8. data/app/controllers/cms/content_controller.rb +29 -25
  9. data/app/controllers/manage/application_controller.rb +4 -0
  10. data/app/controllers/manage/cms_controller.rb +13 -0
  11. data/app/controllers/{management/cms_controller.rb → manage/cms_pages_controller.rb} +625 -711
  12. data/app/controllers/manage/cms_snippets_controller.rb +67 -0
  13. data/app/controllers/manage/cms_templates_controller.rb +71 -0
  14. data/app/controllers/management/application_controller.rb +1 -1
  15. data/app/controllers/management/user_controller.rb +7 -6
  16. data/app/controllers/management/users_controller.rb +56 -56
  17. data/app/controllers/util_controller.rb +0 -1
  18. data/app/helpers/cms_application_helper.rb +17 -19
  19. data/app/mailers/imagine_cms_mailer.rb +16 -0
  20. data/app/models/cms_page.rb +8 -23
  21. data/app/models/user.rb +1 -1
  22. data/app/sweepers/cms_content_sweeper.rb +3 -3
  23. data/app/views/cms/content/_photo_gallery.html.erb +4 -4
  24. data/app/views/cms/content/_search_result.html.erb +1 -1
  25. data/app/views/imagine_cms/_header.html.erb +1 -1
  26. data/app/views/imagine_cms/_toolbar.html.erb +12 -12
  27. data/app/views/imagine_cms_mailer/request_review.text.erb +10 -0
  28. data/app/views/layouts/management.html.erb +29 -5
  29. data/app/views/manage/cms/index.html.erb +7 -0
  30. data/app/views/{management/cms → manage/cms_pages}/_complete_gallery.html.erb +0 -0
  31. data/app/views/{management/cms → manage/cms_pages}/_create_file_link.html.erb +0 -0
  32. data/app/views/{management/cms → manage/cms_pages}/_crop_feature_image.html.erb +20 -5
  33. data/app/views/{management/cms → manage/cms_pages}/_crop_image.html.erb +20 -5
  34. data/app/views/{management/cms → manage/cms_pages}/_crop_results.html.erb +0 -0
  35. data/app/views/manage/cms_pages/_crop_results_feature_image.html.erb +1 -0
  36. data/app/views/manage/cms_pages/_crop_results_thumb.html.erb +1 -0
  37. data/app/views/{management/cms → manage/cms_pages}/_crop_thumb.html.erb +20 -5
  38. data/app/views/{management/cms → manage/cms_pages}/_edit_page.html.erb +37 -49
  39. data/app/views/{management/cms → manage/cms_pages}/_gallery_index.html.erb +0 -0
  40. data/app/views/{management/cms → manage/cms_pages}/_gallery_setup.html.erb +0 -0
  41. data/app/views/{management/cms → manage/cms_pages}/_image.html.erb +0 -0
  42. data/app/views/{management/cms → manage/cms_pages}/_image_details.html.erb +0 -0
  43. data/app/views/{management/cms → manage/cms_pages}/_image_draggable.html.erb +0 -0
  44. data/app/views/manage/cms_pages/_list_page.html.erb +8 -0
  45. data/app/views/{management/cms → manage/cms_pages}/_list_page_select.html.erb +0 -0
  46. data/app/views/{management/cms → manage/cms_pages}/_list_pages.html.erb +0 -0
  47. data/app/views/{management/cms → manage/cms_pages}/_list_pages_select.html.erb +0 -0
  48. data/app/views/{management/cms → manage/cms_pages}/_page_attribute.html.erb +0 -0
  49. data/app/views/{management/cms → manage/cms_pages}/_page_list.html.erb +2 -2
  50. data/app/views/{management/cms → manage/cms_pages}/_page_list_source_folder.html.erb +0 -0
  51. data/app/views/{management/cms → manage/cms_pages}/_page_list_source_tag.html.erb +0 -0
  52. data/app/views/{management/cms → manage/cms_pages}/_select_gallery.html.erb +0 -0
  53. data/app/views/{management/cms → manage/cms_pages}/_sort_images.html.erb +0 -0
  54. data/app/views/{management/cms → manage/cms_pages}/_template_options.html.erb +3 -3
  55. data/app/views/{management/cms → manage/cms_pages}/_upload_feature_image.html.erb +0 -0
  56. data/app/views/{management/cms → manage/cms_pages}/_upload_file.html.erb +0 -0
  57. data/app/views/{management/cms → manage/cms_pages}/_upload_image.html.erb +1 -1
  58. data/app/views/{management/cms → manage/cms_pages}/_upload_thumb.html.erb +0 -0
  59. data/app/views/{management/cms → manage/cms_pages}/edit_page_content.html.erb +7 -0
  60. data/app/views/{management/cms → manage/cms_pages}/gallery_management.html.erb +1 -1
  61. data/app/views/{management/cms/pages.html.erb → manage/cms_pages/index.html.erb} +1 -1
  62. data/app/views/{management/cms/page_tags_for_lookup.html.erb → manage/cms_pages/page_tags_for_lookup.js.erb} +0 -0
  63. data/app/views/{management/cms → manage/cms_pages}/select_page.html.erb +0 -0
  64. data/app/views/{management/cms → manage/cms_pages}/toolbar_edit.html.erb +0 -0
  65. data/app/views/{management/cms → manage/cms_pages}/toolbar_preview.html.erb +6 -6
  66. data/app/views/manage/cms_snippets/_cms_snippet.html.erb +3 -0
  67. data/app/views/manage/cms_snippets/edit.html.erb +25 -0
  68. data/app/views/{management/cms/snippets.html.erb → manage/cms_snippets/index.html.erb} +2 -2
  69. data/app/views/manage/cms_templates/_cms_template.html.erb +3 -0
  70. data/app/views/{management/cms → manage/cms_templates}/_template_reference.html.erb +2 -2
  71. data/app/views/manage/cms_templates/edit.html.erb +26 -0
  72. data/app/views/{management/cms/templates.html.erb → manage/cms_templates/index.html.erb} +2 -2
  73. data/app/views/management/default/index.html.erb +3 -1
  74. data/app/views/management/users/edit.html.erb +2 -2
  75. data/app/views/management/users/index.html.erb +2 -2
  76. data/app/views/management/users/new.html.erb +1 -1
  77. data/config/initializers/constants.rb +3 -0
  78. data/config/routes.rb +57 -10
  79. data/db/migrate/20121108004747_add_settings_table.rb +8 -12
  80. data/db/migrate/20121108005110_add_tasks_table.rb +7 -11
  81. data/db/migrate/20121115083748_add_logs_table.rb +13 -18
  82. data/db/migrate/20121115083811_add_users_tables.rb +26 -26
  83. data/db/migrate/20121115084028_add_cms_tables.rb +91 -90
  84. data/db/migrate/20140423085357_add_redirect_fields_to_cms_pages.rb +2 -2
  85. data/db/migrate/20140423085358_add_redirect_fields_to_cms_page_versions.rb +2 -2
  86. data/docker-compose.override.yml.example +43 -0
  87. data/docker-compose.yml +21 -0
  88. data/docker/conf/.my.cnf +3 -0
  89. data/docker/conf/my.local.cnf +14 -0
  90. data/docker/conf/my.prod.cnf +9 -0
  91. data/docker/conf/nginx-vhost.conf +14 -0
  92. data/docker/services/memcached.sh +3 -0
  93. data/docker/services/sidekiq.sh +3 -0
  94. data/docker/services/webpack.sh +3 -0
  95. data/docker/startup/101_mkdir.sh +15 -0
  96. data/docker/startup/201_bundler.sh +4 -0
  97. data/docker/startup/211_yarn.sh +4 -0
  98. data/imagine_cms.gemspec +12 -11
  99. data/lib/extensions/action_controller_extensions.rb +4 -2
  100. data/lib/imagine_cms/engine.rb +6 -7
  101. data/lib/imagine_cms/version.rb +1 -1
  102. data/lib/upload_progress/lib/upload_progress.rb +3 -3
  103. data/test/dummy/app/assets/javascripts/application.js +0 -1
  104. metadata +94 -74
  105. data/.ruby-gemset +0 -1
  106. data/README.rdoc +0 -98
  107. data/app/views/management/cms/_crop_results_feature_image.html.erb +0 -1
  108. data/app/views/management/cms/_crop_results_thumb.html.erb +0 -1
  109. data/app/views/management/cms/_list_page.html.erb +0 -8
  110. data/app/views/management/cms/_snippet.html.erb +0 -3
  111. data/app/views/management/cms/_temp.html.erb +0 -3
  112. data/app/views/management/cms/edit_master.html.erb +0 -48
  113. data/app/views/management/cms/edit_snippet.html.erb +0 -25
  114. data/app/views/management/cms/edit_template.html.erb +0 -25
  115. data/app/views/management/cms/index.html.erb +0 -7
  116. data/app/views/management/cms/permission_denied.html.erb +0 -1
  117. data/lib/hash_object.rb +0 -39
  118. data/lib/hash_wrapper.rb +0 -17
@@ -1,28 +1,23 @@
1
- class AddLogsTable < ActiveRecord::Migration
1
+ class AddLogsTable < ActiveRecord::Migration[4.2]
2
2
 
3
- def up
4
- create_table "logs" do |t|
5
- t.column "name", :string
6
- t.column "description", :text
3
+ def change
4
+ create_table :logs do |t|
5
+ t.string :name
6
+ t.text :description
7
7
 
8
- t.column "created_on", :timestamp
8
+ t.datetime :created_on
9
9
  end
10
10
 
11
- create_table "log_entries" do |t|
12
- t.column "log_id", :integer, :null => false
11
+ create_table :log_entries do |t|
12
+ t.integer :log_id, null: false
13
13
 
14
- t.column "type", :string, :null => false
15
- t.column "description", :text
16
- t.column "data", :text
14
+ t.string :type, null: false
15
+ t.text :description
16
+ t.text :data
17
17
 
18
- t.column "created_on", :timestamp
18
+ t.datetime :created_on
19
19
  end
20
- add_index "log_entries", ["type"], :name => "IDX_log_entries_type"
21
- end
22
-
23
- def down
24
- drop_table "log_entries"
25
- drop_table "logs"
20
+ add_index "log_entries", ["type"], name: "IDX_log_entries_type"
26
21
  end
27
22
 
28
23
  end
@@ -1,43 +1,43 @@
1
- class AddUsersTables < ActiveRecord::Migration
1
+ class AddUsersTables < ActiveRecord::Migration[4.2]
2
2
 
3
- def self.up
4
- create_table "users" do |t|
5
- t.column "username", :string
6
- t.column "password_hash", :string, :limit => 100
3
+ def up
4
+ create_table :users do |t|
5
+ t.string :username
6
+ t.string :password_hash, limit: 100
7
7
 
8
- t.column "first_name", :string, :limit => 100
9
- t.column "last_name", :string, :limit => 100
8
+ t.string :first_name, limit: 100
9
+ t.string :last_name, limit: 100
10
10
 
11
- t.column "dynamic_fields", :text
11
+ t.text :dynamic_fields
12
12
 
13
- t.column "active", :integer, :default => 1, :null => false
14
- t.column "is_superuser", :integer, :default => 0, :null => false
13
+ t.boolean :active, null: false, default: true
14
+ t.boolean :is_superuser, null: false, default: true
15
15
 
16
- t.column "created_on", :timestamp
17
- t.column "updated_on", :timestamp
16
+ t.datetime :created_on
17
+ t.datetime :updated_on
18
18
  end
19
- add_index "users", ["username"], :name => "UN_users_username", :unique => true
19
+ add_index "users", ["username"], name: "UN_users_username", unique: true
20
20
 
21
- create_table "user_groups" do |t|
22
- t.column "name", :string
21
+ create_table :user_groups do |t|
22
+ t.string :name
23
23
 
24
- t.column "created_on", :timestamp
25
- t.column "updated_on", :timestamp
24
+ t.datetime :created_on
25
+ t.datetime :updated_on
26
26
  end
27
- add_index "user_groups", ["name"], :name => "UN_user_groups_name", :unique => true
27
+ add_index "user_groups", ["name"], name: "UN_user_groups_name", unique: true
28
28
 
29
- create_table "user_group_memberships", :id => false do |t|
30
- t.column "user_id", :integer, :null => false
31
- t.column "user_group_id", :integer, :null => false
32
- t.column "created_on", :timestamp
29
+ create_table :user_group_memberships, id: false do |t|
30
+ t.integer :user_id, null: false
31
+ t.integer :user_group_id, null: false
32
+ t.datetime :created_on
33
33
  end
34
34
  execute 'alter table user_group_memberships add constraint PK_user_group_memberships primary key (user_id, user_group_id)'
35
35
  end
36
36
 
37
- def self.down
38
- drop_table "user_group_memberships"
39
- drop_table "user_groups"
40
- drop_table "users"
37
+ def down
38
+ drop_table :user_group_memberships
39
+ drop_table :user_groups
40
+ drop_table :users
41
41
  end
42
42
 
43
43
  end
@@ -1,113 +1,114 @@
1
- class AddCmsTables < ActiveRecord::Migration
1
+ class AddCmsTables < ActiveRecord::Migration[4.2]
2
2
 
3
3
  class CmsTemplate < ActiveRecord::Base ; acts_as_versioned ; end
4
4
  class CmsSnippet < ActiveRecord::Base ; acts_as_versioned ; end
5
5
  class CmsPage < ActiveRecord::Base ; acts_as_versioned ; end
6
6
 
7
- def self.up
8
- create_table "cms_templates" do |t|
9
- t.column "name", :string
10
- t.column "content", :text
11
- t.column "options_yaml", :text
7
+ def up
8
+ create_table :cms_templates do |t|
9
+ t.string :name
10
+ t.text :content
11
+ t.text :options_yaml
12
12
 
13
- t.column "version", :integer, :default => 0, :null => false
13
+ t.integer :version, default: 0, null: false
14
14
 
15
- t.column "created_on", :timestamp
16
- t.column "updated_on", :timestamp
15
+ t.datetime :created_on
16
+ t.datetime :updated_on
17
17
  end
18
18
  CmsTemplate.create_versioned_table # => CmsTemplateVersions
19
19
 
20
- create_table "cms_snippets" do |t|
21
- t.column "name", :string
22
- t.column "content", :text
20
+ create_table :cms_snippets do |t|
21
+ t.string :name
22
+ t.text :content
23
23
 
24
- t.column "version", :integer, :default => 0, :null => false
24
+ t.integer :version, default: 0, null: false
25
25
 
26
- t.column "created_on", :timestamp
27
- t.column "updated_on", :timestamp
26
+ t.datetime :created_on
27
+ t.datetime :updated_on
28
28
  end
29
29
  CmsSnippet.create_versioned_table # => CmsSnippetVersions
30
30
 
31
- create_table "cms_pages" do |t|
32
- t.column "cms_template_id", :integer, :null => false
33
- t.column "cms_template_version", :integer, :null => false
34
-
35
- t.column "parent_id", :integer, :references => :cms_pages
36
-
37
- t.column "name", :string
38
- t.column "title", :string
39
- t.column "path", :text
40
- t.column "article_date", :datetime
41
- t.column "article_end_date", :datetime
42
-
43
- t.column "summary", :text
44
- t.column "thumbnail_path", :string, :limit => 255
45
- t.column "feature_image_path", :string, :limit => 255
46
- t.column "position", :integer, :default => 0
47
- t.column "comment_count", :integer, :default => 0
48
-
49
- t.column "version", :integer, :default => 0, :null => false
50
- t.column "published_version", :integer, :default => 0, :null => false
51
- t.column "published_date", :datetime, :null => false
52
- t.column "expiration_date", :datetime
53
- t.column "expires", :boolean, :default => false
54
- t.column "search_index", :text
55
- t.column "html_head", :text
56
-
57
- t.column "updated_by", :integer, :null => false
58
- t.column "updated_by_username", :string, :null => false
59
-
60
- t.column "created_on", :timestamp
61
- t.column "updated_on", :timestamp
31
+ create_table :cms_pages do |t|
32
+ t.integer :cms_template_id, null: false
33
+ t.integer :cms_template_version, null: false
34
+
35
+ t.integer :parent_id, references: :cms_pages
36
+
37
+ t.string :name
38
+ t.string :title
39
+ t.string :path
40
+ t.datetime :article_date
41
+ t.datetime :article_end_date
42
+
43
+ t.text :summary
44
+ t.string :thumbnail_path
45
+ t.string :feature_image_path
46
+ t.integer :position, default: 0
47
+ t.integer :comment_count, default: 0
48
+
49
+ t.integer :version, default: 0, null: false
50
+ t.integer :published_version, default: 0, null: false
51
+ t.datetime :published_date, null: false
52
+ t.datetime :expiration_date
53
+ t.boolean :expires, default: false
54
+ t.text :search_index
55
+ t.text :html_head
56
+
57
+ t.integer :updated_by, null: false
58
+ t.string :updated_by_username, null: false
59
+
60
+ t.datetime :created_on
61
+ t.datetime :updated_on
62
62
  end
63
63
  CmsPage.create_versioned_table # => CmsPageVersions
64
64
 
65
- create_table "cms_page_objects" do |t|
66
- t.column "cms_page_id", :integer, :null => false
67
- t.column "cms_page_version", :integer, :null => false
65
+ create_table :cms_page_objects do |t|
66
+ t.integer :cms_page_id, null: false
67
+ t.integer :cms_page_version, null: false
68
68
 
69
- t.column "name", :string
70
- t.column "obj_type", :string # one of [ :text, :asset ]
71
- t.column "content", :text # if :text, then text; if :asset, then asset_id
72
- t.column "options", :text # options hash
69
+ t.string :name
70
+ t.string :obj_type # one of [ :text, :asset ]
71
+ t.text :content # if :text, then text; if :asset, then asset_id
72
+ t.text :options # options hash
73
73
 
74
- t.column "created_on", :timestamp
75
- t.column "updated_on", :timestamp
74
+ t.datetime :created_on
75
+ t.datetime :updated_on
76
76
  end
77
77
 
78
- create_table "cms_page_tags" do |t|
79
- t.column "cms_page_id", :integer, :null => false
80
- t.column "name", :string, :null => false
81
- t.column "created_on", :timestamp
78
+ create_table :cms_page_tags do |t|
79
+ t.integer :cms_page_id, null: false
80
+ t.string :name, null: false
81
+
82
+ t.datetime :created_on
82
83
  end
83
84
 
84
- create_table "cms_page_comments" do |t|
85
- t.column "cms_page_id", :integer, :null => false
85
+ create_table :cms_page_comments do |t|
86
+ t.integer :cms_page_id, null: false
86
87
 
87
- t.column "owner", :string, :null => false
88
- t.column "owner_url", :string, :limit => 255
89
- t.column "owner_email", :string, :limit => 255
90
- t.column "content", :text
88
+ t.string :owner, null: false
89
+ t.string :owner_url
90
+ t.string :owner_email
91
+ t.text :content
91
92
 
92
- t.column "created_on", :timestamp
93
- t.column "updated_on", :timestamp
93
+ t.datetime :created_on
94
+ t.datetime :updated_on
94
95
  end
95
96
 
96
- create_table "cms_assets" do |t|
97
- t.column "name", :string
98
- t.column "content_type", :string
97
+ create_table :cms_assets do |t|
98
+ t.string :name
99
+ t.string :content_type
99
100
 
100
- t.column "created_on", :timestamp
101
- t.column "updated_on", :timestamp
101
+ t.datetime :created_on
102
+ t.datetime :updated_on
102
103
  end
103
104
 
104
- create_table "cms_asset_tags" do |t|
105
- t.column "cms_asset_id", :integer, :null => false
106
- t.column "user_id", :integer, :null => false
107
- t.column "name", :string
105
+ create_table :cms_asset_tags do |t|
106
+ t.integer :cms_asset_id, null: false
107
+ t.integer :user_id, null: false
108
+ t.string :name
108
109
 
109
- t.column "created_on", :timestamp
110
- t.column "updated_on", :timestamp
110
+ t.datetime :created_on
111
+ t.datetime :updated_on
111
112
  end
112
113
 
113
114
  execute 'create index cms_snippets_name_index on cms_snippets (name(255))'
@@ -116,23 +117,23 @@ class AddCmsTables < ActiveRecord::Migration
116
117
  execute 'create index cms_page_objects_cms_page_id_cms_page_version_index on cms_page_objects (cms_page_id, cms_page_version)'
117
118
  end
118
119
 
119
- def self.down
120
+ def down
120
121
  execute 'drop index cms_page_objects_cms_page_id_cms_page_version_index on cms_page_objects'
121
122
  execute 'drop index cms_page_objects_cms_page_id_obj_type_index on cms_page_objects'
122
123
  execute 'drop index cms_pages_path_index on cms_pages'
123
124
  execute 'drop index cms_snippets_name_index on cms_snippets'
124
125
 
125
- drop_table "cms_asset_tags"
126
- drop_table "cms_assets"
127
- drop_table "cms_page_comments"
128
- drop_table "cms_page_tags"
129
- drop_table "cms_page_objects"
130
- drop_table "cms_page_versions"
131
- drop_table "cms_pages"
132
- drop_table "cms_snippet_versions"
133
- drop_table "cms_snippets"
134
- drop_table "cms_template_versions"
135
- drop_table "cms_templates"
126
+ drop_table :cms_asset_tags
127
+ drop_table :cms_assets
128
+ drop_table :cms_page_comments
129
+ drop_table :cms_page_tags
130
+ drop_table :cms_page_objects
131
+ drop_table :cms_page_versions
132
+ drop_table :cms_pages
133
+ drop_table :cms_snippet_versions
134
+ drop_table :cms_snippets
135
+ drop_table :cms_template_versions
136
+ drop_table :cms_templates
136
137
  end
137
138
 
138
139
  end
@@ -1,6 +1,6 @@
1
- class AddRedirectFieldsToCmsPages < ActiveRecord::Migration
1
+ class AddRedirectFieldsToCmsPages < ActiveRecord::Migration[4.2]
2
2
  def change
3
- add_column :cms_pages, :redirect_enabled, :boolean, :null => false, :default => false
3
+ add_column :cms_pages, :redirect_enabled, :boolean, null: false, default: false
4
4
  add_column :cms_pages, :redirect_to, :text
5
5
  end
6
6
  end
@@ -1,6 +1,6 @@
1
- class AddRedirectFieldsToCmsPageVersions < ActiveRecord::Migration
1
+ class AddRedirectFieldsToCmsPageVersions < ActiveRecord::Migration[4.2]
2
2
  def change
3
- add_column :cms_page_versions, :redirect_enabled, :boolean, :null => false, :default => false
3
+ add_column :cms_page_versions, :redirect_enabled, :boolean, null: false, default: false
4
4
  add_column :cms_page_versions, :redirect_to, :text
5
5
  end
6
6
  end
@@ -0,0 +1,43 @@
1
+ # copy this to docker-compose.override.yml and uncomment lines as needed to override default settings
2
+ #
3
+ # reminder: use `docker ps` to see the list of running containers and their port mappings
4
+ #
5
+ version: '3'
6
+
7
+ services:
8
+ web:
9
+ ports:
10
+ - '3000:80' # <---- change the first number to set your local port (on 127.0.0.1)
11
+ volumes:
12
+ - ../mysite:/home/app/myapp:delegated # set to (relative) path to site you want to run
13
+ # - .:/home/app/imagine_cms:delegated # when working on imagine itself
14
+ # - ./prototype-rails:/home/app/prototype-rails:delegated # when working on imagine dependency prototype-rails
15
+ - log:/home/app/myapp/log
16
+ - node_modules:/home/app/myapp/node_modules
17
+ - rvm:/usr/local/rvm
18
+ - ~/.gitconfig:/home/app/.gitconfig # if you want to commit from within the container
19
+ # environment:
20
+ # PASSENGER_APP_ENV: production
21
+ # networks: # to use traefik, uncomment this along with the networks section at the bottom
22
+ # - traefik
23
+ # - default
24
+ # labels:
25
+ # traefik.docker.network: traefik
26
+
27
+ db:
28
+ ports: # access using mysql -P (not -p), ex: mysql -h 127.0.0.1 -P 33060 -u root
29
+ # - '33060:3306' # <---- change the first number to set your local port
30
+ - '3306' # <---- or omit the first number entirely to use a random local port (use `docker ps`)
31
+ volumes:
32
+ - db-data:/var/lib/mysql
33
+
34
+ volumes:
35
+ db-data:
36
+ log:
37
+ node_modules:
38
+ tmp:
39
+ rvm:
40
+
41
+ # networks:
42
+ # traefik:
43
+ # external: true
@@ -0,0 +1,21 @@
1
+ version: '3'
2
+
3
+ services:
4
+ web: # (passenger + sidekiq)
5
+ build: .
6
+ volumes:
7
+ - ./docker/conf/nginx-vhost.conf:/etc/nginx/sites-enabled/webapp.conf:delegated
8
+ environment:
9
+ PASSENGER_APP_ENV: development
10
+ MYSQL_HOST: db # if this is changed, update nginx-vhost.conf as well
11
+ REDIS_URL: redis://redis:6379/1 # if this is changed, update nginx-vhost.conf as well
12
+
13
+ db:
14
+ image: mariadb:10.3
15
+ volumes:
16
+ - ./docker/conf/my.local.cnf:/etc/mysql/conf.d/my.local.cnf
17
+ environment:
18
+ MYSQL_ALLOW_EMPTY_PASSWORD: 1
19
+
20
+ # redis:
21
+ # image: redis:4.0-32bit # not really 32-bit, just compiled that way to reduce memory usage
@@ -0,0 +1,3 @@
1
+ [client]
2
+ host = db
3
+ user = root
@@ -0,0 +1,14 @@
1
+ [mysqld]
2
+ max_connections = 10
3
+ performance_schema = 0
4
+
5
+ # innodb
6
+ innodb_buffer_pool_size = 5M
7
+
8
+ # myisam, which we don't really use
9
+ key_buffer_size = 8
10
+
11
+ # slow_query_log = 1
12
+ # slow_query_log_file = /var/log/mysql/mariadb-slow.log
13
+ # long_query_time = 5
14
+ # log_queries_not_using_indexes = 1
@@ -0,0 +1,9 @@
1
+ [mysqld]
2
+ max_connections = 100
3
+ performance_schema = 0
4
+
5
+ # innodb
6
+ innodb_buffer_pool_size = 64M
7
+
8
+ # myisam, which we don't really use
9
+ key_buffer_size = 8M