nerfstudio / Dockerfile
radames's picture
Update Dockerfile
fef3bc9
raw
history blame contribute delete
No virus
1.4 kB
# build frontend viewer with node
FROM node:19 as viewer-frontend
WORKDIR /app
RUN git clone https://github.com/nerfstudio-project/nerfstudio .
# pin nerfstudio to specific commit
RUN git checkout 6d51af1a24d692d073a9e0cda06278b6a9d44818
# quick hack to point front-end to wss and current server proxied her under /server
RUN sed -i "s|websocket_url: 'ws://localhost:7007',|websocket_url: \`\${window.location.protocol === 'https:' ? 'wss' : 'ws'}://\${window.location.host}/server\`,|g" nerfstudio/viewer/app/src/reducer.js
RUN npm install --global yarn --force
RUN cd nerfstudio/viewer/app && \
yarn install && \
yarn build
# install nerfstudio
FROM dromni/nerfstudio:0.3.2
USER root
RUN apt-get -y update && apt-get -y install nginx
RUN mkdir -p /var/cache/nginx \
/var/log/nginx \
/var/lib/nginx
RUN touch /var/run/nginx.pid
RUN chown -R 1000:1000 /var/cache/nginx \
/var/log/nginx \
/var/lib/nginx \
/var/run/nginx.pid
# copy frontend static to nginx server
COPY nginx.conf /etc/nginx/sites-available/default
COPY --from=viewer-frontend /app/nerfstudio/viewer/app/build /usr/share/nginx/html
EXPOSE 8080
USER 1000
# nerfstudio commands here
RUN ["ns-download-data", "nerfstudio", "--capture-name=redwoods2"]
# nerfstudio training with nginx to server the viewer
CMD ["/bin/sh", "-c","ns-train nerfacto --data data/nerfstudio/redwoods2 & nginx -g 'daemon off;'"]