docker-compose.yml 9.6 KB

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