anatoli72 commited on
Commit
0f2d477
·
verified ·
1 Parent(s): d42beec

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +5 -51
Dockerfile CHANGED
@@ -1,59 +1,13 @@
1
- # Используйте актуальную версию Node
2
- FROM node:22-alpine AS build
3
 
4
- # Установка зависимостей для сборки
5
- RUN apk add --no-cache git python3 make g++ \
6
- && ln -sf /usr/bin/python3 /usr/bin/python
7
-
8
- WORKDIR /app
9
-
10
- # Копируем manifest-файлы первым слоем для кэширования
11
- COPY package.json package-lock.json ./
12
- RUN test -f package.json && test -f package-lock.json
13
-
14
- # Копируем исходный код
15
- COPY . .
16
-
17
- # Обновляем npm и устанавливаем зависимости
18
- RUN npm install -g npm@latest && \
19
- npm ci --ignore-scripts
20
-
21
- # Собираем GUI (если требуется)
22
- RUN cd src/gui && npm run build 2>/dev/null || true
23
-
24
- # Production stage
25
- FROM node:22-alpine
26
-
27
- LABEL repo="https://github.com/HeyPuter/puter"
28
- LABEL license="AGPL-3.0"
29
-
30
- # Git нужен Puter для определения версии
31
- RUN apk add --no-cache git
32
-
33
- WORKDIR /opt/puter/app
34
-
35
- # Копируем артефакты сборки
36
- COPY --from=build /app/src/gui/dist ./dist 2>/dev/null || true
37
- COPY --from=build /app/node_modules ./node_modules
38
- COPY --from=build /app/package*.json ./
39
- COPY --from=build /app/src ./src
40
- COPY --from=build /app/tools ./tools
41
-
42
- # Настройка прав для non-root пользователя
43
- RUN chown -R node:node /opt/puter/app
44
- USER node
45
-
46
- # Переменные окружения для Hugging Face Spaces
47
  ENV PORT=7860 \
48
- NODE_ENV=production \
49
- NO_VAR_RUNTIME=1 \
50
- HOST=0.0.0.0
51
 
52
  EXPOSE 7860
53
 
54
- # Healthcheck для Spaces
55
- HEALTHCHECK --interval=30s --timeout=3s --start-period=40s \
56
  CMD wget --no-verbose --tries=1 --spider http://localhost:7860/test || exit 1
57
 
58
- # Запуск через официальный скрипт Puter
59
  CMD ["node", "./tools/run-selfhosted.js"]
 
1
+ # Самый надёжный вариант: официальный образ + минимальная настройка
2
+ FROM ghcr.io/heyputer/puter:latest
3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  ENV PORT=7860 \
5
+ HOST=0.0.0.0 \
6
+ NODE_ENV=production
 
7
 
8
  EXPOSE 7860
9
 
10
+ HEALTHCHECK --interval=30s --timeout=5s --start-period=60s \
 
11
  CMD wget --no-verbose --tries=1 --spider http://localhost:7860/test || exit 1
12
 
 
13
  CMD ["node", "./tools/run-selfhosted.js"]