colossus.Dockerfile 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. FROM --platform=linux/x86-64 node:14 as builder
  2. WORKDIR /joystream
  3. COPY . /joystream
  4. RUN yarn --frozen-lockfile
  5. RUN yarn workspace @joystream/types build
  6. RUN yarn workspace @joystream/metadata-protobuf build
  7. RUN yarn workspace storage-node build
  8. # Use these volumes to persist uploading data and to pass the keyfile.
  9. VOLUME ["/data", "/keystore", "/logs"]
  10. # Required variables
  11. ENV WS_PROVIDER_ENDPOINT_URI=ws://not-set
  12. ENV COLOSSUS_PORT=3333
  13. ENV QUERY_NODE_ENDPOINT=http://not-set/graphql
  14. ENV WORKER_ID=not-set
  15. # - set external key file using the `/keystore` volume
  16. ENV ACCOUNT_KEYFILE=
  17. ENV ACCOUNT_PWD=
  18. # Optional variables
  19. ENV SYNC_INTERVAL=1
  20. ENV ELASTIC_SEARCH_ENDPOINT=
  21. # warn, error, debug, info
  22. ENV ELASTIC_LOG_LEVEL=debug
  23. # - overrides account key file
  24. ENV ACCOUNT_URI=
  25. # Colossus node port
  26. EXPOSE ${COLOSSUS_PORT}
  27. WORKDIR /joystream/storage-node
  28. ENTRYPOINT yarn storage-node server --queryNodeEndpoint ${QUERY_NODE_ENDPOINT} \
  29. --port ${COLOSSUS_PORT} --uploads /data \
  30. --apiUrl ${WS_PROVIDER_ENDPOINT_URI} --sync --syncInterval=${SYNC_INTERVAL} \
  31. --elasticSearchEndpoint=${ELASTIC_SEARCH_ENDPOINT} \
  32. --accountUri=${ACCOUNT_URI} \
  33. --worker ${WORKER_ID} \
  34. --logFilePath=/logs