superhosting 0.0.1 → 0.0.2

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 (248) hide show
  1. checksums.yaml +8 -8
  2. data/.gitignore +1 -0
  3. data/.travis.yml +13 -0
  4. data/Gemfile.lock +43 -7
  5. data/LICENSE.txt +4 -1
  6. data/Vagrantfile +6 -3
  7. data/bin/sx +6 -2
  8. data/bootstrap/etc/sx/default_model +1 -0
  9. data/bootstrap/etc/sx/models/base/container/docker/command +1 -0
  10. data/bootstrap/etc/sx/models/base/container/docker/user.erb +1 -0
  11. data/bootstrap/etc/sx/models/base/container/docker/volume.erb +2 -0
  12. data/bootstrap/etc/sx/models/bitrix_l/inherit +3 -0
  13. data/bootstrap/etc/sx/models/bitrix_m/inherit +3 -0
  14. data/bootstrap/etc/sx/models/bitrix_xl/inherit +3 -0
  15. data/bootstrap/etc/sx/models/common_bitrix/abstract +1 -0
  16. data/bootstrap/etc/sx/models/common_bitrix/container/mux +1 -0
  17. data/bootstrap/etc/sx/models/common_bitrix/inherit +1 -0
  18. data/bootstrap/etc/sx/models/common_bitrix/site/php/admin_value +2 -0
  19. data/bootstrap/etc/sx/models/common_bitrix/site/php/flag +1 -0
  20. data/bootstrap/etc/sx/models/common_bitrix/site/php/value +6 -0
  21. data/bootstrap/etc/sx/models/common_fcgi/abstract +1 -0
  22. data/bootstrap/etc/sx/models/common_fcgi/container/config.rb +6 -0
  23. data/bootstrap/etc/sx/models/common_fcgi/container/config_templates/supervisord.conf.erb +16 -0
  24. data/bootstrap/etc/sx/models/common_fcgi/container/docker/image +1 -0
  25. data/bootstrap/etc/sx/models/common_fcgi/container/docker/user.erb +1 -0
  26. data/bootstrap/etc/sx/models/common_fcgi/container/system_users +1 -0
  27. data/bootstrap/etc/sx/models/common_fcgi/site/config.rb +4 -0
  28. data/bootstrap/etc/sx/models/common_fcgi/site/config_templates/nginx_vhost.erb +21 -0
  29. data/bootstrap/etc/sx/models/common_joomla/abstract +1 -0
  30. data/bootstrap/etc/sx/models/common_joomla/site/php/flag +1 -0
  31. data/bootstrap/etc/sx/models/common_joomla/site/php/value +2 -0
  32. data/bootstrap/etc/sx/models/common_joomla_v2/abstract +1 -0
  33. data/bootstrap/etc/sx/models/common_joomla_v2/container/mux +1 -0
  34. data/bootstrap/etc/sx/models/common_joomla_v2/inherit +2 -0
  35. data/bootstrap/etc/sx/models/common_joomla_v3/abstract +1 -0
  36. data/bootstrap/etc/sx/models/common_joomla_v3/container/mux +1 -0
  37. data/bootstrap/etc/sx/models/common_joomla_v3/inherit +2 -0
  38. data/bootstrap/etc/sx/models/common_l/abstract +1 -0
  39. data/bootstrap/etc/sx/models/common_l/container/docker/blkio_weight +1 -0
  40. data/bootstrap/etc/sx/models/common_l/container/docker/cpu_period +1 -0
  41. data/bootstrap/etc/sx/models/common_l/container/docker/cpu_quota +1 -0
  42. data/bootstrap/etc/sx/models/common_l/container/docker/cpu_shares +1 -0
  43. data/bootstrap/etc/sx/models/common_l/container/docker/memory +1 -0
  44. data/bootstrap/etc/sx/models/common_l/container/docker/memory_swap +1 -0
  45. data/bootstrap/etc/sx/models/common_m/abstract +1 -0
  46. data/bootstrap/etc/sx/models/common_m/container/docker/blkio_weight +1 -0
  47. data/bootstrap/etc/sx/models/common_m/container/docker/cpu_period +1 -0
  48. data/bootstrap/etc/sx/models/common_m/container/docker/cpu_quota +1 -0
  49. data/bootstrap/etc/sx/models/common_m/container/docker/cpu_shares +1 -0
  50. data/bootstrap/etc/sx/models/common_m/container/docker/memory +1 -0
  51. data/bootstrap/etc/sx/models/common_m/container/docker/memory_swap +1 -0
  52. data/bootstrap/etc/sx/models/common_mail/abstract +1 -0
  53. data/bootstrap/etc/sx/models/common_mail/container/config.rb +12 -0
  54. data/bootstrap/etc/sx/models/common_mail/container/config_templates/postfwd_rules.erb +12 -0
  55. data/bootstrap/etc/sx/models/common_mail/container/config_templates/ssmtp.conf.erb +6 -0
  56. data/bootstrap/etc/sx/models/common_mail/container/mail/daily_limit +1 -0
  57. data/bootstrap/etc/sx/models/common_mail/container/mail/enabled +1 -0
  58. data/bootstrap/etc/sx/models/common_mail/container/mail/hourly_limit +1 -0
  59. data/bootstrap/etc/sx/models/common_php_l/abstract +1 -0
  60. data/bootstrap/etc/sx/models/common_php_l/container/mail/daily_limit +1 -0
  61. data/bootstrap/etc/sx/models/common_php_l/container/mail/hourly_limit +1 -0
  62. data/bootstrap/etc/sx/models/common_php_l/inherit +1 -0
  63. data/bootstrap/etc/sx/models/common_php_l/site/php/pm +1 -0
  64. data/bootstrap/etc/sx/models/common_php_l/site/php/pm_max_children +1 -0
  65. data/bootstrap/etc/sx/models/common_php_l/site/php/pm_max_spare_servers +1 -0
  66. data/bootstrap/etc/sx/models/common_php_l/site/php/pm_min_spare_servers +1 -0
  67. data/bootstrap/etc/sx/models/common_php_l/site/php/pm_start_servers +1 -0
  68. data/bootstrap/etc/sx/models/common_php_m/abstract +1 -0
  69. data/bootstrap/etc/sx/models/common_php_m/inherit +1 -0
  70. data/bootstrap/etc/sx/models/common_php_m/site/php/pm_max_children +1 -0
  71. data/bootstrap/etc/sx/models/common_php_s/abstract +1 -0
  72. data/bootstrap/etc/sx/models/common_php_s/inherit +1 -0
  73. data/bootstrap/etc/sx/models/common_php_xl/abstract +1 -0
  74. data/bootstrap/etc/sx/models/common_php_xl/container/mail/daily_limit +1 -0
  75. data/bootstrap/etc/sx/models/common_php_xl/container/mail/hourly_limit +1 -0
  76. data/bootstrap/etc/sx/models/common_php_xl/inherit +1 -0
  77. data/bootstrap/etc/sx/models/common_php_xl/site/php/pm +1 -0
  78. data/bootstrap/etc/sx/models/common_php_xl/site/php/pm_max_children +1 -0
  79. data/bootstrap/etc/sx/models/common_php_xl/site/php/pm_max_spare_servers +1 -0
  80. data/bootstrap/etc/sx/models/common_php_xl/site/php/pm_min_spare_servers +1 -0
  81. data/bootstrap/etc/sx/models/common_php_xl/site/php/pm_start_servers +1 -0
  82. data/bootstrap/etc/sx/models/common_php_xs/abstract +1 -0
  83. data/bootstrap/etc/sx/models/common_php_xs/container/mail/daily_limit +1 -0
  84. data/bootstrap/etc/sx/models/common_php_xs/container/mail/hourly_limit +1 -0
  85. data/bootstrap/etc/sx/models/common_php_xs/inherit +1 -0
  86. data/bootstrap/etc/sx/models/common_php_xs/site/php/pm_max_children +1 -0
  87. data/bootstrap/etc/sx/models/common_s/abstract +1 -0
  88. data/bootstrap/etc/sx/models/common_s/container/docker/blkio_weight +1 -0
  89. data/bootstrap/etc/sx/models/common_s/container/docker/cpu_period +1 -0
  90. data/bootstrap/etc/sx/models/common_s/container/docker/cpu_quota +1 -0
  91. data/bootstrap/etc/sx/models/common_s/container/docker/cpu_shares +1 -0
  92. data/bootstrap/etc/sx/models/common_s/container/docker/memory +1 -0
  93. data/bootstrap/etc/sx/models/common_s/container/docker/memory_swap +1 -0
  94. data/bootstrap/etc/sx/models/common_symfony/abstract +1 -0
  95. data/bootstrap/etc/sx/models/common_symfony/container/mux +1 -0
  96. data/bootstrap/etc/sx/models/common_symfony/container/system_users +1 -0
  97. data/bootstrap/etc/sx/models/common_symfony/inherit +1 -0
  98. data/bootstrap/etc/sx/models/common_symfony/site/php/flag +3 -0
  99. data/bootstrap/etc/sx/models/common_symfony/site/php/user +1 -0
  100. data/bootstrap/etc/sx/models/common_symfony/site/use_apache +1 -0
  101. data/bootstrap/etc/sx/models/common_xl/abstract +1 -0
  102. data/bootstrap/etc/sx/models/common_xl/container/docker/blkio_weight +1 -0
  103. data/bootstrap/etc/sx/models/common_xl/container/docker/cpu_shares +1 -0
  104. data/bootstrap/etc/sx/models/common_xl/container/docker/memory +1 -0
  105. data/bootstrap/etc/sx/models/common_xl/container/docker/memory_swap +1 -0
  106. data/bootstrap/etc/sx/models/common_xs/abstract +1 -0
  107. data/bootstrap/etc/sx/models/common_xs/container/docker/blkio_weight +1 -0
  108. data/bootstrap/etc/sx/models/common_xs/container/docker/cpu_period +1 -0
  109. data/bootstrap/etc/sx/models/common_xs/container/docker/cpu_quota +1 -0
  110. data/bootstrap/etc/sx/models/common_xs/container/docker/cpu_shares +1 -0
  111. data/bootstrap/etc/sx/models/common_xs/container/docker/memory +1 -0
  112. data/bootstrap/etc/sx/models/common_xs/container/docker/memory_swap +1 -0
  113. data/bootstrap/etc/sx/models/fcgi_l/inherit +3 -0
  114. data/bootstrap/etc/sx/models/fcgi_m/inherit +3 -0
  115. data/bootstrap/etc/sx/models/fcgi_s/inherit +3 -0
  116. data/bootstrap/etc/sx/models/fcgi_xl/inherit +3 -0
  117. data/bootstrap/etc/sx/models/joomla_v2_l/inherit +3 -0
  118. data/bootstrap/etc/sx/models/joomla_v2_m/inherit +3 -0
  119. data/bootstrap/etc/sx/models/joomla_v2_s/inherit +3 -0
  120. data/bootstrap/etc/sx/models/joomla_v2_xs/inherit +3 -0
  121. data/bootstrap/etc/sx/models/joomla_v3_l/inherit +3 -0
  122. data/bootstrap/etc/sx/models/joomla_v3_m/inherit +3 -0
  123. data/bootstrap/etc/sx/models/joomla_v3_s/inherit +3 -0
  124. data/bootstrap/etc/sx/models/joomla_v3_xs/inherit +3 -0
  125. data/bootstrap/etc/sx/models/symfony_l/inherit +3 -0
  126. data/bootstrap/etc/sx/models/symfony_m/inherit +3 -0
  127. data/bootstrap/etc/sx/models/symfony_xl/inherit +3 -0
  128. data/bootstrap/etc/sx/models/test/container/config.rb +4 -0
  129. data/bootstrap/etc/sx/models/test/container/config_templates/supervisord.conf.erb +16 -0
  130. data/bootstrap/etc/sx/models/test/container/docker/blkio_weight +1 -0
  131. data/bootstrap/etc/sx/models/test/container/docker/command +1 -0
  132. data/bootstrap/etc/sx/models/test/container/docker/cpu_period +1 -0
  133. data/bootstrap/etc/sx/models/test/container/docker/cpu_quota +1 -0
  134. data/bootstrap/etc/sx/models/test/container/docker/cpu_shares +1 -0
  135. data/bootstrap/etc/sx/models/test/container/docker/image +1 -0
  136. data/bootstrap/etc/sx/models/test/container/docker/memory +1 -0
  137. data/bootstrap/etc/sx/models/test/container/docker/memory_swap +1 -0
  138. data/bootstrap/etc/sx/models/test/container/docker/user.erb +1 -0
  139. data/bootstrap/etc/sx/models/test/container/docker/volume.erb +2 -0
  140. data/bootstrap/etc/sx/models/test/container/system_users +1 -0
  141. data/bootstrap/etc/sx/models/test/site/config.rb +4 -0
  142. data/bootstrap/etc/sx/models/test/site/config_templates/nginx_vhost.erb +21 -0
  143. data/bootstrap/etc/sx/models/test_with_mux/container/mux +1 -0
  144. data/bootstrap/etc/sx/models/test_with_mux/inherit +1 -0
  145. data/bootstrap/etc/sx/muxs/base/docker/command +1 -0
  146. data/bootstrap/etc/sx/muxs/php-5.3/container/docker/image +1 -0
  147. data/bootstrap/etc/sx/muxs/php-5.3/docker/image +1 -0
  148. data/bootstrap/etc/sx/muxs/php-5.3/inherit +2 -0
  149. data/bootstrap/etc/sx/muxs/php-5.5/container/docker/image +1 -0
  150. data/bootstrap/etc/sx/muxs/php-5.5/docker/image +1 -0
  151. data/bootstrap/etc/sx/muxs/php-5.5/inherit +2 -0
  152. data/bootstrap/etc/sx/muxs/php-5.6/container/docker/image +1 -0
  153. data/bootstrap/etc/sx/muxs/php-5.6/docker/image +1 -0
  154. data/bootstrap/etc/sx/muxs/php-5.6/inherit +2 -0
  155. data/bootstrap/etc/sx/muxs/php/abstract +1 -0
  156. data/bootstrap/etc/sx/muxs/php/docker/pid +1 -0
  157. data/bootstrap/etc/sx/muxs/php/docker/privileged +1 -0
  158. data/bootstrap/etc/sx/muxs/php/docker/volume +3 -0
  159. data/bootstrap/etc/sx/muxs/php/site/config.rb +10 -0
  160. data/bootstrap/etc/sx/muxs/php/site/config_templates/apache_vhost.erb +26 -0
  161. data/bootstrap/etc/sx/muxs/php/site/config_templates/nginx_vhost.erb +39 -0
  162. data/bootstrap/etc/sx/muxs/php/site/config_templates/php_fpm_pool.erb +22 -0
  163. data/bootstrap/etc/sx/muxs/php/site/php/pm +1 -0
  164. data/bootstrap/etc/sx/muxs/php/site/php/pm_max_children +1 -0
  165. data/bootstrap/etc/sx/muxs/php/site/use_apache +1 -0
  166. data/bootstrap/etc/sx/muxs/test/container/docker/image +1 -0
  167. data/bootstrap/etc/sx/muxs/test/docker/command +1 -0
  168. data/bootstrap/etc/sx/muxs/test/docker/image +1 -0
  169. data/bootstrap/etc/sx/muxs/test/inherit +1 -0
  170. data/bootstrap/etc/sx/password_strength +1 -0
  171. data/bootstrap/etc/sx/smtp_hostname +1 -0
  172. data/dockerfile/almost_base +19 -0
  173. data/dockerfile/base +18 -0
  174. data/dockerfile/mux +6 -0
  175. data/lib/superhosting.rb +39 -5
  176. data/lib/superhosting/base.rb +15 -21
  177. data/lib/superhosting/cli/base.rb +56 -40
  178. data/lib/superhosting/cli/cmd/admin_add.rb +5 -0
  179. data/lib/superhosting/cli/cmd/admin_container_list.rb +4 -0
  180. data/lib/superhosting/cli/cmd/admin_list.rb +11 -0
  181. data/lib/superhosting/cli/cmd/admin_passwd.rb +4 -0
  182. data/lib/superhosting/cli/cmd/container_admin_list.rb +4 -0
  183. data/lib/superhosting/cli/cmd/container_inspect.rb +11 -0
  184. data/lib/superhosting/cli/cmd/container_list.rb +18 -0
  185. data/lib/superhosting/cli/cmd/container_reconfigure.rb +11 -0
  186. data/lib/superhosting/cli/cmd/container_rename.rb +16 -0
  187. data/lib/superhosting/cli/cmd/model_list.rb +11 -0
  188. data/lib/superhosting/cli/cmd/{container_reconfig.rb → model_reconfigure.rb} +1 -1
  189. data/lib/superhosting/cli/cmd/model_tree.rb +30 -0
  190. data/lib/superhosting/cli/cmd/model_update.rb +11 -0
  191. data/lib/superhosting/cli/cmd/mux_reconfigure.rb +11 -0
  192. data/lib/superhosting/cli/cmd/repair.rb +8 -0
  193. data/lib/superhosting/cli/cmd/site_container.rb +15 -0
  194. data/lib/superhosting/cli/cmd/site_inspect.rb +11 -0
  195. data/lib/superhosting/cli/cmd/site_list.rb +35 -0
  196. data/lib/superhosting/cli/cmd/site_name.rb +15 -0
  197. data/lib/superhosting/cli/cmd/site_reconfigure.rb +11 -0
  198. data/lib/superhosting/cli/cmd/site_rename.rb +4 -0
  199. data/lib/superhosting/cli/cmd/user_add.rb +11 -5
  200. data/lib/superhosting/cli/cmd/user_change.rb +12 -6
  201. data/lib/superhosting/cli/cmd/user_list.rb +7 -0
  202. data/lib/superhosting/cli/cmd/user_passwd.rb +9 -0
  203. data/lib/superhosting/composite_mapper.rb +12 -0
  204. data/lib/superhosting/composite_mapper/base.rb +17 -0
  205. data/lib/superhosting/composite_mapper/container.rb +9 -0
  206. data/lib/superhosting/composite_mapper/site.rb +13 -0
  207. data/lib/superhosting/config/net_status.yml +122 -0
  208. data/lib/superhosting/config_executor.rb +12 -0
  209. data/lib/superhosting/{script_executor → config_executor}/base.rb +6 -5
  210. data/lib/superhosting/config_executor/container.rb +69 -0
  211. data/lib/superhosting/config_executor/site.rb +18 -0
  212. data/lib/superhosting/controller/admin.rb +84 -4
  213. data/lib/superhosting/controller/admin/container.rb +62 -2
  214. data/lib/superhosting/controller/base.rb +18 -0
  215. data/lib/superhosting/controller/container.rb +185 -122
  216. data/lib/superhosting/controller/container/admin.rb +25 -3
  217. data/lib/superhosting/controller/container/states.rb +296 -0
  218. data/lib/superhosting/controller/model.rb +62 -0
  219. data/lib/superhosting/controller/mux.rb +88 -0
  220. data/lib/superhosting/controller/mysql.rb +2 -2
  221. data/lib/superhosting/controller/site.rb +217 -72
  222. data/lib/superhosting/controller/site/alias.rb +32 -6
  223. data/lib/superhosting/controller/site/states.rb +41 -0
  224. data/lib/superhosting/controller/user.rb +233 -4
  225. data/lib/superhosting/docker_api.rb +170 -6
  226. data/lib/superhosting/helper/cmd.rb +40 -0
  227. data/lib/superhosting/helper/config.rb +80 -0
  228. data/lib/superhosting/helper/file.rb +56 -0
  229. data/lib/superhosting/helper/i18n.rb +13 -0
  230. data/lib/superhosting/helper/logger.rb +136 -0
  231. data/lib/superhosting/helper/states.rb +69 -0
  232. data/lib/superhosting/helpers.rb +5 -21
  233. data/lib/superhosting/mapper_inheritance/base.rb +16 -0
  234. data/lib/superhosting/mapper_inheritance/model.rb +96 -0
  235. data/lib/superhosting/mapper_inheritance/mux.rb +49 -0
  236. data/lib/superhosting/patches/path_mapper/dir_node.rb +23 -0
  237. data/lib/superhosting/patches/path_mapper/file_node.rb +47 -0
  238. data/lib/superhosting/patches/path_mapper/null_node.rb +35 -0
  239. data/lib/superhosting/patches/string/punycode.rb +21 -0
  240. data/lib/superhosting/version.rb +1 -1
  241. data/provision/bootstrap.sh +11 -0
  242. data/provision/docker.sh +25 -0
  243. data/provision/pam_docker.sh +5 -0
  244. data/{bootstrap.sh → provision/vagrant.sh} +5 -8
  245. data/superhosting.gemspec +14 -3
  246. metadata +368 -12
  247. data/lib/superhosting/script_executor/container.rb +0 -36
  248. data/lib/superhosting/script_executor/site.rb +0 -13
