docker-compose.yml 9.8 KB

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