FROM node:14-alpine RUN apk add git \ && adduser -D -u 2004 -g webrtc-sfu webrtc-sfu ADD . app WORKDIR app ENV NODE_ENV production # due to the git submodule npm install crashes with following error: # npm ERR! fatal: Not a git repository: ../.git/modules/bbb-webrtc-sfu # we simply delete the .git file RUN cp config/default.example.yml config/production.yml \ && chown -R webrtc-sfu:webrtc-sfu config \ && rm .git \ && npm install --unsafe-perm \ && npm cache clear --force # remove automatic IP detection (broken in alpine) # and use sh instead of bash RUN sed -i 's/CONTAINER_IP=.*/CONTAINER_IP=10.7.7.10/' /app/docker-entrypoint.sh \ && sed -i 's/bash/sh/' /app/docker-entrypoint.sh USER webrtc-sfu ENTRYPOINT [ "./docker-entrypoint.sh" ] CMD [ "npm", "start" ]