FROM node:10-jessie as node #If encounter Invalid cross-device error -run on host 'echo N | sudo tee /sys/module/overlay/parameters/metacopy' ENV TORRENTS_CSV_ENDPOINT=http://0.0.0.0:8080 COPY server/ui /app/server/ui RUN cd /app/server/ui && yarn && yarn build FROM rust:1.30 as rust COPY server/service /app/server/service RUN cd /app/server/service && cargo build --release && cp ./target/release/torrents-csv-service . FROM debian:jessie-slim as volume COPY torrents.csv /db/ FROM debian:jessie-slim RUN apt update && apt install -y sqlite3 COPY --from=node /app/server/ui/dist /app/dist COPY --from=rust /app/server/service/target/release/torrents-csv-service /app/ COPY --from=volume /db/torrents.csv /app/ COPY scripts /app/scripts RUN cd /app/scripts && . ./build_sqlite.sh EXPOSE 8080 WORKDIR /app/ ENV TORRENTS_CSV_DB_FILE=/app/torrents.db ENV TORRENTS_CSV_FRONT_END_DIR=/app/dist RUN sqlite3 ${TORRENTS_CSV_DB_FILE} 'select * from torrents limit 10' CMD /app/torrents-csv-service # Running this: # docker build . # docker run -p 8080:8080 image_name