docker-compose.yml 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364
  1. version: '2'
  2. services:
  3. ### Applications Code Container #############################
  4. applications:
  5. image: tianon/true
  6. volumes:
  7. - ../:/var/www
  8. # - ../sample/:/var/www/sample
  9. ### Workspace Utilities Container ###########################
  10. workspace:
  11. build:
  12. context: ./workspace
  13. args:
  14. - INSTALL_XDEBUG=false
  15. - INSTALL_MONGO=false
  16. - INSTALL_NODE=false
  17. - INSTALL_YARN=false
  18. - INSTALL_DRUSH=false
  19. - INSTALL_AEROSPIKE_EXTENSION=false
  20. - INSTALL_V8JS_EXTENSION=false
  21. - COMPOSER_GLOBAL_INSTALL=false
  22. - INSTALL_WORKSPACE_SSH=false
  23. - INSTALL_LARAVEL_ENVOY=false
  24. - PUID=1000
  25. - PGID=1000
  26. - NODE_VERSION=stable
  27. - YARN_VERSION=latest
  28. - TZ=UTC
  29. volumes_from:
  30. - applications
  31. extra_hosts:
  32. # IMPORTANT: Replace with your Docker Host IP (will be appended to /etc/hosts)
  33. - "dockerhost:10.0.75.1"
  34. ports:
  35. - "2222:22"
  36. tty: true
  37. ### PHP-FPM Container #######################################
  38. php-fpm:
  39. build:
  40. context: ./php-fpm
  41. args:
  42. - INSTALL_XDEBUG=false
  43. - INSTALL_SOAP=false
  44. - INSTALL_MONGO=false
  45. - INSTALL_ZIP_ARCHIVE=false
  46. - INSTALL_BCMATH=false
  47. - INSTALL_MEMCACHED=false
  48. - INSTALL_OPCACHE=false
  49. - INSTALL_AEROSPIKE_EXTENSION=false
  50. - CODEIGNITER=false
  51. dockerfile: Dockerfile-70
  52. volumes_from:
  53. - applications
  54. expose:
  55. - "9000"
  56. links:
  57. - workspace
  58. extra_hosts:
  59. # IMPORTANT: Replace with your Docker Host IP (will be appended to /etc/hosts)
  60. - "dockerhost:10.0.75.1"
  61. environment:
  62. # IMPORTANT: Set the Remote Interpreter entry matching name to `laravel`
  63. - PHP_IDE_CONFIG=serverName=laravel
  64. ### Nginx Server Container ##################################
  65. nginx:
  66. build:
  67. context: ./nginx
  68. args:
  69. - PHP_UPSTREAM=php-fpm
  70. volumes_from:
  71. - applications
  72. volumes:
  73. - ./logs/nginx/:/var/log/nginx
  74. - ./nginx/sites/:/etc/nginx/sites-available
  75. ports:
  76. - "80:80"
  77. - "443:443"
  78. links:
  79. - php-fpm
  80. ### Apache Server Container #################################
  81. apache2:
  82. build:
  83. context: ./apache2
  84. args:
  85. - PHP_SOCKET=php-fpm:9000
  86. volumes_from:
  87. - applications
  88. volumes:
  89. - ./logs/apache2:/var/log/apache2
  90. ports:
  91. - "80:80"
  92. - "443:443"
  93. links:
  94. - php-fpm
  95. ### HHVM Container ##########################################
  96. hhvm:
  97. build: ./hhvm
  98. volumes_from:
  99. - applications
  100. expose:
  101. - "9000"
  102. links:
  103. - workspace
  104. ### MySQL Container #########################################
  105. mysql:
  106. build:
  107. context: ./mysql
  108. args:
  109. - MYSQL_DATABASE=homestead
  110. - MYSQL_USER=homestead
  111. - MYSQL_PASSWORD=secret
  112. - MYSQL_ROOT_PASSWORD=root
  113. volumes:
  114. - mysql:/var/lib/mysql
  115. ports:
  116. - "3306:3306"
  117. ### MariaDB Container #######################################
  118. mariadb:
  119. build: ./mariadb
  120. volumes:
  121. - mysql:/var/lib/mysql
  122. ports:
  123. - "3306:3306"
  124. environment:
  125. MYSQL_DATABASE: homestead
  126. MYSQL_USER: homestead
  127. MYSQL_PASSWORD: secret
  128. MYSQL_ROOT_PASSWORD: root
  129. ### PostgreSQL Container ####################################
  130. postgres:
  131. build: ./postgres
  132. volumes:
  133. - postgres:/var/lib/postgresql/data
  134. ports:
  135. - "5432:5432"
  136. environment:
  137. POSTGRES_DB: homestead
  138. POSTGRES_USER: homestead
  139. POSTGRES_PASSWORD: secret
  140. ### PostgreSQL PostGis Container ############################
  141. postgres-postgis:
  142. build: ./postgres-postgis
  143. volumes:
  144. - postgres:/var/lib/postgresql/data
  145. ports:
  146. - "5432:5432"
  147. environment:
  148. POSTGRES_DB: homestead
  149. POSTGRES_USER: homestead
  150. POSTGRES_PASSWORD: secret
  151. ### Neo4j Container #########################################
  152. neo4j:
  153. build: ./neo4j
  154. ports:
  155. - "7474:7474"
  156. - "1337:1337"
  157. environment:
  158. - NEO4J_AUTH=homestead:secret
  159. volumes:
  160. - neo4j:/var/lib/neo4j/data
  161. ### MongoDB Container #######################################
  162. mongo:
  163. build: ./mongo
  164. ports:
  165. - "27017:27017"
  166. volumes:
  167. - mongo:/data/db
  168. ### RethinkDB Container #######################################
  169. rethinkdb:
  170. build: ./rethinkdb
  171. ports:
  172. - "8090:8080"
  173. volumes:
  174. - rethinkdb:/data/rethinkdb_data
  175. ### Redis Container #########################################
  176. redis:
  177. build: ./redis
  178. volumes:
  179. - redis:/data
  180. ports:
  181. - "6379:6379"
  182. ### Aerospike c Container ###################################
  183. aerospike:
  184. build: ./aerospike
  185. volumes_from:
  186. - workspace
  187. volumes:
  188. - aerospike:/opt/aerospike/data
  189. ports:
  190. - "3000:3000"
  191. - "3001:3001"
  192. - "3002:3002"
  193. - "3003:3003"
  194. ### Memcached Container #####################################
  195. memcached:
  196. build: ./memcached
  197. volumes:
  198. - memcached:/var/lib/memcached
  199. ports:
  200. - "11211:11211"
  201. links:
  202. - php-fpm
  203. ### Beanstalkd Container ####################################
  204. beanstalkd:
  205. build: ./beanstalkd
  206. ports:
  207. - "11300:11300"
  208. privileged: true
  209. links:
  210. - php-fpm
  211. ### RabbitMQ Container ######################################
  212. rabbitmq:
  213. build: ./rabbitmq
  214. ports:
  215. - "5672:5672"
  216. - "15671:15671"
  217. - "8080:15672"
  218. privileged: true
  219. environment:
  220. RABBITMQ_DEFAULT_USER: guest
  221. RABBITMQ_DEFAULT_PASS: guest
  222. links:
  223. - php-fpm
  224. ### Beanstalkd Console Container ############################
  225. beanstalkd-console:
  226. build: ./beanstalkd-console
  227. ports:
  228. - "2080:2080"
  229. links:
  230. - beanstalkd
  231. ### Caddy Server Container ##################################
  232. caddy:
  233. build: ./caddy
  234. ports:
  235. - "80:80"
  236. - "443:443"
  237. - "2015:2015"
  238. volumes_from:
  239. - applications
  240. volumes:
  241. - ./caddy/Caddyfile:/etc/Caddyfile
  242. - ./logs/caddy:/var/log/caddy
  243. links:
  244. - php-fpm
  245. ### phpMyAdmin Container ####################################
  246. phpmyadmin:
  247. build: ./phpmyadmin
  248. environment:
  249. PMA_ARBITRARY: 1
  250. MYSQL_USER: homestead
  251. MYSQL_PASSWORD: secret
  252. MYSQL_ROOT_PASSWORD: root
  253. ports:
  254. - "8080:80"
  255. links:
  256. # for mysql container
  257. - "mysql:db"
  258. # for mariadb container
  259. # - "mariadb:db"
  260. ### pgAdmin Container #######################################
  261. pgadmin:
  262. build: ./pgadmin
  263. ports:
  264. - "5050:5050"
  265. links:
  266. - postgres
  267. ### ElasticSearch Container #################################
  268. elasticsearch:
  269. build: ./elasticsearch
  270. volumes:
  271. - elasticsearch-data:/usr/share/elasticsearch/data
  272. - elasticsearch-plugins:/usr/share/elasticsearch/data
  273. ports:
  274. - "9200:9200"
  275. - "9300:9300"
  276. links:
  277. - php-fpm
  278. ### Selenium Container #########################################
  279. selenium:
  280. build: ./selenium
  281. ports:
  282. - "4444:4444"
  283. ### Volumes Setup ###########################################
  284. volumes:
  285. mysql:
  286. driver: "local"
  287. postgres:
  288. driver: "local"
  289. memcached:
  290. driver: "local"
  291. redis:
  292. driver: "local"
  293. neo4j:
  294. driver: "local"
  295. mariadb:
  296. driver: "local"
  297. mongo:
  298. driver: "local"
  299. rethinkdb:
  300. driver: "local"
  301. phpmyadmin:
  302. driver: "local"
  303. aerospike:
  304. driver: "local"
  305. caddy:
  306. driver: "local"
  307. elasticsearch-data:
  308. driver: "local"
  309. elasticsearch-plugins:
  310. driver: "local"
  311. sessions: ## nothing is connected to this (- ./data/sessions:/sessions)
  312. driver: "local"