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.
- checksums.yaml +5 -5
- data/.gitignore +4 -0
- data/.ruby-version +1 -1
- data/Dockerfile +61 -0
- data/README.md +50 -0
- data/app/assets/javascripts/imagine_cms/core.js +4 -2
- data/app/assets/javascripts/imagine_cms/legacy/misc.js +29 -31
- data/app/controllers/cms/content_controller.rb +29 -25
- data/app/controllers/manage/application_controller.rb +4 -0
- data/app/controllers/manage/cms_controller.rb +13 -0
- data/app/controllers/{management/cms_controller.rb → manage/cms_pages_controller.rb} +625 -711
- data/app/controllers/manage/cms_snippets_controller.rb +67 -0
- data/app/controllers/manage/cms_templates_controller.rb +71 -0
- data/app/controllers/management/application_controller.rb +1 -1
- data/app/controllers/management/user_controller.rb +7 -6
- data/app/controllers/management/users_controller.rb +56 -56
- data/app/controllers/util_controller.rb +0 -1
- data/app/helpers/cms_application_helper.rb +17 -19
- data/app/mailers/imagine_cms_mailer.rb +16 -0
- data/app/models/cms_page.rb +8 -23
- data/app/models/user.rb +1 -1
- data/app/sweepers/cms_content_sweeper.rb +3 -3
- data/app/views/cms/content/_photo_gallery.html.erb +4 -4
- data/app/views/cms/content/_search_result.html.erb +1 -1
- data/app/views/imagine_cms/_header.html.erb +1 -1
- data/app/views/imagine_cms/_toolbar.html.erb +12 -12
- data/app/views/imagine_cms_mailer/request_review.text.erb +10 -0
- data/app/views/layouts/management.html.erb +29 -5
- data/app/views/manage/cms/index.html.erb +7 -0
- data/app/views/{management/cms → manage/cms_pages}/_complete_gallery.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_create_file_link.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_crop_feature_image.html.erb +20 -5
- data/app/views/{management/cms → manage/cms_pages}/_crop_image.html.erb +20 -5
- data/app/views/{management/cms → manage/cms_pages}/_crop_results.html.erb +0 -0
- data/app/views/manage/cms_pages/_crop_results_feature_image.html.erb +1 -0
- data/app/views/manage/cms_pages/_crop_results_thumb.html.erb +1 -0
- data/app/views/{management/cms → manage/cms_pages}/_crop_thumb.html.erb +20 -5
- data/app/views/{management/cms → manage/cms_pages}/_edit_page.html.erb +37 -49
- data/app/views/{management/cms → manage/cms_pages}/_gallery_index.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_gallery_setup.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_image.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_image_details.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_image_draggable.html.erb +0 -0
- data/app/views/manage/cms_pages/_list_page.html.erb +8 -0
- data/app/views/{management/cms → manage/cms_pages}/_list_page_select.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_list_pages.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_list_pages_select.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_page_attribute.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_page_list.html.erb +2 -2
- data/app/views/{management/cms → manage/cms_pages}/_page_list_source_folder.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_page_list_source_tag.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_select_gallery.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_sort_images.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_template_options.html.erb +3 -3
- data/app/views/{management/cms → manage/cms_pages}/_upload_feature_image.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_upload_file.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/_upload_image.html.erb +1 -1
- data/app/views/{management/cms → manage/cms_pages}/_upload_thumb.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/edit_page_content.html.erb +7 -0
- data/app/views/{management/cms → manage/cms_pages}/gallery_management.html.erb +1 -1
- data/app/views/{management/cms/pages.html.erb → manage/cms_pages/index.html.erb} +1 -1
- data/app/views/{management/cms/page_tags_for_lookup.html.erb → manage/cms_pages/page_tags_for_lookup.js.erb} +0 -0
- data/app/views/{management/cms → manage/cms_pages}/select_page.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/toolbar_edit.html.erb +0 -0
- data/app/views/{management/cms → manage/cms_pages}/toolbar_preview.html.erb +6 -6
- data/app/views/manage/cms_snippets/_cms_snippet.html.erb +3 -0
- data/app/views/manage/cms_snippets/edit.html.erb +25 -0
- data/app/views/{management/cms/snippets.html.erb → manage/cms_snippets/index.html.erb} +2 -2
- data/app/views/manage/cms_templates/_cms_template.html.erb +3 -0
- data/app/views/{management/cms → manage/cms_templates}/_template_reference.html.erb +2 -2
- data/app/views/manage/cms_templates/edit.html.erb +26 -0
- data/app/views/{management/cms/templates.html.erb → manage/cms_templates/index.html.erb} +2 -2
- data/app/views/management/default/index.html.erb +3 -1
- data/app/views/management/users/edit.html.erb +2 -2
- data/app/views/management/users/index.html.erb +2 -2
- data/app/views/management/users/new.html.erb +1 -1
- data/config/initializers/constants.rb +3 -0
- data/config/routes.rb +57 -10
- data/db/migrate/20121108004747_add_settings_table.rb +8 -12
- data/db/migrate/20121108005110_add_tasks_table.rb +7 -11
- data/db/migrate/20121115083748_add_logs_table.rb +13 -18
- data/db/migrate/20121115083811_add_users_tables.rb +26 -26
- data/db/migrate/20121115084028_add_cms_tables.rb +91 -90
- data/db/migrate/20140423085357_add_redirect_fields_to_cms_pages.rb +2 -2
- data/db/migrate/20140423085358_add_redirect_fields_to_cms_page_versions.rb +2 -2
- data/docker-compose.override.yml.example +43 -0
- data/docker-compose.yml +21 -0
- data/docker/conf/.my.cnf +3 -0
- data/docker/conf/my.local.cnf +14 -0
- data/docker/conf/my.prod.cnf +9 -0
- data/docker/conf/nginx-vhost.conf +14 -0
- data/docker/services/memcached.sh +3 -0
- data/docker/services/sidekiq.sh +3 -0
- data/docker/services/webpack.sh +3 -0
- data/docker/startup/101_mkdir.sh +15 -0
- data/docker/startup/201_bundler.sh +4 -0
- data/docker/startup/211_yarn.sh +4 -0
- data/imagine_cms.gemspec +12 -11
- data/lib/extensions/action_controller_extensions.rb +4 -2
- data/lib/imagine_cms/engine.rb +6 -7
- data/lib/imagine_cms/version.rb +1 -1
- data/lib/upload_progress/lib/upload_progress.rb +3 -3
- data/test/dummy/app/assets/javascripts/application.js +0 -1
- metadata +94 -74
- data/.ruby-gemset +0 -1
- data/README.rdoc +0 -98
- data/app/views/management/cms/_crop_results_feature_image.html.erb +0 -1
- data/app/views/management/cms/_crop_results_thumb.html.erb +0 -1
- data/app/views/management/cms/_list_page.html.erb +0 -8
- data/app/views/management/cms/_snippet.html.erb +0 -3
- data/app/views/management/cms/_temp.html.erb +0 -3
- data/app/views/management/cms/edit_master.html.erb +0 -48
- data/app/views/management/cms/edit_snippet.html.erb +0 -25
- data/app/views/management/cms/edit_template.html.erb +0 -25
- data/app/views/management/cms/index.html.erb +0 -7
- data/app/views/management/cms/permission_denied.html.erb +0 -1
- data/lib/hash_object.rb +0 -39
- 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
|
|
4
|
-
create_table
|
|
5
|
-
t.
|
|
6
|
-
t.
|
|
3
|
+
def change
|
|
4
|
+
create_table :logs do |t|
|
|
5
|
+
t.string :name
|
|
6
|
+
t.text :description
|
|
7
7
|
|
|
8
|
-
t.
|
|
8
|
+
t.datetime :created_on
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
create_table
|
|
12
|
-
t.
|
|
11
|
+
create_table :log_entries do |t|
|
|
12
|
+
t.integer :log_id, null: false
|
|
13
13
|
|
|
14
|
-
t.
|
|
15
|
-
t.
|
|
16
|
-
t.
|
|
14
|
+
t.string :type, null: false
|
|
15
|
+
t.text :description
|
|
16
|
+
t.text :data
|
|
17
17
|
|
|
18
|
-
t.
|
|
18
|
+
t.datetime :created_on
|
|
19
19
|
end
|
|
20
|
-
add_index "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
|
|
4
|
-
create_table
|
|
5
|
-
t.
|
|
6
|
-
t.
|
|
3
|
+
def up
|
|
4
|
+
create_table :users do |t|
|
|
5
|
+
t.string :username
|
|
6
|
+
t.string :password_hash, limit: 100
|
|
7
7
|
|
|
8
|
-
t.
|
|
9
|
-
t.
|
|
8
|
+
t.string :first_name, limit: 100
|
|
9
|
+
t.string :last_name, limit: 100
|
|
10
10
|
|
|
11
|
-
t.
|
|
11
|
+
t.text :dynamic_fields
|
|
12
12
|
|
|
13
|
-
t.
|
|
14
|
-
t.
|
|
13
|
+
t.boolean :active, null: false, default: true
|
|
14
|
+
t.boolean :is_superuser, null: false, default: true
|
|
15
15
|
|
|
16
|
-
t.
|
|
17
|
-
t.
|
|
16
|
+
t.datetime :created_on
|
|
17
|
+
t.datetime :updated_on
|
|
18
18
|
end
|
|
19
|
-
add_index "users", ["username"], :
|
|
19
|
+
add_index "users", ["username"], name: "UN_users_username", unique: true
|
|
20
20
|
|
|
21
|
-
create_table
|
|
22
|
-
t.
|
|
21
|
+
create_table :user_groups do |t|
|
|
22
|
+
t.string :name
|
|
23
23
|
|
|
24
|
-
t.
|
|
25
|
-
t.
|
|
24
|
+
t.datetime :created_on
|
|
25
|
+
t.datetime :updated_on
|
|
26
26
|
end
|
|
27
|
-
add_index "user_groups", ["name"], :
|
|
27
|
+
add_index "user_groups", ["name"], name: "UN_user_groups_name", unique: true
|
|
28
28
|
|
|
29
|
-
create_table
|
|
30
|
-
t.
|
|
31
|
-
t.
|
|
32
|
-
t.
|
|
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
|
|
38
|
-
drop_table
|
|
39
|
-
drop_table
|
|
40
|
-
drop_table
|
|
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
|
|
8
|
-
create_table
|
|
9
|
-
t.
|
|
10
|
-
t.
|
|
11
|
-
t.
|
|
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.
|
|
13
|
+
t.integer :version, default: 0, null: false
|
|
14
14
|
|
|
15
|
-
t.
|
|
16
|
-
t.
|
|
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
|
|
21
|
-
t.
|
|
22
|
-
t.
|
|
20
|
+
create_table :cms_snippets do |t|
|
|
21
|
+
t.string :name
|
|
22
|
+
t.text :content
|
|
23
23
|
|
|
24
|
-
t.
|
|
24
|
+
t.integer :version, default: 0, null: false
|
|
25
25
|
|
|
26
|
-
t.
|
|
27
|
-
t.
|
|
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
|
|
32
|
-
t.
|
|
33
|
-
t.
|
|
34
|
-
|
|
35
|
-
t.
|
|
36
|
-
|
|
37
|
-
t.
|
|
38
|
-
t.
|
|
39
|
-
t.
|
|
40
|
-
t.
|
|
41
|
-
t.
|
|
42
|
-
|
|
43
|
-
t.
|
|
44
|
-
t.
|
|
45
|
-
t.
|
|
46
|
-
t.
|
|
47
|
-
t.
|
|
48
|
-
|
|
49
|
-
t.
|
|
50
|
-
t.
|
|
51
|
-
t.
|
|
52
|
-
t.
|
|
53
|
-
t.
|
|
54
|
-
t.
|
|
55
|
-
t.
|
|
56
|
-
|
|
57
|
-
t.
|
|
58
|
-
t.
|
|
59
|
-
|
|
60
|
-
t.
|
|
61
|
-
t.
|
|
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
|
|
66
|
-
t.
|
|
67
|
-
t.
|
|
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.
|
|
70
|
-
t.
|
|
71
|
-
t.
|
|
72
|
-
t.
|
|
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.
|
|
75
|
-
t.
|
|
74
|
+
t.datetime :created_on
|
|
75
|
+
t.datetime :updated_on
|
|
76
76
|
end
|
|
77
77
|
|
|
78
|
-
create_table
|
|
79
|
-
t.
|
|
80
|
-
t.
|
|
81
|
-
|
|
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
|
|
85
|
-
t.
|
|
85
|
+
create_table :cms_page_comments do |t|
|
|
86
|
+
t.integer :cms_page_id, null: false
|
|
86
87
|
|
|
87
|
-
t.
|
|
88
|
-
t.
|
|
89
|
-
t.
|
|
90
|
-
t.
|
|
88
|
+
t.string :owner, null: false
|
|
89
|
+
t.string :owner_url
|
|
90
|
+
t.string :owner_email
|
|
91
|
+
t.text :content
|
|
91
92
|
|
|
92
|
-
t.
|
|
93
|
-
t.
|
|
93
|
+
t.datetime :created_on
|
|
94
|
+
t.datetime :updated_on
|
|
94
95
|
end
|
|
95
96
|
|
|
96
|
-
create_table
|
|
97
|
-
t.
|
|
98
|
-
t.
|
|
97
|
+
create_table :cms_assets do |t|
|
|
98
|
+
t.string :name
|
|
99
|
+
t.string :content_type
|
|
99
100
|
|
|
100
|
-
t.
|
|
101
|
-
t.
|
|
101
|
+
t.datetime :created_on
|
|
102
|
+
t.datetime :updated_on
|
|
102
103
|
end
|
|
103
104
|
|
|
104
|
-
create_table
|
|
105
|
-
t.
|
|
106
|
-
t.
|
|
107
|
-
t.
|
|
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.
|
|
110
|
-
t.
|
|
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
|
|
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
|
|
126
|
-
drop_table
|
|
127
|
-
drop_table
|
|
128
|
-
drop_table
|
|
129
|
-
drop_table
|
|
130
|
-
drop_table
|
|
131
|
-
drop_table
|
|
132
|
-
drop_table
|
|
133
|
-
drop_table
|
|
134
|
-
drop_table
|
|
135
|
-
drop_table
|
|
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, :
|
|
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, :
|
|
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
|
data/docker-compose.yml
ADDED
|
@@ -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
|
data/docker/conf/.my.cnf
ADDED
|
@@ -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
|