2024-02-17 00:24:12 +00:00
|
|
|
# Use an official Ubuntu base image
|
|
|
|
FROM ubuntu:latest
|
2023-11-23 22:58:55 +00:00
|
|
|
|
|
|
|
# Set the working directory in the container to /app
|
|
|
|
WORKDIR /app
|
|
|
|
|
2024-02-16 23:56:15 +00:00
|
|
|
# Add metadata to the image to describe that the container is listening on port 8000
|
2024-02-15 13:00:35 +00:00
|
|
|
EXPOSE 8000
|
2023-11-23 22:58:55 +00:00
|
|
|
|
2024-02-17 00:24:12 +00:00
|
|
|
# Update package lists and install build tools
|
|
|
|
RUN apt-get update && apt-get install -y build-essential curl
|
2024-02-17 00:22:48 +00:00
|
|
|
|
2024-02-17 00:24:12 +00:00
|
|
|
# Install Rust
|
2024-02-17 00:22:48 +00:00
|
|
|
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && \
|
2024-02-17 00:20:39 +00:00
|
|
|
/root/.cargo/env && \
|
2024-02-17 00:18:32 +00:00
|
|
|
rustup toolchain install stable && \
|
|
|
|
rustup default stable && \
|
|
|
|
rustup update
|
|
|
|
|
2024-02-17 00:20:39 +00:00
|
|
|
# Set environment variables for Rust
|
|
|
|
ENV PATH="/root/.cargo/bin:${PATH}"
|
|
|
|
|
2023-11-23 22:58:55 +00:00
|
|
|
# Copy the current directory contents into the container at /app
|
|
|
|
COPY . /app
|
|
|
|
|
2024-02-17 00:18:32 +00:00
|
|
|
# Install Python dependencies
|
|
|
|
RUN pip install -r requirements.txt --no-cache
|
2023-11-23 22:58:55 +00:00
|
|
|
|
|
|
|
# Run server.py when the container launches
|
2024-02-15 09:26:17 +00:00
|
|
|
CMD ["python", "server.py"]
|