|
1 | | -FROM node:14 |
| 1 | +ARG FROM_REPO=webodm/odx |
| 2 | +FROM ${FROM_REPO} |
2 | 3 | MAINTAINER Piero Toffanin <pt@masseranolabs.com> |
3 | 4 |
|
4 | 5 | EXPOSE 3000 |
5 | 6 |
|
6 | 7 | USER root |
7 | 8 |
|
8 | | -RUN apt update && apt install -y telnet curl && \ |
9 | | - base=https://gitlab-docker-machine-downloads.s3.amazonaws.com/main && \ |
10 | | - curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine && \ |
11 | | - install /tmp/docker-machine /usr/local/bin/docker-machine && \ |
12 | | - curl -L https://github.com/scaleway/docker-machine-driver-scaleway/releases/download/v1.6/docker-machine-driver-scaleway_1.6_linux_amd64.tar.gz | tar -xz --directory=/tmp && \ |
13 | | - install --mode +x /tmp/docker-machine-driver-scaleway /usr/local/bin/ && \ |
14 | | - curl -L https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/2.0.1/docker-machine-driver-hetzner_2.0.1_linux_amd64.tar.gz | tar -xz --directory=/tmp && \ |
15 | | - install --mode +x /tmp/docker-machine-driver-hetzner /usr/local/bin/ |
| 9 | +ENV NVM_DIR=/usr/local/nvm |
| 10 | +ENV NODE_VERSION=14 |
| 11 | + |
| 12 | +RUN mkdir -p $NVM_DIR /var/www && \ |
| 13 | + for i in $(seq 1 20); do \ |
| 14 | + apt-get update && apt-get install -y curl gpg-agent && break; \ |
| 15 | + echo "apt-get failed, retrying... ($i/20)"; \ |
| 16 | + sleep 30; \ |
| 17 | + done && \ |
| 18 | + curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash && \ |
| 19 | + . $NVM_DIR/nvm.sh && \ |
| 20 | + nvm install $NODE_VERSION && \ |
| 21 | + nvm alias default $NODE_VERSION && \ |
| 22 | + ln -sf $(find $NVM_DIR -path "*/bin/node" | head -1) /usr/bin/node && \ |
| 23 | + ln -sf $(find $NVM_DIR -path "*/bin/npm" | head -1) /usr/bin/npm && \ |
| 24 | + apt-get clean && rm -rf /var/lib/apt/lists/* |
16 | 25 |
|
17 | | -RUN mkdir /var/www |
18 | 26 | WORKDIR "/var/www" |
19 | | -COPY --chown=node:node . /var/www |
| 27 | +COPY . /var/www |
20 | 28 |
|
21 | | -RUN npm install |
| 29 | +RUN npm install --production |
22 | 30 |
|
23 | | -RUN chown -R node:node /var/www |
24 | | - |
25 | | -USER node |
26 | | - |
27 | | -VOLUME ["/var/www/data"] |
28 | | -ENTRYPOINT ["/usr/local/bin/node", "/var/www/index.js"] |
| 31 | +ENTRYPOINT ["/usr/bin/node", "/var/www/index.js"] |
0 commit comments