39 lines
1.0 KiB
Docker
39 lines
1.0 KiB
Docker
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 |