docker-compose.yml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405
  1. version: "2"
  2. services:
  3. base:
  4. restart: always
  5. image: fd3-base
  6. build:
  7. context: ./base
  8. links:
  9. - mysql:mysql
  10. - amqp:amqp
  11. env_file:
  12. - host.env
  13. environment:
  14. VIRTUAL_HOST: base.fd3.flowdat.com
  15. HTTPS_METHOD: nohttps
  16. volumes:
  17. - ./base/:/opt/base/
  18. ftth:
  19. restart: always
  20. image: fd3-ftth
  21. build:
  22. context: ./ftth
  23. links:
  24. - mysql:mysql
  25. - base:base
  26. - nginx-proxy:base.fd3.flowdat.com
  27. - nginx-proxy:mapas.fd3.flowdat.com
  28. - amqp:amqp
  29. env_file:
  30. - host.env
  31. environment:
  32. VIRTUAL_HOST: ftth.fd3.flowdat.com
  33. OAUTH_CLIENT_ID : 1_3323sq6urn8kwccg8s4ok848ggwwgkw4c08wsc4cwkc08osocc
  34. OAUTH_CLIENT_SECRET : 5w7gx6ptdoo4g8cwwo88o8gowosgco84sso08ssow0osg88g8k
  35. HTTPS_METHOD: nohttps
  36. #LETSENCRYPT_HOST: ftth.fd3.flowdat.com
  37. #LETSENCRYPT_EMAIL: andrade.luciano@gmail.com
  38. AMQP_KEY: ftth
  39. volumes:
  40. - ./ftth/:/opt/ftth/
  41. radius:
  42. restart: always
  43. image: fd3-radius
  44. build:
  45. context: ./radius
  46. links:
  47. - mysql:mysql
  48. - base:base
  49. - nginx-proxy:base.fd3.flowdat.com
  50. - nginx-proxy:mapas.fd3.flowdat.com
  51. - nginx-proxy:ftth.fd3.flowdat.com
  52. - nginx-proxy:stats.fd3.flowdat.com
  53. - nginx-proxy:radius.fd3.flowdat.com
  54. - amqp:amqp
  55. env_file:
  56. - host.env
  57. environment:
  58. VIRTUAL_HOST: radius.fd3.flowdat.com
  59. OAUTH_CLIENT_ID : 4_2jmm87sirewwwsgk0cc0occ8kgk8cwk0ook4kkw8cgw0kg0gg4
  60. OAUTH_CLIENT_SECRET : 4ya40zu3d1c0go8oc4gw8kw8gww8cskssok4gcokk80ks00ss8
  61. HTTPS_METHOD: nohttps
  62. #LETSENCRYPT_HOST: ftth.fd3.flowdat.com
  63. #LETSENCRYPT_EMAIL: andrade.luciano@gmail.com
  64. volumes:
  65. - ./radius/:/opt/radius/
  66. mapas:
  67. restart: always
  68. image: fd3-mapas
  69. build:
  70. context: ./mapas
  71. links:
  72. - mysql:mysql
  73. - base:base
  74. - nginx-proxy:base.fd3.flowdat.com
  75. - amqp:amqp
  76. env_file:
  77. - host.env
  78. environment:
  79. VIRTUAL_HOST: mapas.fd3.flowdat.com
  80. HTTPS_METHOD: nohttps
  81. OAUTH_CLIENT_ID : 1_3323sq6urn8kwccg8s4ok848ggwwgkw4c08wsc4cwkc08osocc
  82. OAUTH_CLIENT_SECRET : 5w7gx6ptdoo4g8cwwo88o8gowosgco84sso08ssow0osg88g8k
  83. volumes:
  84. - ./mapas/:/opt/mapas/
  85. stats:
  86. restart: always
  87. image: fd3-stats
  88. build:
  89. context: ./stats
  90. links:
  91. - mysql:mysql
  92. - base:base
  93. - nginx-proxy:base.fd3.flowdat.com
  94. - nginx-proxy:geoserver.fd3.flowdat.com
  95. - amqp:amqp
  96. - geoserver:geoserver
  97. - mysql_jsonendpoint:mysql_jsonendpoint
  98. - mongodb_jsonendpoint:mongodb_jsonendpoint
  99. env_file:
  100. - host.env
  101. environment:
  102. VIRTUAL_HOST: stats.fd3.flowdat.com
  103. HTTPS_METHOD: nohttps
  104. OAUTH_CLIENT_ID : 1_3323sq6urn8kwccg8s4ok848ggwwgkw4c08wsc4cwkc08osocc
  105. OAUTH_CLIENT_SECRET : 5w7gx6ptdoo4g8cwwo88o8gowosgco84sso08ssow0osg88g8k
  106. AMQP_KEY: stats
  107. volumes:
  108. - ./stats/:/opt/stats/
  109. - ./geoserver/geoserver-shapes:/var/www/shapes
  110. cablemodem:
  111. restart: always
  112. image: fd3-cablemodem
  113. build:
  114. context: ./cablemodem
  115. links:
  116. - mysql:mysql
  117. - base:base
  118. - nginx-proxy:base.fd3.flowdat.com
  119. - nginx-proxy:mapas.fd3.flowdat.com
  120. - nginx-proxy:ftth.fd3.flowdat.com
  121. - nginx-proxy:stats.fd3.flowdat.com
  122. - nginx-proxy:radius.fd3.flowdat.com
  123. - amqp:amqp
  124. env_file:
  125. - host.env
  126. environment:
  127. VIRTUAL_HOST: cablemodem.fd3.flowdat.com
  128. OAUTH_CLIENT_ID: 1_4gs3n2b9s7mso00kgogoks4k0ogk0ggs0w0k4k484gkowcg08k
  129. OAUTH_CLIENT_SECRET: 60n93pmoh10c848wg0sc0844ow84sco0sc8gkockow4sg4sc0g
  130. HTTPS_METHOD: nohttps
  131. volumes:
  132. - ./cablemodem/:/opt/cablemodem/
  133. mysql:
  134. restart: always
  135. environment:
  136. MYSQL_ROOT_PASSWORD: 235r2342gtfsw
  137. MYSQL_USER: iksop
  138. MYSQL_PASSWORD: 235r2342gtfsw
  139. volumes:
  140. - ./mysql/:/var/lib/mysql/
  141. image: mysql:5.7
  142. amqp:
  143. restart: always
  144. image: rabbitmq:3-management
  145. restart: always
  146. ports:
  147. - "8072:15672"
  148. ftth_worker:
  149. restart: always
  150. image: fd3-ftth
  151. build:
  152. context: ./ftth
  153. command: bin/console rabbitmq:consumer flowdat_tasklogger
  154. restart: always
  155. links:
  156. - mysql:mysql
  157. - base:base
  158. - amqp:amqp
  159. - nginx-proxy:base.fd3.flowdat.com
  160. environment:
  161. HOST_FTTH: ftth.fd3.flowdat.com
  162. HOST_BASE: base.fd3.flowdat.com
  163. OAUTH_CLIENT_ID: 1_4gs3n2b9s7mso00kgogoks4k0ogk0ggs0w0k4k484gkowcg08k
  164. OAUTH_CLIENT_SECRET: 60n93pmoh10c848wg0sc0844ow84sco0sc8gkockow4sg4sc0g
  165. AMQP_KEY: ftth
  166. volumes:
  167. - ./ftth/:/opt/ftth/
  168. command_consumer_worker:
  169. restart: always
  170. image: fd3-ftth
  171. build:
  172. context: ./ftth
  173. command: bin/console rabbitmq:consumer command_consumer
  174. restart: always
  175. links:
  176. - mysql:mysql
  177. - base:base
  178. - amqp:amqp
  179. - nginx-proxy:base.fd3.flowdat.com
  180. environment:
  181. HOST_FTTH: ftth.fd3.flowdat.com
  182. HOST_BASE: base.fd3.flowdat.com
  183. OAUTH_CLIENT_ID: 1_4gs3n2b9s7mso00kgogoks4k0ogk0ggs0w0k4k484gkowcg08k
  184. OAUTH_CLIENT_SECRET: 60n93pmoh10c848wg0sc0844ow84sco0sc8gkockow4sg4sc0g
  185. AMQP_KEY: ftth
  186. volumes:
  187. - ./ftth/:/opt/ftth/
  188. stats_command_worker:
  189. restart: always
  190. image: docker.infra.flowdat.com/fd3/stats:latest
  191. command: bin/console rabbitmq:consumer command_consumer
  192. restart: always
  193. links:
  194. - mysql:mysql
  195. - base:base
  196. - amqp:amqp
  197. - nginx-proxy:base.fd3.flowdat.com
  198. environment:
  199. HOST_STATS: stats.fd3.flowdat.com
  200. HOST_FTTH: ftth.fd3.flowdat.com
  201. HOST_BASE: base.fd3.flowdat.com
  202. OAUTH_CLIENT_ID: 1_4gs3n2b9s7mso00kgogoks4k0ogk0ggs0w0k4k484gkowcg08k
  203. OAUTH_CLIENT_SECRET: 60n93pmoh10c848wg0sc0844ow84sco0sc8gkockow4sg4sc0g
  204. AMQP_KEY: stats
  205. volumes:
  206. - ./stats:/opt/stats
  207. log_consumer_worker:
  208. restart: always
  209. image: docker.infra.flowdat.com/fd3/base:latest
  210. command: bin/console rabbitmq:consumer log_consumer
  211. links:
  212. - mysql:mysql
  213. - base:base
  214. - amqp:amqp
  215. - nginx-proxy:base.fd3.flowdat.com
  216. env_file:
  217. - host.env
  218. environment:
  219. OAUTH_CLIENT_ID: 1_4gs3n2b9s7mso00kgogoks4k0ogk0ggs0w0k4k484gkowcg08k
  220. OAUTH_CLIENT_SECRET: 60n93pmoh10c848wg0sc0844ow84sco0sc8gkockow4sg4sc0g
  221. AMQP_KEY: base
  222. phpmyadmin:
  223. restart: always
  224. image: phpmyadmin/phpmyadmin
  225. links:
  226. - mysql:db
  227. environment:
  228. MYSQL_ROOT_PASSWORD: 235r2342gtfsw
  229. VIRTUAL_HOST: pma.fd3.flowdat.com
  230. ports:
  231. - 8080:80
  232. grafana:
  233. restart: always
  234. image: grafana/grafana:master
  235. links:
  236. - jsonendpoint:endpoint
  237. - mysql_jsonendpoint:endpoint
  238. - mongodb_jsonendpoint:endpoint
  239. - mysql:mysql
  240. ports:
  241. - 3000:3000
  242. volumes:
  243. - ./statsd/grafana/lib:/var/lib/grafana
  244. environment:
  245. VIRTUAL_HOST: grafana.fd3.flowdat.com
  246. HTTPS_METHOD: nohttps
  247. #LETSENCRYPT_HOST: grafana.fd3.flowdat.com
  248. #LETSENCRYPT_EMAIL: andrade.luciano@gmail.com
  249. GF_SECURITY_ADMIN_PASSWORD: "queRini6"
  250. GF_INSTALL_PLUGINS: grafana-simple-json-datasource
  251. GF_AUTH_ANONYMOUS_ORG_NAME: "Main Org."
  252. GF_AUTH_ANONYMOUS_ORG_ROLE: 'Viewer'
  253. GF_AUTH_ANONYMOUS_ENABLED: "true"
  254. jsonendpoint:
  255. restart: always
  256. image: fd3_simple_json_endpoint
  257. ports:
  258. - 9003:8000
  259. build:
  260. context: ./extra/statsd/endpoint/json
  261. links:
  262. - mysql_jsonendpoint:mysql_jsonendpoint
  263. - mongodb_jsonendpoint:mongodb_jsonendpoint
  264. volumes:
  265. - ./extra/statsd/endpoint/json:/opt/datasource
  266. environment:
  267. TIMEOUT: 60000
  268. mysql_jsonendpoint:
  269. restart: always
  270. image: fd3_simple_json_endpoint_mysql
  271. environment:
  272. MYSQL_ROOT_PASSWORD: 235r2342gtfsw
  273. links:
  274. - mysql:mysql
  275. ports:
  276. - 9000:8000
  277. build:
  278. context: ./extra/statsd/endpoint/mysql
  279. volumes:
  280. - ./extra/statsd/endpoint/mysql:/opt/datasource
  281. mongodb_jsonendpoint:
  282. restart: always
  283. image: fd3_simple_json_endpoint_mongo
  284. links:
  285. - mongodb:mongodb
  286. ports:
  287. - 9002:8000
  288. build:
  289. context: ./extra/statsd/endpoint/mongodb
  290. volumes:
  291. - ./extra/statsd/endpoint/mongodb:/opt/datasource
  292. mongo_express:
  293. image: mongo-express
  294. ports:
  295. - 8081:8081
  296. links:
  297. - mongodb:mongo
  298. mongodb:
  299. volumes:
  300. - ./mongodb:/data/db
  301. image: mongo:3.4
  302. statsd:
  303. restart: always
  304. image: fd3-statsd-mysql-backend
  305. build:
  306. context: ./extra/statsd/statsd
  307. ports:
  308. - "8125:8125/udp"
  309. links:
  310. - mongodb:mongodb
  311. - mysql:mysql
  312. volumes:
  313. - ./statsd/statsd/:/opt/config
  314. - ./statsd/backend/mongodb/mongodb.js:/opt/statsd/backends/mongodb.js
  315. supervisord:
  316. restart: always
  317. image: fd3-supervisord
  318. build:
  319. context: ./extra/supervisord
  320. ports:
  321. - "9001:9001"
  322. privileged: true
  323. links:
  324. - mongodb:mongodb
  325. - mysql:mysql
  326. volumes:
  327. - ./supervisord/:/etc/supervisord/
  328. - ./supervisord/var/:/var/log/supervisor/
  329. - ./supervisord/sshd_config:/etc/ssh/sshd_config
  330. - ./supervisord/bin/fiberhome:/usr/bin/fiberhome
  331. - ./supervisord/bin/fiberlink:/usr/bin/fiberlink
  332. environment:
  333. TERM: "xterm"
  334. geoserver:
  335. build:
  336. context: ./extra/geoserver/
  337. image: 'docker.infra.flowdat.com/fd3/geoserver:latest'
  338. links:
  339. - nginx-proxy:geoserver.fd3.flowdat.com
  340. volumes:
  341. - ./extra/geoserver/geoserver-data/styles:/opt/geoserver/data_dir/styles
  342. - ./geoserver/geoserver-shapes:/var/www/shapes
  343. ports:
  344. - 8082:8080
  345. restart: unless-stopped
  346. nginx-proxy:
  347. build:
  348. context: ./extra/nginx/
  349. image: 'docker.infra.flowdat.com/fd3/nginx:latest'
  350. env_file:
  351. - host.env
  352. restart: always
  353. ports:
  354. - '80:80'
  355. - '443:443'
  356. volumes:
  357. - '/var/run/docker.sock:/tmp/docker.sock:ro'
  358. - './extra/nginx/certs:/etc/nginx/certs:ro'
  359. - './extra/nginx/vhost.d:/etc/nginx/vhost.d'
  360. - './extra/nginx/share:/usr/share/nginx/html'
  361. redis:
  362. image: redis:latest
  363. restart: always
  364. # nginx_proxy_companion:
  365. # restart: always
  366. # image: jrcs/letsencrypt-nginx-proxy-companion
  367. # volumes_from:
  368. # - nginx-proxy
  369. # volumes:
  370. # - /var/run/docker.sock:/var/run/docker.sock:ro
  371. # - ./nginx/certs:/etc/nginx/certs
  372. # - ./nginx/vhost.d:/etc/nginx/vhost.d
  373. #