diva.exchange platform, including user interface. Fully distributed and private exchange for digital values. Including a chat client and other social functions. https://diva.exchange
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

50 lines
1.1 KiB

  1. FROM node:lts-alpine
  2. LABEL author="Konrad Baechler <konrad@diva.exchange>" \
  3. maintainer="Konrad Baechler <konrad@diva.exchange>" \
  4. name="diva" \
  5. description="Distributed value exchange upholding security, reliability and privacy" \
  6. url="https://diva.exchange"
  7. COPY package.json /home/node/package.json
  8. COPY ecosystem.config.js /home/node/ecosystem.config.js
  9. # Applications
  10. COPY app /home/node/app
  11. # Entrypoint
  12. COPY entrypoint.sh /
  13. ENV NPM_CONFIG_LOGLEVEL warn
  14. RUN rm -R /home/node/app/test \
  15. && apk --no-cache --virtual build-dependendencies add \
  16. make \
  17. gcc \
  18. g++ \
  19. libtool \
  20. binutils \
  21. build-base \
  22. autoconf \
  23. automake \
  24. python3 \
  25. && cd /home/node/ \
  26. && npm install node-gyp -g \
  27. && npm install pm2 -g \
  28. && apk --no-cache add \
  29. sqlite \
  30. # install the application
  31. && npm install --production \
  32. && chown -R node:node "/home/node" \
  33. && npm uninstall node-gyp -g \
  34. && apk --no-cache --purge del build-dependendencies \
  35. && chmod +x /entrypoint.sh
  36. # Create the volume to keep the nodeJS Data
  37. VOLUME [ "/home/node/" ]
  38. # 3901 divaapp, 3902 diva.api
  39. EXPOSE 3901 3902
  40. ENTRYPOINT ["/entrypoint.sh"]