tech-bot/Dockerfile

76 lines
1.4 KiB
Docker
Raw Normal View History

# ********************************
2023-08-14 11:24:17 +02:00
# * Build & deploy bot ***********
# ********************************
2023-08-14 11:24:17 +02:00
FROM rust:1 as bot-builder
2023-05-04 22:26:37 +02:00
WORKDIR /app
2023-08-14 11:24:17 +02:00
COPY Cargo.toml Cargo.lock bot ./
2023-08-14 11:24:17 +02:00
RUN cargo build --release --bin bot
FROM gcr.io/distroless/cc as bot
2023-08-14 11:24:17 +02:00
COPY --from=bot-builder /app/target/release/bot /bot
2023-06-23 17:01:33 +02:00
CMD [ "/bot" ]
2023-06-23 17:01:33 +02:00
# ********************************
2023-08-14 11:24:17 +02:00
# * Build & deploy the database **
# ********************************
2023-08-14 11:24:17 +02:00
FROM rust:1 as db-builder
WORKDIR /app
COPY Cargo.toml Cargo.lock database ./
RUN cargo build --release --bin database
2023-06-23 17:01:33 +02:00
FROM gcr.io/distroless/cc as database
2023-08-14 11:24:17 +02:00
COPY --from=db-builder /app/target/release/database /database
2023-06-23 17:01:33 +02:00
ENV DB_PATH=/app/tech-bot.db
WORKDIR /app
VOLUME [ "/app" ]
CMD [ "/database" ]
# ********************************
2023-08-14 11:24:17 +02:00
# * Build the web ***************
# ********************************
2023-08-10 16:36:38 +02:00
FROM node:18-slim as web-dependencies
WORKDIR /app
2023-08-10 16:36:38 +02:00
COPY frontend/package.json frontend/.npmrc ./
RUN npm install
FROM node:18-alpine3.18 as web
2023-08-10 16:36:38 +02:00
WORKDIR /tmp/app
COPY frontend/ ./
COPY --from=web-dependencies /app/node_modules ./node_modules
RUN npm run build
WORKDIR /app
2023-08-10 16:36:38 +02:00
RUN mv /tmp/app/build /tmp/app/node_modules /tmp/app/package.json .
RUN rm -rf /tmp/app
COPY --from=web-dependencies /app/package-lock.json ./
ENV DOTENV_CONFIG_PATH=/app/config/.env
VOLUME [ "/app/config" ]
CMD [ "node", "-r", "dotenv/config", "build" ]