@@ -0,0 +1,6 @@
1
+ Root=postmaster
2
+ Mailhub=172.17.42.1
3
+ FromLineOverride=Yes
4
+ Hostname=<%= etc.smtp_hostname %>
5
+ AuthUser=<%= container.name %>@<%= etc.smtp_hostname %>
6
+ AuthPass=<%= container.mail.password %>
@@ -0,0 +1,3 @@
1
+ short_open_tag = Off
2
+ register_globals = Off
3
+ session.auto_start = Off
@@ -0,0 +1,3 @@
1
+ base
2
+ common_fcgi
3
+ common_l
@@ -0,0 +1,3 @@
1
+ base
2
+ common_fcgi
3
+ common_m
@@ -0,0 +1,3 @@
1
+ base
2
+ common_fcgi
3
+ common_s
@@ -0,0 +1,3 @@
1
+ base
2
+ common_fcgi
3
+ common_xl
@@ -0,0 +1,3 @@
1
+ base
2
+ common_joomla_v2
3
+ common_php_l
@@ -0,0 +1,3 @@
1
+ base
2
+ common_joomla_v2
3
+ common_php_m
@@ -0,0 +1,3 @@
1
+ base
2
+ common_joomla_v2
3
+ common_php_s
@@ -0,0 +1,3 @@
1
+ base
2
+ common_joomla_v2
3
+ common_php_xs
@@ -0,0 +1,3 @@
1
+ base
2
+ common_joomla_v3
3
+ common_php_l
@@ -0,0 +1,3 @@
1
+ base
2
+ common_joomla_v3
3
+ common_php_m
@@ -0,0 +1,3 @@
1
+ base
2
+ common_joomla_v3
3
+ common_php_s
@@ -0,0 +1,3 @@
1
+ base
2
+ common_joomla_v3
3
+ common_php_xs
@@ -0,0 +1,3 @@
1
+ base
2
+ common_symfony
3
+ common_php_l
@@ -0,0 +1,3 @@
1
+ base
2
+ common_symfony
3
+ common_php_m
@@ -0,0 +1,3 @@
1
+ base
2
+ common_symfony
3
+ common_php_xl
@@ -0,0 +1,4 @@
1
+ config "#{container.config.path}/supervisor/supervisord.conf"
2
+
3
+ mkdir "#{container.web.path}/supervisor"
4
+ mkdir "#{container.web.path}/logs/supervisor"
@@ -0,0 +1,16 @@
1
+ [unix_http_server]
2
+ file=/web/<%= container.name %>/supervisor.sock
3
+ chmod=0770
4
+
5
+ [supervisord]
6
+ logfile=/web/<%= container.name %>/logs/supervisord.log
7
+ childlogdir=/web/<%= container.name %>/supervisor
8
+
9
+ [rpcinterface:supervisor]
10
+ supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
11
+
12
+ [supervisorctl]
13
+ serverurl=unix:///web/<%= container.name %>/supervisor.sock
14
+
15
+ [include]
16
+ files = /etc/supervisor/conf.d/*.conf /web/<%= container.name %>/supervisor/*.conf
@@ -0,0 +1 @@
1
+ /bin/bash -lec 'while true ; do date ; sleep 1; done'
@@ -0,0 +1 @@
1
+ superhosting/test
@@ -0,0 +1 @@
1
+ <%= container.name %>:<%= container.name %>
@@ -0,0 +1,2 @@
1
+ <%= container.config.path %>/:/.config:ro
2
+ <%= container.lib.web.path %>:<%= container.web.path %>
@@ -0,0 +1,4 @@
1
+ conf_name = "#{container.name}-#{site.name}.conf"
2
+
3
+ config "/etc/nginx/sites/#{conf_name}", source: "nginx_vhost"
4
+ on_reconfig "nginx -t && service nginx reload"
@@ -0,0 +1,21 @@
1
+ server {
2
+ listen 0.0.0.0:80;
3
+
4
+ server_name <%= ([site.name] + site.aliases).compact.map(&:punycode).join ' ' %>;
5
+ set $sx_container "<%= container.name %>";
6
+ access_log /web/<%= container.name %>/logs/<%= site.name %>_access_nginx.log main;
7
+ error_log /web/<%= container.name %>/logs/<%= site.name %>_error_nginx.log error;
8
+
9
+ location ~* ^\/.+\.(jpg|jpeg|gif|png|svg|ico|css|zip|tgz|gz|rar|bz2|pdf|txt|tar|wav|bmp|rtf|js|flv|swf|html|htm|ttf|eot|woff)$ {
10
+ root <%= site.web.path.join(site.document_root) %>/;
11
+ try_files $uri @backend;
12
+ }
13
+
14
+ location / {
15
+ fastcgi_pass unix:<%= site.web.path %>.sock;
16
+ fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
17
+ include fastcgi_params;
18
+ }
19
+
20
+ include /etc/nginx/server.conf.d/*.conf;
21
+ }
@@ -0,0 +1 @@
1
+ /bin/bash -lec 'while true ; do date ; sleep 1; done'
@@ -0,0 +1 @@
1
+ superhosting/cphp:5.3
@@ -0,0 +1 @@
1
+ superhosting/php:5.3
@@ -0,0 +1,2 @@
1
+ base
2
+ php
@@ -0,0 +1 @@
1
+ superhosting/cphp:5.5
@@ -0,0 +1 @@
1
+ superhosting/php:5.5
@@ -0,0 +1,2 @@
1
+ base
2
+ php
@@ -0,0 +1 @@
1
+ superhosting/cphp:5.6
@@ -0,0 +1 @@
1
+ superhosting/php:5.6
@@ -0,0 +1,2 @@
1
+ base
2
+ php
@@ -0,0 +1,3 @@
1
+ /sys/fs/cgroup:/sys/fs/cgroup
2
+ /web:/web
3
+ /var/sx:/var/sx
@@ -0,0 +1,10 @@
1
+ conf_name = "#{container.name}-#{site.name}.conf"
2
+
3
+ config "/etc/apache/sites/#{conf_name}", source: "apache_vhost" if site.use_apache?
4
+ on_reconfig "apache2ctl configtest && service apache2 reload"
5
+
6
+ config "/etc/nginx/sites/#{conf_name}", source: "nginx_vhost"
7
+ on_reconfig "nginx -t && service nginx reload"
8
+
9
+ # TODO config "#{mux.config_path}/pools/#{conf_name}", source: "php_fpm_pool"
10
+ on_reconfig "docker exec #{mux_name} service php5-fpm reload"
@@ -0,0 +1,26 @@
1
+ <VirtualHost *:8080>
2
+ ServerName <%= site.name.punycode %>
3
+ <% site.aliases.each do |site_alias| %>
4
+ ServerAlias <%= site_alias.punycode %>
5
+ <% end %>
6
+ DocumentRoot <%= site.web.path.join(site.document_root) %>/
7
+ CustomLog /web/<%= container.name %>/logs/<%= site.name %>_access_apache.log vhost_log_format
8
+ ErrorLog /web/<%= container.name %>/logs/<%= site.name %>_error_apache.log
9
+
10
+ <IfModule mod_fastcgi.c>
11
+ AddType application/x-httpd-fastphp5 .php
12
+ Action application/x-httpd-fastphp5 /php5-fcgi
13
+ Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
14
+ FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket <%= site.web.path %>.sock -pass-header Authorization
15
+ <Directory /usr/lib/cgi-bin>
16
+ Require all granted
17
+ </Directory>
18
+ </IfModule>
19
+
20
+ <Directory "<%= site.web.path.join(site.document_root) %>/">
21
+ Options FollowSymLinks
22
+ Order allow,deny
23
+ Allow from all
24
+ AllowOverride All
25
+ </Directory>
26
+ </VirtualHost>
@@ -0,0 +1,39 @@
1
+ server {
2
+ listen 0.0.0.0:80;
3
+
4
+ server_name <%= ([site.name] + site.aliases).compact.map(&:punycode).join ' ' %>;
5
+ set $sx_container "<%= container.name %>";
6
+ access_log /web/<%= container.name %>/logs/<%= site.name %>_access_nginx.log main;
7
+ error_log /web/<%= container.name %>/logs/<%= site.name %>_error_nginx.log error;
8
+ <% if site.use_apache? %>
9
+ location ~* ^\/.+\.(jpg|jpeg|gif|png|svg|ico|css|zip|tgz|gz|rar|bz2|pdf|txt|tar|wav|bmp|rtf|js|flv|swf|html|htm|ttf|eot|woff)$ {
10
+ root <%= site.web.path.join(site.document_root) %>/;
11
+ try_files $uri @backend;
12
+ }
13
+
14
+ location / {
15
+ proxy_pass http://127.0.0.1:8080;
16
+ }
17
+
18
+ location @backend {
19
+ proxy_pass http://127.0.0.1:8080;
20
+ }
21
+ <% else %>
22
+ root <%= site.web.path.join(site.document_root) %>/;
23
+ index index.php index.html index.htm;
24
+
25
+ location / {
26
+ try_files $uri $uri/ =404;
27
+ }
28
+
29
+ location ~ \.php$ {
30
+ try_files $uri =404;
31
+ fastcgi_split_path_info ^(.+\.php)(/.+)$;
32
+ fastcgi_pass unix:<%= site.web.path %>.sock;
33
+ fastcgi_index index.php;
34
+ fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
35
+ include fastcgi_params;
36
+ }
37
+ <% end %>
38
+ include /etc/nginx/server.conf.d/*.conf;
39
+ }