digital_heroes_startkit 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (189) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +37 -0
  4. data/Rakefile +36 -0
  5. data/app/assets/config/digital_heroes_startkit_manifest.js +0 -0
  6. data/app/assets/javascripts/authorization.coffee +79 -0
  7. data/app/assets/javascripts/avatar.coffee +16 -0
  8. data/app/assets/javascripts/datepicker.js +2 -0
  9. data/app/assets/javascripts/digital_heroes_startkit/cable.js +13 -0
  10. data/app/assets/javascripts/digital_heroes_startkit/channels/pills.coffee +23 -0
  11. data/app/assets/javascripts/digital_heroes_startkit/input.coffee +5 -0
  12. data/app/assets/javascripts/digital_heroes_startkit/pills.coffee +2 -0
  13. data/app/assets/javascripts/digital_heroes_startkit/snap.svg-min.js +21 -0
  14. data/app/assets/javascripts/digital_heroes_startkit.js +26 -0
  15. data/app/assets/javascripts/profile.coffee +53 -0
  16. data/app/assets/javascripts/profile_geodata.coffee +68 -0
  17. data/app/assets/javascripts/reg_fields_checkup.coffee +96 -0
  18. data/app/assets/javascripts/registration.coffee +35 -0
  19. data/app/assets/javascripts/resurrection.coffee +20 -0
  20. data/app/channels/application_cable/channel.rb +4 -0
  21. data/app/channels/application_cable/connection.rb +4 -0
  22. data/app/channels/pills_channel.rb +10 -0
  23. data/app/controllers/avatars_controller.rb +11 -0
  24. data/app/controllers/clients_controller.rb +62 -0
  25. data/app/controllers/email_access_cards_controller.rb +28 -0
  26. data/app/controllers/geodata_controller.rb +84 -0
  27. data/app/controllers/nickname_access_cards_controller.rb +30 -0
  28. data/app/controllers/oauth_controller.rb +178 -0
  29. data/app/controllers/openid_controller.rb +124 -0
  30. data/app/controllers/phone_access_cards_controller.rb +28 -0
  31. data/app/controllers/profile_controller.rb +114 -0
  32. data/app/controllers/response_controller.rb +17 -0
  33. data/app/controllers/start_kit_controller.rb +86 -0
  34. data/app/controllers/user_cards_controller.rb +305 -0
  35. data/app/jobs/log_analyzer_job.rb +50 -0
  36. data/app/jobs/password_resurrection_kill_job.rb +9 -0
  37. data/app/mailers/admin_mailer.rb +9 -0
  38. data/app/mailers/client_mailer.rb +3 -0
  39. data/app/mailers/kreator_mailer.rb +9 -0
  40. data/app/mailers/manager_mailer.rb +9 -0
  41. data/app/mailers/prometeus_mailer.rb +16 -0
  42. data/app/mailers/user_cards_mailer.rb +9 -0
  43. data/app/models/admin.rb +3 -0
  44. data/app/models/avatar.rb +23 -0
  45. data/app/models/city.rb +7 -0
  46. data/app/models/client.rb +31 -0
  47. data/app/models/country.rb +7 -0
  48. data/app/models/delayed_job.rb +20 -0
  49. data/app/models/email_access_card.rb +30 -0
  50. data/app/models/kreator.rb +3 -0
  51. data/app/models/log_error.rb +56 -0
  52. data/app/models/log_error_type.rb +3 -0
  53. data/app/models/manager.rb +3 -0
  54. data/app/models/nickname_access_card.rb +18 -0
  55. data/app/models/oauth_access_card.rb +38 -0
  56. data/app/models/phone_access_card.rb +19 -0
  57. data/app/models/prometeus.rb +50 -0
  58. data/app/models/user_card.rb +158 -0
  59. data/app/views/admin_mailer/greetings_email.html.erb +191 -0
  60. data/app/views/client_mailer/greetings_email.html.erb +191 -0
  61. data/app/views/kreator_mailer/greetings_email.html.erb +191 -0
  62. data/app/views/manager_mailer/greetings_email.html.erb +191 -0
  63. data/app/views/oauth/verify.slim +1 -0
  64. data/app/views/profile/_add_avatar.slim +12 -0
  65. data/app/views/profile/_user_profile.slim +95 -0
  66. data/app/views/profile/index.slim +12 -0
  67. data/app/views/user_cards/authorization.slim +72 -0
  68. data/app/views/user_cards/confirmation_but_access_code.slim +7 -0
  69. data/app/views/user_cards/confirmation_complete.slim +7 -0
  70. data/app/views/user_cards/registration.slim +86 -0
  71. data/app/views/user_cards/resurrection.slim +19 -0
  72. data/app/views/user_cards/resurrection_but_access_code.slim +7 -0
  73. data/app/views/user_cards/resurrection_no_access_code.slim +7 -0
  74. data/app/views/user_cards_mailer/email.html.erb +191 -0
  75. data/app/views/user_cards_mailer/resurrection.html.erb +191 -0
  76. data/config/initializers/session_manager.rb +2 -0
  77. data/config/routes.rb +53 -0
  78. data/lib/access_control.rb +3 -0
  79. data/lib/digital_heroes_startkit/engine.rb +25 -0
  80. data/lib/digital_heroes_startkit/version.rb +3 -0
  81. data/lib/digital_heroes_startkit.rb +5 -0
  82. data/lib/generators/digital_heroes_startkit/install_generator.rb +61 -0
  83. data/lib/generators/project/Capfile +36 -0
  84. data/lib/generators/project/Procfile +3 -0
  85. data/lib/generators/project/app/assets/stylesheets/application.scss +16 -0
  86. data/lib/generators/project/app/assets/stylesheets/base/_auth.scss +37 -0
  87. data/lib/generators/project/app/assets/stylesheets/base/_buttons.scss +62 -0
  88. data/lib/generators/project/app/assets/stylesheets/base/_checkbox.scss +71 -0
  89. data/lib/generators/project/app/assets/stylesheets/base/_datepicker.scss +620 -0
  90. data/lib/generators/project/app/assets/stylesheets/base/_form.scss +81 -0
  91. data/lib/generators/project/app/assets/stylesheets/base/_notice.scss +14 -0
  92. data/lib/generators/project/app/assets/stylesheets/base/_pills.scss +39 -0
  93. data/lib/generators/project/app/assets/stylesheets/base/_profile.scss +67 -0
  94. data/lib/generators/project/app/assets/stylesheets/base/_reset.scss +49 -0
  95. data/lib/generators/project/app/assets/stylesheets/base/_social.scss +52 -0
  96. data/lib/generators/project/app/assets/stylesheets/base/_user.scss +0 -0
  97. data/lib/generators/project/app/assets/stylesheets/base/_user_avatar.scss +18 -0
  98. data/lib/generators/project/app/assets/stylesheets/base/styles.scss.txt +35 -0
  99. data/lib/generators/project/app/assets/stylesheets/plugins/sumoselect.scss +296 -0
  100. data/lib/generators/project/app/controllers/application_controller.rb +3 -0
  101. data/lib/generators/project/app/views/layouts/_counts.html.erb +29 -0
  102. data/lib/generators/project/app/views/layouts/_footer.slim +6 -0
  103. data/lib/generators/project/app/views/layouts/_head.slim +7 -0
  104. data/lib/generators/project/app/views/layouts/_header.slim +47 -0
  105. data/lib/generators/project/app/views/layouts/_mobile_menu.slim +11 -0
  106. data/lib/generators/project/app/views/layouts/application.slim +26 -0
  107. data/lib/generators/project/app/views/layouts/mailer.html.erb +13 -0
  108. data/lib/generators/project/app/views/layouts/mailer.text.erb +1 -0
  109. data/lib/generators/project/config/application.access.yml +66 -0
  110. data/lib/generators/project/config/application.db.yml +5 -0
  111. data/lib/generators/project/config/application.google.yml +3 -0
  112. data/lib/generators/project/config/application.oauth.yml +135 -0
  113. data/lib/generators/project/config/application.robokassa.yml +10 -0
  114. data/lib/generators/project/config/application.sendgrid.yml +3 -0
  115. data/lib/generators/project/config/application.telegram.yml +22 -0
  116. data/lib/generators/project/config/application.yml +28 -0
  117. data/lib/generators/project/config/cable.yml +6 -0
  118. data/lib/generators/project/config/capistrano.yml +78 -0
  119. data/lib/generators/project/config/database.yml +52 -0
  120. data/lib/generators/project/config/deploy/application.secrets.yml +4 -0
  121. data/lib/generators/project/config/deploy/domain.crt +92 -0
  122. data/lib/generators/project/config/deploy/domain.key +51 -0
  123. data/lib/generators/project/config/deploy/nginx.conf +50 -0
  124. data/lib/generators/project/config/deploy/production.rb +67 -0
  125. data/lib/generators/project/config/deploy/secrets.yml +32 -0
  126. data/lib/generators/project/config/deploy/secrets.yml.enc +1 -0
  127. data/lib/generators/project/config/deploy/secrets.yml.key +1 -0
  128. data/lib/generators/project/config/deploy/staging.rb +61 -0
  129. data/lib/generators/project/config/deploy/virgin_conf/database.yml +42 -0
  130. data/lib/generators/project/config/deploy/virgin_conf/nginx_site.conf +47 -0
  131. data/lib/generators/project/config/deploy/virgin_conf/nginx_site_ssl.conf +57 -0
  132. data/lib/generators/project/config/deploy/virgin_conf/postfix.cf +685 -0
  133. data/lib/generators/project/config/deploy/virgin_conf/production.rb +67 -0
  134. data/lib/generators/project/config/deploy/virgin_conf/puma.rb +66 -0
  135. data/lib/generators/project/config/deploy/virgin_sh/capistrano.sh +18 -0
  136. data/lib/generators/project/config/deploy/virgin_sh/foreman.sh +19 -0
  137. data/lib/generators/project/config/deploy/virgin_sh/rvm_install.sh +10 -0
  138. data/lib/generators/project/config/deploy.rb +377 -0
  139. data/lib/generators/project/config/environments/development.rb +91 -0
  140. data/lib/generators/project/config/environments/production.rb +142 -0
  141. data/lib/generators/project/config/initializers/session_store.rb +3 -0
  142. data/lib/generators/project/config/locales/ru.yml +444 -0
  143. data/lib/generators/project/db/migrate/10_create_user_cards.rb +19 -0
  144. data/lib/generators/project/db/migrate/12_create_email_access_cards.rb +15 -0
  145. data/lib/generators/project/db/migrate/13_create_nickname_access_cards.rb +15 -0
  146. data/lib/generators/project/db/migrate/14_create_phone_access_cards.rb +16 -0
  147. data/lib/generators/project/db/migrate/15_create_oauth_access_cards.rb +19 -0
  148. data/lib/generators/project/db/migrate/1_create_kreators.rb +9 -0
  149. data/lib/generators/project/db/migrate/21_create_avatars.rb +12 -0
  150. data/lib/generators/project/db/migrate/30_create_countries.rb +12 -0
  151. data/lib/generators/project/db/migrate/32_create_cities.rb +12 -0
  152. data/lib/generators/project/db/migrate/3_create_admins.rb +9 -0
  153. data/lib/generators/project/db/migrate/44_add_sessions_table.rb +12 -0
  154. data/lib/generators/project/db/migrate/4_create_managers.rb +10 -0
  155. data/lib/generators/project/db/migrate/5_create_clients.rb +17 -0
  156. data/lib/generators/project/db/migrate/60_create_log_error_types.rb +9 -0
  157. data/lib/generators/project/db/migrate/61_create_log_errors.rb +12 -0
  158. data/lib/generators/project/db/migrate/78_create_delayed_jobs.rb +22 -0
  159. data/lib/generators/project/db/seeds.rb +27 -0
  160. data/lib/generators/project/geodata/cities.csv +25305 -0
  161. data/lib/generators/project/geodata/countries.csv +250 -0
  162. data/lib/generators/project/public/401.html +75 -0
  163. data/lib/generators/project/public/404.html +67 -0
  164. data/lib/generators/project/public/422.html +67 -0
  165. data/lib/generators/project/public/500.html +66 -0
  166. data/lib/generators/project/public/_receiver.html +10 -0
  167. data/lib/generators/project/public/apple-touch-icon-precomposed.png +0 -0
  168. data/lib/generators/project/public/apple-touch-icon.png +0 -0
  169. data/lib/generators/project/public/favicon.ico +0 -0
  170. data/lib/generators/project/public/robots.txt +1 -0
  171. data/lib/happy_birthday.rb +5 -0
  172. data/lib/link.rb +16 -0
  173. data/lib/oauth/oauth.rb +72 -0
  174. data/lib/oauth/oauth_fb.rb +48 -0
  175. data/lib/oauth/oauth_gg.rb +50 -0
  176. data/lib/oauth/oauth_im.rb +51 -0
  177. data/lib/oauth/oauth_mr.rb +53 -0
  178. data/lib/oauth/oauth_vk.rb +3 -0
  179. data/lib/oauth/oauth_yx.rb +51 -0
  180. data/lib/openid/openid.rb +46 -0
  181. data/lib/openid/openid_st.rb +2 -0
  182. data/lib/phone_cutter.rb +9 -0
  183. data/lib/response.rb +51 -0
  184. data/lib/session_manager.rb +47 -0
  185. data/lib/sms_lib.rb +30 -0
  186. data/lib/social_networks.rb +328 -0
  187. data/lib/tasks/digital_heroes_startkit_tasks.rake +83 -0
  188. data/lib/telegram.rb +33 -0
  189. metadata +497 -0
