36 lines
693 B
Docker
36 lines
693 B
Docker
# Use an official Python image as the base
|
|
FROM python:3.12-slim
|
|
|
|
# Install Node.js, npm, and cron
|
|
RUN apt-get update && apt-get install -y \
|
|
curl \
|
|
cron \
|
|
&& curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
|
|
&& apt-get install -y nodejs \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Setup backend
|
|
WORKDIR /app/backend
|
|
COPY backend/* .
|
|
|
|
RUN pip install -r requirements.txt
|
|
|
|
# Setup frontend
|
|
WORKDIR /app/frontend
|
|
COPY frontend/* .
|
|
|
|
# Setup docker
|
|
WORKDIR /app/docker
|
|
COPY docker/* /app/docker/
|
|
|
|
RUN chmod +x entry.sh
|
|
RUN chmod 0644 cronfile
|
|
|
|
WORKDIR /app
|
|
|
|
EXPOSE 5173
|
|
|
|
# Command to start cron and the backend
|
|
CMD ["sh", "-c", "/app/docker/entry.sh"]
|