docker-compose.yml 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. version: "3.4"
  2. services:
  3. db:
  4. image: postgres:12
  5. restart: always
  6. ports:
  7. - "${DB_PORT}:5432"
  8. volumes:
  9. - /var/lib/postgresql/data
  10. environment:
  11. POSTGRES_USER: ${DB_USER}
  12. POSTGRES_PASSWORD: ${DB_PASS}
  13. POSTGRES_DB: ${DB_NAME}
  14. graphql-server:
  15. image: joystream/apps
  16. restart: unless-stopped
  17. build:
  18. context: ../
  19. dockerfile: apps.Dockerfile
  20. env_file:
  21. - .env
  22. environment:
  23. - DB_HOST=db
  24. ports:
  25. - "8080:${GRAPHQL_SERVER_PORT}"
  26. depends_on:
  27. - db
  28. command: ["workspace", "query-node-root", "server:start:prod"]
  29. processor:
  30. image: joystream/apps
  31. restart: unless-stopped
  32. build:
  33. context: ../
  34. dockerfile: apps.Dockerfile
  35. env_file:
  36. - .env
  37. environment:
  38. - INDEXER_ENDPOINT_URL=http://indexer-api-gateway:4000/graphql
  39. - DB_HOST=db
  40. - TYPEORM_HOST=db
  41. - DEBUG=index-builder:*
  42. - WS_PROVIDER_ENDPOINT_URI=${WS_PROVIDER_ENDPOINT_URI}
  43. - PROCESSOR_POLL_INTERVAL=100000
  44. depends_on:
  45. - indexer-api-gateway
  46. command: ["workspace", "query-node-root", "processor:start"]
  47. indexer:
  48. image: joystream/apps
  49. restart: unless-stopped
  50. build:
  51. context: ../
  52. dockerfile: apps.Dockerfile
  53. env_file:
  54. - .env
  55. environment:
  56. - TYPEORM_HOST=db
  57. - INDEXER_WORKERS=5
  58. - PROCESSOR_POLL_INTERVAL=1000 # refresh every second
  59. - REDIS_URI=redis://redis:6379/0
  60. - DEBUG=index-builder:*
  61. - WS_PROVIDER_ENDPOINT_URI=${WS_PROVIDER_ENDPOINT_URI}
  62. depends_on:
  63. - db
  64. command: ["workspace", "query-node-root", "indexer:start"]
  65. indexer-api-gateway:
  66. image: joystream/hydra-indexer-gateway:latest
  67. restart: unless-stopped
  68. environment:
  69. - WARTHOG_STARTER_DB_DATABASE=${DB_NAME}
  70. - WARTHOG_STARTER_DB_HOST=db
  71. - WARTHOG_STARTER_DB_PASSWORD=${DB_PASS}
  72. - WARTHOG_STARTER_DB_PORT=${DB_PORT}
  73. - WARTHOG_STARTER_DB_USERNAME=${DB_USER}
  74. - WARTHOG_STARTER_REDIS_URI=redis://redis:6379/0
  75. - PORT=4000
  76. ports:
  77. - "4000:4000"
  78. depends_on:
  79. - redis
  80. - db
  81. - indexer
  82. redis:
  83. image: redis:6.0-alpine
  84. restart: always
  85. ports:
  86. - "6379:6379"