@@ -0,0 +1,26 @@
1
+ doctype html
2
+ html
3
+ head
4
+ = render 'layouts/head'
5
+
6
+ body class="#{'front-page' if controller.controller_name == 'main'}"
7
+
8
+ = render 'layouts/header'
9
+
10
+ .container.container--base
11
+
12
+ = yield :banner
13
+
14
+ .container__inner.container__main
15
+
16
+ - if flash[:pills]
17
+ .flash-message
18
+ = flash[:pills]
19
+
20
+ = yield
21
+
22
+ = render 'layouts/footer'
23
+
24
+ #pills-notice.pills-notice
25
+ .blue-pill
26
+ .red-pill
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+ <style>
6
+ /* Email styles need to be inline */
7
+ </style>
8
+ </head>
9
+
10
+ <body>
11
+ <%= yield %>
12
+ </body>
13
+ </html>
@@ -0,0 +1 @@
1
+ <%= yield %>
@@ -0,0 +1,66 @@
1
+ # количество карточек доступа в проекте
2
+ access_cards:
3
+ nickname:
4
+ quantity: 1
5
+ error_notice: Никнейм должен состоять из латинских букв, также цифр и _
6
+ warning_notice: Никнейм должен состоять из латинских букв, также цифр и _
7
+ enter_notice: Введите ваш никнейм
8
+ email:
9
+ quantity: 1
10
+ error_notice: Это не является почтовым ящиком
11
+ warning_notice: Этот адрес занят другим пользователем
12
+ enter_notice: Введите вашу почту
13
+ phone:
14
+ quantity: 1
15
+ error_notice: Введите номер полностью
16
+ warning_notice: Этот номер занят другим пользователем
17
+ enter_notice: Введите ваш телефон
18
+
19
+ # права доступа
20
+ access_levels:
21
+ admin:
22
+ admin:
23
+ - index
24
+ profile:
25
+ client:
26
+ - index
27
+ - update
28
+
29
+ # роли и их каскадная иерархия
30
+ access_aliases:
31
+ client: 2
32
+ manager: 16
33
+ admin: 24
34
+ kreator: 80
35
+
36
+ # роль с которой начинается редактирование чужих объектов
37
+ access_edit_bottom: admin
38
+
39
+ # можно входить по
40
+ access_by:
41
+ # id:
42
+ # truly: '^\d{1,9}$'
43
+ # nearly: '^\d{1,9}$'
44
+ # disclaimer: такого ID нет в системе
45
+ email:
46
+ truly: '^\A[а-яА-Яa-zA-Z0-9_\.\+\-]+@[а-яА-Яa-zA-Z0-9\-]+\.[а-яА-Яa-zA-Z0-9-]{2,}\z$'
47
+ nearly: '@'
48
+ disclaimer: напишите корректный почтовый адрес
49
+ nickname:
50
+ truly: '^[a-zA-Z][\w]{0,14}$'
51
+ nearly: '^[a-zA-Z][\w]+$'
52
+ disclaimer: никнейм должен начинаться с латинской буквы, возможно добавление цифр и _
53
+ phone:
54
+ truly: '^\d{10}$'
55
+ nearly: '^\d{10,30}}$'
56
+ disclaimer: мобильный номер должен состоять из 10 цифр (без +7)
57
+
58
+
59
+ access_cards_info:
60
+ phone_cutter: '^8|^\+7|[\+\s\(\)\-\_]'
61
+ phone_cutter_cc: '^\A\+?7?8?'
62
+ # правила для пароля
63
+ password_line: '.{8,}'
64
+ password_disclaimer: пароль должен содержать не менее 8 символов
65
+ bad_login_disclaimer: этот мистер не зарегистрирован
66
+ bad_login_fiasco_disclaimer: введите логин
@@ -0,0 +1,5 @@
1
+ db:
2
+ login: login_place
3
+ pass: password_place
4
+ name: name_place
5
+ socket: /tmp/mysql.sock
@@ -0,0 +1,3 @@
1
+ api:
2
+ keys:
3
+ places:
@@ -0,0 +1,135 @@
1
+ # социальные сети
2
+ oauth:
3
+ vk:
4
+ auth:
5
+ united_params:
6
+ client_id:
7
+ step1:
8
+ uri: https://oauth.vk.com/authorize
9
+ display: popup
10
+ scope: friends,photos,email
11
+ response_type: code
12
+ v: 5.74
13
+ step2:
14
+ uri: https://oauth.vk.com/access_token
15
+ client_secret:
16
+ api:
17
+ united_params:
18
+ v: 5.74
19
+ uri: https://api.vk.com/method/
20
+ users_get:
21
+ prefix: users.get
22
+ params:
23
+ fields: sex,bdate,city,country,photo_100,nickname,activities
24
+
25
+ fb:
26
+ auth:
27
+ united_params:
28
+ client_id:
29
+ step1:
30
+ uri: https://facebook.com/v3.0/dialog/oauth
31
+ scope: public_profile,email,user_photos,user_birthday,user_location
32
+ response_type: code
33
+ step2:
34
+ uri: https://graph.facebook.com/v3.0/oauth/access_token
35
+ client_secret:
36
+ debug_token:
37
+ uri: https://graph.facebook.com/debug_token
38
+ client_secret:
39
+ api:
40
+ uri: https://graph.facebook.com/v3.0/me
41
+ get_reg_info:
42
+ params:
43
+ fields: about,email
44
+ get_user_info:
45
+ params:
46
+ fields: about,birthday,gender,location,first_name,last_name,middle_name
47
+ get_picture:
48
+ prefix: /picture
49
+ check_permissions:
50
+ prefix: /permissions
51
+
52
+ gg:
53
+ auth:
54
+ united_params:
55
+ client_id:
56
+ step1:
57
+ uri: https://accounts.google.com/o/oauth2/auth
58
+ scope: email profile openid
59
+ response_type: code
60
+ state: gg
61
+ access_type: online
62
+ approval_prompt: auto # запрашивать разрешения 1 раз или постоянно (force)
63
+ include_granted_scopes: true
64
+ step2:
65
+ uri: https://www.googleapis.com/oauth2/v4/token
66
+ client_secret:
67
+ grant_type: authorization_code
68
+ api:
69
+ tokeninfo:
70
+ uri: https://www.googleapis.com/oauth2/v3/tokeninfo
71
+
72
+ yx:
73
+ auth:
74
+ united_params:
75
+ client_id:
76
+ step1:
77
+ uri: https://oauth.yandex.ru/authorize
78
+ response_type: code
79
+ display: popup
80
+ state: yx
81
+ step2:
82
+ uri: https://oauth.yandex.ru/token
83
+ grant_type: authorization_code
84
+ client_secret:
85
+ api:
86
+ passport:
87
+ uri: https://login.yandex.ru/info
88
+ params:
89
+ with_openid_identity: 1
90
+ format: json
91
+
92
+ mr:
93
+ auth:
94
+ united_params:
95
+ client_id:
96
+ step1:
97
+ uri: https://connect.mail.ru/oauth/authorize
98
+ response_type: code
99
+ step2:
100
+ uri: https://connect.mail.ru/oauth/token
101
+ client_secret:
102
+ grant_type: authorization_code
103
+ api:
104
+ get_user_info:
105
+ uri: http://www.appsmail.ru/platform/api
106
+ params:
107
+ method: users.getInfo
108
+ app_id:
109
+ secure: 1
110
+ st:
111
+ auth:
112
+ united_params:
113
+ openid.claimed_id: http://specs.openid.net/auth/2.0/identifier_select
114
+ openid.identity: http://specs.openid.net/auth/2.0/identifier_select
115
+ openid.mode: checkid_setup
116
+ openid.ns: http://specs.openid.net/auth/2.0
117
+ openid.realm: https://motorsportparts.ru/
118
+ step1:
119
+ uri: https://steamcommunity.com/openid/login
120
+ format: json
121
+
122
+ im:
123
+ auth:
124
+ united_params:
125
+ client_id:
126
+ step1:
127
+ uri: https://api.instagram.com/oauth/authorize
128
+ response_type: code
129
+ step2:
130
+ uri: https://api.instagram.com/oauth/access_token
131
+ client_secret:
132
+ grant_type: authorization_code
133
+ api:
134
+ user_self:
135
+ uri: https://api.instagram.com/v1/users/self
@@ -0,0 +1,10 @@
1
+ #робокасса
2
+ robokassa:
3
+ api: http://www.free-kassa.ru/api.php
4
+ MerchantLogin:
5
+ Culture: ru
6
+ Encoding: utf-8
7
+ pass1:
8
+ pass2:
9
+ demopass1:
10
+ demopass2:
@@ -0,0 +1,3 @@
1
+ sendgrid:
2
+ user_name:
3
+ password:
@@ -0,0 +1,22 @@
1
+ telegram:
2
+ bot_path:
3
+ https://api.telegram.org/bot
4
+ bot_token:
5
+ chat_ids:
6
+ deal: -1001119580141
7
+ tech: -1001119312614
8
+ stickers:
9
+ dickaprio: CAADBQADJAEAAukKyAMpa-gdtMyyZAI
10
+ hitler: CAADBAADFQAD19F7AAGZz932SvtNHAI
11
+ cat_play: CAADAgADWAUAAn1alAw163DOQXf9XwI
12
+ cat_paid: CAADAgADVQUAAn1alAwmfXYRHlu_QQI
13
+ tak_blet: CAADAgAD0icAAp7OCwABvhNq4HdHWd4C
14
+ freid: CAADAgADGgADyIsGAAHw_WAnR5mwUAI
15
+ snoop_dog: CAADAgADWwEAAn1alAza7cAfAtDLCgI
16
+ black_master: CAADBQADRgEAAukKyAPhuH3w7qZzIwI
17
+ dog: CAADAgADxQUAAn1alAyDIInBrvWbVwI
18
+ pepe_depression: CAADAgADNyYAAktqAwAB5H3UcHKUmlQC
19
+ boy: CAADBQADgwEAAukKyAPIAAFh8UBBvfQC
20
+ tell_me_further: CAADBQADEAEAAukKyAO1yushUhyCWAI
21
+ crying_girl: CAADBAAEBQACT2ZZAAGuWCjGZDlvqQI
22
+ well_done: CAADBQADKgEAAukKyAOi8tXUyuttmAI
@@ -0,0 +1,28 @@
1
+ domain: motorsportparts.ru
2
+ salt: 'сольца'
3
+ pepper: 'старый добрый перец'
4
+
5
+ # анализатор логов
6
+ # таймаут в минутах
7
+ log_analyzer_timeout: 5
8
+
9
+ # время годности кода доступа в минутах
10
+ resurrection_ttl: 15
11
+
12
+ logs:
13
+ production_log: /log/production.log
14
+ # puma_std_out: /shared/log/puma.stdout.log
15
+ # puma_std_err: /shared/log/puma.stderr.log
16
+ # delayed_job: /log/dj.log
17
+ # redis: /log/redis.log
18
+
19
+
20
+ # локации
21
+ location:
22
+ search_limit: 5
23
+ search_set:
24
+ - Country
25
+ - Area
26
+ - SubArea
27
+ - Redneck
28
+ - Street
@@ -0,0 +1,6 @@
1
+ development:
2
+ adapter: async
3
+
4
+ production:
5
+ adapter: redis
6
+ url: redis://localhost:6379/1
@@ -0,0 +1,78 @@
1
+ conf:
2
+ with_ssl: true
3
+ dir:
4
+ config/deploy/
5
+ virgin_dir:
6
+ config/deploy/virgin_conf/
7
+ files:
8
+ nginx: nginx_site.conf
9
+ nginx_ssl: nginx_site_ssl.conf
10
+ puma: puma.rb
11
+ production_env: production.rb
12
+ datavase_conf: database.yml
13
+ postfix: postfix.cf
14
+ vars:
15
+ cap_application:
16
+ cap_db_user:
17
+ cap_db_password:
18
+ cap_passphrase:
19
+ cap_ruby_version: 2.5.0
20
+ cap_server:
21
+ cap_domain:
22
+ cap_current_path: /home/rails/app_name/current
23
+ cap_shared_path: /home/rails/app_name/shared
24
+
25
+ sh:
26
+ virgin_dir:
27
+ config/deploy/virgin_sh/
28
+ files:
29
+ - foreman.sh
30
+ - rvm_install.sh
31
+ - capistrano.sh
32
+
33
+ soft:
34
+ prepare:
35
+ # настройка MySQL
36
+ - debconf-set-selections <<< "mysql-server mysql-server/root_password password password_place"
37
+ - debconf-set-selections <<< "mysql-server mysql-server/root_password_again password password_place"
38
+ # настройка почмейстера
39
+ - debconf-set-selections <<< "postfix postfix/mailname string"
40
+ - debconf-set-selections <<< "postfix postfix/main_mailer_type string 'Internet Site'"
41
+ # настройка временной зоны
42
+ - echo "Europe/Moscow" > "/etc/timezone"
43
+ apt:
44
+ # Midnight Commander
45
+ - mc
46
+ # Image Magic
47
+ - imagemagick
48
+ # Systemd-sysv
49
+ - systemd-sysv
50
+ # MySQL
51
+ - mysql-client mysql-server libmysqld-dev
52
+ # Node.js
53
+ - nodejs
54
+ # Postfix
55
+ - postfix mailutils libsasl2-2 ca-certificates libsasl2-modules
56
+ # NGINX
57
+ - nginx
58
+ # GIT
59
+ - git
60
+ commands:
61
+ - echo 'no commands'
62
+ # MySQL
63
+ - mysql_install_db
64
+ # REDIS
65
+ - wget http://download.redis.io/redis-stable.tar.gz
66
+ - tar xvzf redis-stable.tar.gz
67
+ - cd redis-stable
68
+ - make
69
+ - cp src/redis-server /usr/local/bin/
70
+ - cp src/redis-cli /usr/local/bin/
71
+ - cp /root/redis-stable/redis.conf /usr/local/etc/
72
+ gems:
73
+ # Rails
74
+ - rails
75
+ # Foreman
76
+ - foreman
77
+ # MySQL
78
+ - mysql2
@@ -0,0 +1,52 @@
1
+ # MySQL. Versions 5.0 and up are supported.
2
+ #
3
+ # Install the MySQL driver
4
+ # gem install mysql2
5
+ #
6
+ # Ensure the MySQL gem is defined in your Gemfile
7
+ # gem 'mysql2'
8
+ #
9
+ # And be sure to use new-style password hashing:
10
+ # http://dev.mysql.com/doc/refman/5.7/en/old-client.html
11
+ #
12
+ default: &default
13
+ adapter: mysql2
14
+ encoding: utf8
15
+ pool: 50
16
+ username: <%= CONFIG[:db][:login] %>
17
+ password: <%= CONFIG[:db][:pass] %>
18
+ socket: <%= CONFIG[:db][:socket] %>
19
+
20
+ development:
21
+ <<: *default
22
+ database: <%= CONFIG[:db][:name] %>
23
+
24
+ # Warning: The database defined as "test" will be erased and
25
+ # re-generated from your development database when you run "rake".
26
+ # Do not set this db to the same as development or production.
27
+ test:
28
+ <<: *default
29
+ database: <%= CONFIG[:db][:name] %>_test
30
+
31
+ # As with config/secrets.yml, you never want to store sensitive information,
32
+ # like your database password, in your source code. If your source code is
33
+ # ever seen by anyone, they now have access to your database.
34
+ #
35
+ # Instead, provide the password as a unix environment variable when you boot
36
+ # the app. Read http://guides.rubyonrails.org/configuring.html#configuring-a-database
37
+ # for a full rundown on how to provide these environment variables in a
38
+ # production deployment.
39
+ #
40
+ # On Heroku and other platform providers, you may have a full connection URL
41
+ # available as an environment variable. For example:
42
+ #
43
+ # DATABASE_URL="mysql2://myuser:mypass@localhost/somedatabase"
44
+ #
45
+ # You can use this database configuration with:
46
+ #
47
+ # production:
48
+ # url: <%= ENV['DATABASE_URL'] %>
49
+ #
50
+ production:
51
+ <<: *default
52
+ database: <%= CONFIG[:db][:name] %>_production
@@ -0,0 +1,4 @@
1
+ # SECRET APPLICATION CONFIGURATION
2
+ # Should be git-ignored. See: https://github.com/ykessler/snappconfig#snappconfig
3
+ ENV:
4
+ SECRET_KEY_BASE: 008f97999759027daebd7e850015190dada5ded6be5c8ca66682c9cdfa113441312350e10ec686dade3d86a45053aa558a4221e5c7cfabe5fece3b3a36e7ce36
@@ -0,0 +1,92 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIH/zCCBuegAwIBAgIMSTLpzY6+rc2QLqMqMA0GCSqGSIb3DQEBCwUAMGAxCzAJ
3
+ BgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTYwNAYDVQQDEy1H
4
+ bG9iYWxTaWduIERvbWFpbiBWYWxpZGF0aW9uIENBIC0gU0hBMjU2IC0gRzIwHhcN
5
+ MTcxMjIzMTcxMzI4WhcNMTgxMjI0MTcxMzI4WjA/MSEwHwYDVQQLExhEb21haW4g
6
+ Q29udHJvbCBWYWxpZGF0ZWQxGjAYBgNVBAMTEXd3dy5pYW1yZWFsdG9yLnJ1MIIC
7
+ IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAy9UxoaGoPNkJNxqwegxXxkyj
8
+ /CZdVQH0EOPRWZSJLPGM2favWL4twMiXyBttfuLq0OUwXWy1vG0ue4JE/7Em1isS
9
+ wZ8W5ub0LUOTlfuWrAKPoVRqn8z5G4iTgeejqjGeEuwwz23oL5HtnGDLJvHapzaZ
10
+ Hue/BaHSfetaUt3KtdRhr6gGf7469qx+PRdYdKrddrHx8S7Lr+E1Yp6MBLqUUVFk
11
+ 8p3TAmEBu5FunkZseapvWHs9pUsXp3dhlwZzy2RvVv/mP5tXjPvTHAXLbHLsjkMP
12
+ 6JeiKvGuazqeBcF7UhjRTMZlSfbnf9Xc/OAbv39X7HmRhS7uugPDNbXaVSamDDf4
13
+ nOh239Tba8LCLDxAo7X/Wslx8YAw6+VNWFgmioz9l6ZgyX8J12BdRBb8HidmCNMy
14
+ cwXbqFHZ8A879T61w6ZKVvAYWfPpBX5SNzykybGkf0fm96UJdBYolO16JbyK3q++
15
+ cnQnesi0Vj5HWgpXqEZ5HjRTRkAMx6lHqwDN+jIV8qIIZXs84my6/r7X43ryrzTw
16
+ zuL/BKkcXrq6DbZyAGaXSoNr0/e6Bpjqo2Ztbg2dA1I0B1umDUgLiEXQ/uaTvoAc
17
+ LyTvie8scvWqLchKZVmXP9X2X4fe7yDqU0ref1mmZrfW6U9G6S211qH+6aJ29NLv
18
+ MciKw1pzE6Elj0MkL5ECAwEAAaOCA9gwggPUMA4GA1UdDwEB/wQEAwIFoDCBlAYI
19
+ KwYBBQUHAQEEgYcwgYQwRwYIKwYBBQUHMAKGO2h0dHA6Ly9zZWN1cmUuZ2xvYmFs
20
+ c2lnbi5jb20vY2FjZXJ0L2dzZG9tYWludmFsc2hhMmcycjEuY3J0MDkGCCsGAQUF
21
+ BzABhi1odHRwOi8vb2NzcDIuZ2xvYmFsc2lnbi5jb20vZ3Nkb21haW52YWxzaGEy
22
+ ZzIwVgYDVR0gBE8wTTBBBgkrBgEEAaAyAQowNDAyBggrBgEFBQcCARYmaHR0cHM6
23
+ Ly93d3cuZ2xvYmFsc2lnbi5jb20vcmVwb3NpdG9yeS8wCAYGZ4EMAQIBMAkGA1Ud
24
+ EwQCMAAwQwYDVR0fBDwwOjA4oDagNIYyaHR0cDovL2NybC5nbG9iYWxzaWduLmNv
25
+ bS9ncy9nc2RvbWFpbnZhbHNoYTJnMi5jcmwwKwYDVR0RBCQwIoIRd3d3LmlhbXJl
26
+ YWx0b3IucnWCDWlhbXJlYWx0b3IucnUwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsG
27
+ AQUFBwMCMB0GA1UdDgQWBBSllWgbxfSkBvHRqB1ZZKJ3sHoY5TAfBgNVHSMEGDAW
28
+ gBTqTnzUgC3lFYGGJoyCbcCYpM+XDzCCAfUGCisGAQQB1nkCBAIEggHlBIIB4QHf
29
+ AHYA3esdK3oNT6Ygi4GtgWhwfi6OnQHVXIiNPRHEzbbsvswAAAFghF2HmAAABAMA
30
+ RzBFAiEA3/JLyrWw5mQA9MxBifuuBvpFXKUjvGSjJQ7zEsSqgxoCID93XfJR+m/D
31
+ 0JNWHNvFKn/YW23vHFBiH3AUXaEV3unRAHYAVhQGmi/XwuzT9eG9RLI+x0Z2ubyZ
32
+ EVzA75SYVdaJ0N0AAAFghF2H4AAABAMARzBFAiEAzBpCOxPZnNP8Oc/S5AhG7kso
33
+ 7X47/UIqf/GNeb8BA+ECIFEE934d615O0d0wUSzuYbodpxWuB+/9wHlWT0JCBrq0
34
+ AHYApLkJkLQYWBSHuxOizGdwCjw1mAT5G9+443fNDsgN3BAAAAFghF2KXgAABAMA
35
+ RzBFAiEA+a9oNvbSoQ/k50L9nEUnXVOkXHsmwVAGJg3hSIRu6mQCIEJtaU+zTrnJ
36
+ d60ofOKLzAbCtIlJpG3Frqn8rfiqPsdgAHUA7ku9t3XOYLrhQmkfq+GeZqMPfl+w
37
+ ctiDAMR7iXqo/csAAAFghF2NOgAABAMARjBEAiAcfYYGAT8M6HallhdSL5XNwIil
38
+ uXCC+T1fvOyuLDtqsgIgbEyrtEueTre+b0EjFvg7HWZBD4EuoYKrotOjm7SXZGMw
39
+ DQYJKoZIhvcNAQELBQADggEBAB84EF2WXnndUpaKLsRhmjz3ktqGKseb97/X0jpD
40
+ oijImuxXrQ1YsQXDqotQ82wlXdlbWqGioDYrnWSz4nKlibKxee6oYdzOTfoba2wX
41
+ vm+TxoWeOLloO/XgmnlRNVWurz+RRhuRuqGUk34fhcGVe5KCRd5p1kIQNvZqyDE0
42
+ F8zxLMGgv7qxTPKPOcukblsKlZA4dBnHkKBegYSzn4V9mhVciOR3QinIAkRpJ8Sd
43
+ g/9iALK36W8V9N2UCAxuKgY3PaPynFpP9pQqsh2P6WZ+9CQ2nc7vqSb3SVKq6+5w
44
+ OObCaT6NLB+o+dB7Su6oARubRVdxM1+Uj81BGLhrwUdsggk=
45
+ -----END CERTIFICATE-----
46
+ -----BEGIN CERTIFICATE-----
47
+ MIIEYzCCA0ugAwIBAgILBAAAAAABRE7wPiAwDQYJKoZIhvcNAQELBQAwVzELMAkG
48
+ A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv
49
+ b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw0xNDAyMjAxMDAw
50
+ MDBaFw0yNDAyMjAxMDAwMDBaMGAxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i
51
+ YWxTaWduIG52LXNhMTYwNAYDVQQDEy1HbG9iYWxTaWduIERvbWFpbiBWYWxpZGF0
52
+ aW9uIENBIC0gU0hBMjU2IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
53
+ AoIBAQCp3cwOs+IyOd1JIqgTaZOHiOEM7nF9vZCHll1Z8syz0lhXV/lG72wm2DZC
54
+ jn4wsy+aPlN7H262okxFHzzTFZMcie089Ffeyr3sBppqKqAZUn9R0XQ5CJ+r69eG
55
+ ExWXrjbDVGYOWvKgc4Ux47JkFGr/paKOJLu9hVIVonnu8LXuPbj0fYC82ZA1ZbgX
56
+ qa2zmJ+gfn1u+z+tfMIbWTaW2jcyS0tdNQJjjtunz2LuzC7Ujcm9PGqRcqIip3It
57
+ INH6yjfaGJjmFiRxJUvE5XuJUgkC/VkrBG7KB4HUs9ra2+PMgKhWBwZ8lgg3nds4
58
+ tmI0kWIHdAE42HIw4uuQcSZiwFfzAgMBAAGjggElMIIBITAOBgNVHQ8BAf8EBAMC
59
+ AQYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU6k581IAt5RWBhiaMgm3A
60
+ mKTPlw8wRwYDVR0gBEAwPjA8BgRVHSAAMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8v
61
+ d3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMDMGA1UdHwQsMCowKKAmoCSG
62
+ Imh0dHA6Ly9jcmwuZ2xvYmFsc2lnbi5uZXQvcm9vdC5jcmwwPQYIKwYBBQUHAQEE
63
+ MTAvMC0GCCsGAQUFBzABhiFodHRwOi8vb2NzcC5nbG9iYWxzaWduLmNvbS9yb290
64
+ cjEwHwYDVR0jBBgwFoAUYHtmGkUNl8qJUC99BM00qP/8/UswDQYJKoZIhvcNAQEL
65
+ BQADggEBANdFnqDc4ONhWgt9d4QXLWVagpqNoycqhffJ7+mG/dRHzQFSlsVDvTex
66
+ 4bjyqdKKEYRxkRWJ3AKdC8tsM4U0KJ4gsrGX3G0LEME8zV/qXdeYMcU0mVwAYVXE
67
+ GwJbxeOJyLS4bx448lYm6UHvPc2smU9ZSlctS32ux4j71pg79eXw6ImJuYsDy1oj
68
+ H6T9uOr7Lp2uanMJvPzVoLVEgqtEkS5QLlfBQ9iRBIvpES5ftD953x77PzAAi1Pj
69
+ tywdO02L3ORkHQRYM68bVeerDL8wBHTk8w4vMDmNSwSMHnVmZkngvkA0x1xaUZK6
70
+ EjxS1QSCVS1npd+3lXzuP8MIugS+wEY=
71
+ -----END CERTIFICATE-----
72
+ -----BEGIN CERTIFICATE-----
73
+ MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG
74
+ A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv
75
+ b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw
76
+ MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i
77
+ YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT
78
+ aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ
79
+ jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp
80
+ xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp
81
+ 1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG
82
+ snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ
83
+ U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8
84
+ 9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E
85
+ BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B
86
+ AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz
87
+ yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE
88
+ 38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP
89
+ AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad
90
+ DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME
91
+ HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
92
+ -----END CERTIFICATE-----
@@ -0,0 +1,51 @@
1
+ -----BEGIN RSA PRIVATE KEY-----
2
+ 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
51
+ -----END RSA PRIVATE KEY-----
@@ -0,0 +1,50 @@
1
+ user root;
2
+ worker_processes 1;
3
+
4
+ error_log /var/log/nginx/error.log warn;
5
+ pid /var/run/nginx.pid;
6
+
7
+ events {
8
+ worker_connections 1024;
9
+ }
10
+
11
+ http {
12
+ include /etc/nginx/mime.types;
13
+ default_type application/octet-stream;
14
+
15
+ log_format main '$remote_addr - $remote_user [$time_local] "$request" '
16
+ '$status $body_bytes_sent "$http_referer" '
17
+ '"$http_user_agent" "$http_x_forwarded_for"';
18
+ access_log /var/log/nginx/access.log;
19
+
20
+ reset_timedout_connection on;
21
+ client_header_timeout 15;
22
+ client_body_timeout 15;
23
+ send_timeout 5;
24
+ keepalive_timeout 65;
25
+ limit_conn_zone $binary_remote_addr zone=perip:5m;
26
+ limit_conn perip 50;
27
+ connection_pool_size 256;
28
+ client_header_buffer_size 1k;
29
+ large_client_header_buffers 4 2k;
30
+ request_pool_size 4k;
31
+ types_hash_max_size 2048;
32
+ server_names_hash_bucket_size 64;
33
+ sendfile on;
34
+ tcp_nopush on;
35
+ tcp_nodelay on;
36
+ gzip on;
37
+ gzip_proxied expired no-cache no-store private auth;
38
+ gzip_buffers 16 8k;
39
+ gzip_comp_level 5;
40
+ gzip_http_version 1.0;
41
+ gzip_min_length 0;
42
+ gzip_vary on;
43
+ server_tokens off;
44
+ output_buffers 1 32k;
45
+ postpone_output 1460;
46
+ ignore_invalid_headers on;
47
+ client_max_body_size 64m;
48
+ include /etc/nginx/conf.d/*.conf;
49
+ include /etc/nginx/sites-enabled/*;
50
+ }