File size: 1,256 Bytes
700c673
 
 
14cd36c
7dfb4c7
c0bbedf
25594f0
54215af
 
801b804
974bcb2
962e9e0
25594f0
 
 
962e9e0
 
974bcb2
962e9e0
d9c409c
 
d3a4ebc
962e9e0
 
a380f43
25594f0
 
c25609b
25594f0
962e9e0
a07f417
25594f0
1c9301c
14cd36c
25594f0
 
 
54215af
 
66f8fc1
54215af
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# Use an official Python slim image for the base
FROM python:3.10-slim

# Set the working directory
WORKDIR /app

# Install necessary dependencies including Mono, wget, and Python tools
RUN apt-get update && apt-get install -y \
    wget \
    gnupg2 \
    apt-transport-https \
    software-properties-common \
    python3-pip \
    python3-setuptools \
    python3-venv \
    && wget https://download.mono-project.com/repo/xamarin.gpg -O /etc/apt/trusted.gpg.d/xamarin.asc \
    && echo "deb https://download.mono-project.com/repo/debian stable-buster main" > /etc/apt/sources.list.d/mono-official-stable.list \
    && apt-get update \
    && apt-get install -y mono-complete \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

# Set environment variables for Mono
ENV PATH=$PATH:/usr/bin/mono:/usr/lib/mono

# Verify Mono installation and its compiler
RUN mono --version && mcs --version

# Create necessary directories and set full permissions
RUN mkdir -p /app/uploads /app/compile && chmod -R 777 /app

# Copy application files
COPY . .

# Install Python dependencies
RUN pip3 install --no-cache-dir --upgrade -r /app/requirements.txt

# Expose the port the app runs on
EXPOSE 7860

# Command to run the Flask app
CMD ["python3", "main.py"]