Dockerfile 792 B

123456789101112131415161718192021222324252627282930313233
  1. FROM cloudron/base:0.10.0
  2. # setup nodejs version
  3. ENV NODEJS_VERSION 6.9.5
  4. RUN ln -s /usr/local/node-$NODEJS_VERSION/bin/node /usr/local/bin/node && \
  5. ln -s /usr/local/node-$NODEJS_VERSION/bin/npm /usr/local/bin/npm
  6. WORKDIR /hackmd
  7. ENV HACKMD_VERSION master
  8. RUN curl -L https://github.com/hackmdio/hackmd/archive/$HACKMD_VERSION.tar.gz | tar -xz --strip-components 1 -f -
  9. # npm, deps
  10. RUN npm install
  11. # build front-end bundle
  12. RUN npm run build
  13. # remove dev dependencies
  14. RUN npm prune --production
  15. # add utils
  16. ADD CloudronManifest.json ./
  17. ADD start.sh ./
  18. RUN chmod +x ./start.sh
  19. # use local storage
  20. RUN ln -sfn /app/data/build/constant.js ./public/build/constant.js && \
  21. rm -rf ./public/uploads && ln -sf /app/data/uploads ./public/uploads
  22. EXPOSE 3000
  23. CMD ["/hackmd/start.sh"]