39 lines
815 B
Docker
39 lines
815 B
Docker
# Load Node.js
|
|
FROM --platform=$BUILDPLATFORM node:20-bullseye-slim
|
|
|
|
# Set working directory
|
|
WORKDIR /app
|
|
|
|
# Run as root
|
|
USER root
|
|
|
|
# Install packages
|
|
RUN apt-get update
|
|
RUN apt-get install -y build-essential
|
|
RUN apt-get install -y python3
|
|
RUN apt-get install -y libsqlite3-dev
|
|
RUN rm -rf /var/lib/apt/lists/*
|
|
|
|
# Copy package.json
|
|
COPY ./src/package*.json ./
|
|
|
|
# Copy source
|
|
COPY ./src ./
|
|
|
|
# Copy default memory
|
|
RUN if [ ! -s /app/memory.db ]; then \
|
|
cp /app/memory.default.db /app/memory.db; \
|
|
fi
|
|
|
|
# Create replied_ids.json
|
|
RUN touch replied_ids.json
|
|
|
|
# Copy entrypoint
|
|
COPY ./entrypoint.sh /app/docker-entrypoint.sh
|
|
RUN chmod +x /app/docker-entrypoint.sh
|
|
|
|
# Change line break
|
|
RUN sed -i 's/\r$//' /app/docker-entrypoint.sh
|
|
|
|
# Run
|
|
ENTRYPOINT ["/app/docker-entrypoint.sh"] |