ThongCoder commited on
Commit
f5ffbda
·
verified ·
1 Parent(s): 03be6be

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +31 -15
Dockerfile CHANGED
@@ -1,14 +1,34 @@
1
- FROM python:3.12-slim
2
 
3
- # System deps
 
 
4
  RUN apt-get update && apt-get install -y \
5
- curl wget git unzip sudo nano bash build-essential g++ \
6
- nodejs npm openjdk-17-jdk \
7
- apt-transport-https software-properties-common ca-certificates \
8
  && rm -rf /var/lib/apt/lists/*
9
 
10
- # Install dotnet (C# SDK)
11
- RUN wget https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  && dpkg -i packages-microsoft-prod.deb \
13
  && rm packages-microsoft-prod.deb \
14
  && apt-get update && apt-get install -y dotnet-sdk-8.0
@@ -16,20 +36,16 @@ RUN wget https://packages.microsoft.com/config/debian/12/packages-microsoft-prod
16
  # Install code-server
17
  RUN curl -fsSL https://code-server.dev/install.sh | sh
18
 
19
- # Add user
20
  RUN useradd -ms /bin/bash vscode
21
  USER vscode
22
  WORKDIR /home/vscode
23
 
24
- # Copy entrypoint
25
  COPY entrypoint.sh /entrypoint.sh
26
- RUN chmod -x entrypoint.sh
27
-
28
- # Copy Python code
29
  COPY backup.py /backup.py
30
  COPY restore.py /restore.py
 
31
 
32
- # Make sure it has read access
33
- RUN chmod -R 777 /backup.py && chmod -R 777 /restore.py
34
-
35
  ENTRYPOINT ["/entrypoint.sh"]
 
1
+ FROM ubuntu:22.04
2
 
3
+ ENV DEBIAN_FRONTEND=noninteractive
4
+
5
+ # Core tools
6
  RUN apt-get update && apt-get install -y \
7
+ curl wget git unzip sudo nano bash \
8
+ software-properties-common ca-certificates gnupg \
9
+ build-essential g++ \
10
  && rm -rf /var/lib/apt/lists/*
11
 
12
+ # Add deadsnakes PPA for Python 3.12
13
+ RUN add-apt-repository ppa:deadsnakes/ppa -y && apt-get update
14
+
15
+ # Install Python 3.12 and pip
16
+ RUN apt-get install -y python3.12 python3.12-venv python3.12-dev \
17
+ && curl -sS https://bootstrap.pypa.io/get-pip.py | python3.12
18
+
19
+ # Make python3 point to python3.12
20
+ RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 1 \
21
+ && update-alternatives --install /usr/bin/pip pip /usr/local/bin/pip3.12 1
22
+
23
+ # Install Node.js + npm (from NodeSource)
24
+ RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
25
+ && apt-get install -y nodejs
26
+
27
+ # Install Java (OpenJDK 17)
28
+ RUN apt-get install -y openjdk-17-jdk
29
+
30
+ # Install .NET SDK (C#)
31
+ RUN wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \
32
  && dpkg -i packages-microsoft-prod.deb \
33
  && rm packages-microsoft-prod.deb \
34
  && apt-get update && apt-get install -y dotnet-sdk-8.0
 
36
  # Install code-server
37
  RUN curl -fsSL https://code-server.dev/install.sh | sh
38
 
39
+ # Create user
40
  RUN useradd -ms /bin/bash vscode
41
  USER vscode
42
  WORKDIR /home/vscode
43
 
44
+ # Copy entrypoint + backup/restore
45
  COPY entrypoint.sh /entrypoint.sh
 
 
 
46
  COPY backup.py /backup.py
47
  COPY restore.py /restore.py
48
+ RUN chmod +x /entrypoint.sh
49
 
50
+ EXPOSE 7860
 
 
51
  ENTRYPOINT ["/entrypoint.sh"]