digital_heroes_startkit 0.1.1

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 (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
+ MIIJKgIBAAKCAgEAy9UxoaGoPNkJNxqwegxXxkyj/CZdVQH0EOPRWZSJLPGM2fav
3
+ WL4twMiXyBttfuLq0OUwXWy1vG0ue4JE/7Em1isSwZ8W5ub0LUOTlfuWrAKPoVRq
4
+ n8z5G4iTgeejqjGeEuwwz23oL5HtnGDLJvHapzaZHue/BaHSfetaUt3KtdRhr6gG
5
+ f7469qx+PRdYdKrddrHx8S7Lr+E1Yp6MBLqUUVFk8p3TAmEBu5FunkZseapvWHs9
6
+ pUsXp3dhlwZzy2RvVv/mP5tXjPvTHAXLbHLsjkMP6JeiKvGuazqeBcF7UhjRTMZl
7
+ Sfbnf9Xc/OAbv39X7HmRhS7uugPDNbXaVSamDDf4nOh239Tba8LCLDxAo7X/Wslx
8
+ 8YAw6+VNWFgmioz9l6ZgyX8J12BdRBb8HidmCNMycwXbqFHZ8A879T61w6ZKVvAY
9
+ WfPpBX5SNzykybGkf0fm96UJdBYolO16JbyK3q++cnQnesi0Vj5HWgpXqEZ5HjRT
10
+ RkAMx6lHqwDN+jIV8qIIZXs84my6/r7X43ryrzTwzuL/BKkcXrq6DbZyAGaXSoNr
11
+ 0/e6Bpjqo2Ztbg2dA1I0B1umDUgLiEXQ/uaTvoAcLyTvie8scvWqLchKZVmXP9X2
12
+ X4fe7yDqU0ref1mmZrfW6U9G6S211qH+6aJ29NLvMciKw1pzE6Elj0MkL5ECAwEA
13
+ AQKCAgEAo0NvToRaaep5fB6vjgKG57mJe7UK+sTmxgSEMdlMiqgrZoY1asJhiVHi
14
+ aRC3AnQlGw8ITzx80KEvIxRzyc4OSmsTyexwfqAsonjHJNHwnHQssU8ZXEfkm84o
15
+ QFvWdsLpV0TBz9O7ryaWiLPq5JXByj9sJBoBojQ8kklJ/qfR7xRe7kCKfBVVyzDc
16
+ qHgjjMczPhhHryQJWCXuCcDua/c6R2wHjGEnm3cx2Rgi3zmPN2BxcRC9jsD4AFYZ
17
+ 38r2Qsp+d9Pei8IUPUOTk5V8m6/tlAFZI7cY2Ibeatr3qaqQ6XAhbPpYNQdD49vb
18
+ 9txWvWr1dN7m1SODaZEL8eBoMd4UDrN6Ap3UzAVH41I8n/YEfmjSlKeVUYLMvLBF
19
+ zhekEs/XcEQ0nXB8TVoGw2uP0JCA4TYQFRepmd0ih2lsfjj/i06zHZehSY8ihwgQ
20
+ Ya3w/q1T3VbR4uQ76lwUaItBcilUJWAN3ErWJepIcEZl1/1fXYIQi2QNZUMb1BKQ
21
+ 297tVA8bPlCrv3pzSgpp5j3kBY1O8AUxWKU8i8d6bmJd3WlYhZ7m9RwraGCACj/q
22
+ 1ByXV0h6iW1G2IumK1c7ZECsIlASEr0cnRMG5h4fpyfHhu2/79FR7OrZ9LpU38iU
23
+ mkAQXCF7w4BHEOLHWF5HN5cDbdqdnAUOMjnsoRKsRMsIXDw657ECggEBAP1ilrn4
24
+ pUd1GTisb3oXOxza3HR6QScf57mjI314+8gB9FVGAEXdiUA7InObeg1GKcqCGCLb
25
+ Pii2CkI8j1VdeVx4HlNSvps+VvlWBP+JIXf0vJwNgCACFhM/PHy+c+BooeE3B8aC
26
+ wF/CzRDqyutWdXdAhl9CTxe9sPmvQ1NPVxIjTDY4E8MnkT+GxN9yQZ78n6KFAp77
27
+ 94YjGw7ZMHXp3KS8VDU54wODrpf1Ab5+5PIrv53kXqckEHQKEiBHiYJJ7BbVBNfw
28
+ D8yVCV9B76b0J39NMwaXTm2L9PUz2JltTJ4Y3637w0NvegTbNC3HE8bzYI44LPFQ
29
+ NhCKMZg6shO7OkUCggEBAM3vsbSsJlejSizNDAxA3TYxBk6jNPaY0vzSBiqBk32b
30
+ 8u2X4PQbx0J/9updGE5MtdWs+sA09IhYEAPS1JMKYtPS7oZQjA4urC96PAyhAuYc
31
+ CGWi8fi+Fb3Siw8JFVQ79F18ztIhPXBUhzKvvc+ZJZOU+Q3X7yRw8Bky4vSeF8gV
32
+ 0J7xNnigf+6rJ4Wpbs1Nyyi0OsMlNWjRm0ZrW51oG9cOl9rk8CjTlEbeXml8i39r
33
+ Jj1H4Z2MiohVRIUDi6OPAXZMJMHvWoI6ODPZCSMaWyqHd8KfuJx0booqY1Hvn9uK
34
+ Ycs60lnFt0e3emO9OjVAHp8DcUgVmt/F+iT7n9imet0CggEAaX3jTNflT+PDtWGt
35
+ I8KKPNAt2lyPxY819YajHvkAsluF8v6q3GuIWfKEvGbtoJsmiQYysEhhD6gCi2MV
36
+ NbAt976WuZAIhS+mHDag7BaWlY+R+tJwFmNn92lrcHAGZFaLlu1HUnFbUEMVB0cJ
37
+ ZoNfcl+t0fkUXsj95mX+fK/ai1WgxC4CpExT34PncTPreBqrB4mi9rfmbLUu7bak
38
+ w2KzFu7FjEdmaS8owGEj8cB45w4pv721XpbYNsd+lmvSJylJnpPfaVur6DvgZAVa
39
+ lkKuMwTcCpFx+I+9U1zbf70Omf+3GINp3yiJP35XsfthE4J+H5fptinz6FzwmvVM
40
+ 8IQRlQKCAQEAoI/G1N/30RJ+Lan9P7x+/NaCXWOAUtfagMXbit6WOTQS1s441Pqn
41
+ hCCzSg0lez7x8tQ4eQ2QrpFCg0io9q/9V7w4vr4kRJZ9J1M9aHdNBE5M+bluwYqq
42
+ 9uImC6YAXDmWkCFUO58xANjWxF0jN63nD0byW6nFSXtIp8z2CNUOI7Fmg9X7q1cw
43
+ B8yoNt1gh2+k+2px+l6TYtMyJlhkCLj4I9e77C3dVWeJTyvnHoW9Wa4YFWVq8eR2
44
+ yk746mBWSkKgWDSL4C0XOzvbQAlyx0ywUdtnM3ZGgK2C1fSwlVyoHYqqLsMA6H9w
45
+ I9lY8lTCAmyos0AC3boCk4APRTBuc4NxfQKCAQEA3g4bvip892rVvsd2wdodA1eI
46
+ hf9K+7kgiLsn6xgz7jOVnXl2tyxxAOXrOJ2XUO7j4aYCOOS89WQHhQPl7Pm7pKf+
47
+ KmRXFEW+w27HCljvBGhVBBbkAc9tgI7Emsxc0TQ+1jpurAqgisxeGkbxPO0L+MWU
48
+ ESxZtcZaWtWXh07OZJijK12xSDQ0wi2OFfTNQHAugW096D2uLWztwM59cIJSDX+k
49
+ sAX9hl2soivp1Ykb3EepmzUOcAjOXfxX9Vffl1VRGy/YuhuC1gfkWZs+4LGw0PyG
50
+ QBWillJD5zsyy2g0/rdabzMxsEGWudXYYNlX24xJXTUhKik7SNALfw3ZiH8dyQ==
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
+ }