docker-compose.yml 9.3 KB

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