sft0farid commited on
Commit
ecf6e44
·
verified ·
1 Parent(s): 09d0d93

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +17 -7
Dockerfile CHANGED
@@ -2,14 +2,12 @@ FROM codercom/code-server:latest
2
 
3
  USER root
4
 
5
- # Системные пакеты, которые должны быть в образе всегда (не зависят от volume)
6
  RUN apt-get update && apt-get install -y \
7
  python3 \
8
  python3-pip \
9
  python3-venv \
10
  && rm -rf /var/lib/apt/lists/*
11
 
12
- # Готовим /data (персистентный volume) и локальные кэш-папки (эфемерные, на диске контейнера)
13
  RUN mkdir -p /data && \
14
  cp -r /home/coder/. /data/ 2>/dev/null || true && \
15
  mkdir -p \
@@ -26,24 +24,36 @@ RUN mkdir -p /data && \
26
 
27
  USER coder
28
 
29
- # --- Персистентное (живёт в /data, переживает рестарт контейнера) ---
30
  ENV HOME=/data
31
  ENV PATH=/data/.local/bin:$PATH
32
  ENV XDG_CONFIG_HOME=/data/.config
33
  ENV XDG_DATA_HOME=/data/.local/share
34
 
35
- # --- Эфемерное (быстрый локальный диск, не тащим тяжёлые кэши по сети) ---
36
  ENV XDG_CACHE_HOME=/tmp/.cache
37
  ENV PIP_CACHE_DIR=/tmp/.cache/pip
38
  ENV NPM_CONFIG_CACHE=/tmp/.cache/npm
39
  ENV PLAYWRIGHT_BROWSERS_PATH=/tmp/ms-playwright
40
 
41
- # Короткий промпт вместо длинного хостнейма
42
  RUN echo "export PS1='\[\033[01;32m\]farid\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '" >> /data/.bashrc
43
 
44
  WORKDIR /data
45
 
46
  EXPOSE 7860
47
 
48
- # Перед стартом:
49
- # - чиним exec-права на бинарники в /d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
3
  USER root
4
 
 
5
  RUN apt-get update && apt-get install -y \
6
  python3 \
7
  python3-pip \
8
  python3-venv \
9
  && rm -rf /var/lib/apt/lists/*
10
 
 
11
  RUN mkdir -p /data && \
12
  cp -r /home/coder/. /data/ 2>/dev/null || true && \
13
  mkdir -p \
 
24
 
25
  USER coder
26
 
 
27
  ENV HOME=/data
28
  ENV PATH=/data/.local/bin:$PATH
29
  ENV XDG_CONFIG_HOME=/data/.config
30
  ENV XDG_DATA_HOME=/data/.local/share
31
 
 
32
  ENV XDG_CACHE_HOME=/tmp/.cache
33
  ENV PIP_CACHE_DIR=/tmp/.cache/pip
34
  ENV NPM_CONFIG_CACHE=/tmp/.cache/npm
35
  ENV PLAYWRIGHT_BROWSERS_PATH=/tmp/ms-playwright
36
 
 
37
  RUN echo "export PS1='\[\033[01;32m\]farid\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '" >> /data/.bashrc
38
 
39
  WORKDIR /data
40
 
41
  EXPOSE 7860
42
 
43
+ # Сбрасываем ENTRYPOINT базового образа, чтобы CMD ниже
44
+ # выполнялся напрямую, а не как аргумент к чужому entrypoint
45
+ ENTRYPOINT []
46
+
47
+ CMD ["/bin/sh", "-c", "\
48
+ mkdir -p /tmp/ms-playwright /tmp/.cache/pip /tmp/.cache/npm; \
49
+ chmod -R +x /data/.local/lib/*/site-packages/playwright/driver/ 2>/dev/null; \
50
+ chmod -R +x /data/.opencode/bin/ 2>/dev/null; \
51
+ chmod -R +x /data/.local/bin/ 2>/dev/null; \
52
+ exec code-server \
53
+ --bind-addr 0.0.0.0:7860 \
54
+ --auth password \
55
+ --config /data/.vscode/config.yaml \
56
+ --user-data-dir /data/.vscode/user-data \
57
+ --extensions-dir /data/.vscode/extensions \
58
+ /data \
59
+ "]