cacode commited on
Commit
bf5aec6
·
verified ·
1 Parent(s): ecb3d7d

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +32 -1
Dockerfile CHANGED
@@ -9,6 +9,15 @@ ENV PYTHONDONTWRITEBYTECODE=1
9
  ENV PYTHONUNBUFFERED=1
10
 
11
  ARG CODE_SERVER_VERSION=4.109.2
 
 
 
 
 
 
 
 
 
12
 
13
  RUN apt-get update && apt-get install -y --no-install-recommends \
14
  ca-certificates curl git bash sudo tini jq procps unzip \
@@ -18,6 +27,10 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
18
  # Java + Node
19
  openjdk-17-jdk-headless maven \
20
  nodejs npm \
 
 
 
 
21
  # Rust + Go
22
  rustc cargo rustfmt \
23
  golang-go \
@@ -28,6 +41,24 @@ RUN curl -fsSL "https://github.com/coder/code-server/releases/download/v${CODE_S
28
  && dpkg -i /tmp/code-server.deb \
29
  && rm -f /tmp/code-server.deb
30
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
  # Python core deps
32
  RUN pip install --no-cache-dir --upgrade pip setuptools wheel && \
33
  pip install --no-cache-dir \
@@ -45,7 +76,7 @@ RUN npm install -g @openai/codex && npm cache clean --force
45
  RUN useradd -m -u 1000 -s /bin/bash coder \
46
  && echo "coder ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers \
47
  && mkdir -p /home/coder/.config/code-server /home/coder/.codex \
48
- && chown -R coder:coder /home/coder
49
 
50
  # Quick C build check (build-time)
51
  RUN printf '#include <stdio.h>\nint main(){puts("ok");return 0;}\n' > /tmp/t.c \
 
9
  ENV PYTHONUNBUFFERED=1
10
 
11
  ARG CODE_SERVER_VERSION=4.109.2
12
+ ARG KOTLIN_VERSION=1.9.25
13
+ ARG ANDROID_CMDLINE_TOOLS_VERSION=11076708
14
+ ARG ANDROID_PLATFORM=34
15
+ ARG ANDROID_BUILD_TOOLS=34.0.0
16
+
17
+ ENV KOTLIN_HOME=/opt/kotlin
18
+ ENV ANDROID_SDK_ROOT=/opt/android-sdk
19
+ ENV ANDROID_HOME=/opt/android-sdk
20
+ ENV PATH="${PATH}:${KOTLIN_HOME}/bin:${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin:${ANDROID_SDK_ROOT}/platform-tools"
21
 
22
  RUN apt-get update && apt-get install -y --no-install-recommends \
23
  ca-certificates curl git bash sudo tini jq procps unzip \
 
27
  # Java + Node
28
  openjdk-17-jdk-headless maven \
29
  nodejs npm \
30
+ # Databases
31
+ default-mysql-server default-mysql-client \
32
+ postgresql postgresql-client \
33
+ redis-server redis-tools \
34
  # Rust + Go
35
  rustc cargo rustfmt \
36
  golang-go \
 
41
  && dpkg -i /tmp/code-server.deb \
42
  && rm -f /tmp/code-server.deb
43
 
44
+ # Kotlin compiler
45
+ RUN curl -fsSL "https://github.com/JetBrains/kotlin/releases/download/v${KOTLIN_VERSION}/kotlin-compiler-${KOTLIN_VERSION}.zip" -o /tmp/kotlin.zip \
46
+ && unzip -q /tmp/kotlin.zip -d /opt \
47
+ && mv /opt/kotlinc "${KOTLIN_HOME}" \
48
+ && ln -s "${KOTLIN_HOME}/bin/kotlin" /usr/local/bin/kotlin \
49
+ && ln -s "${KOTLIN_HOME}/bin/kotlinc" /usr/local/bin/kotlinc \
50
+ && rm -f /tmp/kotlin.zip
51
+
52
+ # Android SDK command-line tools + common packages
53
+ RUN mkdir -p "${ANDROID_SDK_ROOT}/cmdline-tools" \
54
+ && curl -fsSL "https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_CMDLINE_TOOLS_VERSION}_latest.zip" -o /tmp/android-tools.zip \
55
+ && unzip -q /tmp/android-tools.zip -d "${ANDROID_SDK_ROOT}/cmdline-tools" \
56
+ && mv "${ANDROID_SDK_ROOT}/cmdline-tools/cmdline-tools" "${ANDROID_SDK_ROOT}/cmdline-tools/latest" \
57
+ && rm -f /tmp/android-tools.zip \
58
+ && yes | "${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager" --sdk_root="${ANDROID_SDK_ROOT}" --licenses \
59
+ && "${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager" --sdk_root="${ANDROID_SDK_ROOT}" \
60
+ "platform-tools" "platforms;android-${ANDROID_PLATFORM}" "build-tools;${ANDROID_BUILD_TOOLS}"
61
+
62
  # Python core deps
63
  RUN pip install --no-cache-dir --upgrade pip setuptools wheel && \
64
  pip install --no-cache-dir \
 
76
  RUN useradd -m -u 1000 -s /bin/bash coder \
77
  && echo "coder ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers \
78
  && mkdir -p /home/coder/.config/code-server /home/coder/.codex \
79
+ && chown -R coder:coder /home/coder /opt/kotlin /opt/android-sdk
80
 
81
  # Quick C build check (build-time)
82
  RUN printf '#include <stdio.h>\nint main(){puts("ok");return 0;}\n' > /tmp/t.c \