sft0farid commited on
Commit
04dbc5c
·
verified ·
1 Parent(s): b43249c

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +24 -10
Dockerfile CHANGED
@@ -1,11 +1,9 @@
1
  # syntax=docker/dockerfile:1.4
2
 
3
- # Источники готовых образов
4
  FROM calciumion/new-api:latest AS newapi-source
5
  FROM justlikemaki/aiclient-2-api:latest AS aiclient-source
6
  FROM ghcr.io/quorinex/kiro-go:latest AS kirogo-source
7
 
8
- # ─────────────────────────────────────────────
9
  FROM python:3.11-slim
10
 
11
  # 1. Системные зависимости + Node.js
@@ -41,6 +39,7 @@ RUN mkdir -p \
41
  /data/aiclient2api/configs \
42
  /data/kirogo \
43
  /data/newapi \
 
44
  /data/supervisor/conf.d \
45
  /data/supervisor/run \
46
  && chown -R user:user /app /data
@@ -89,20 +88,35 @@ RUN echo '[supervisord]'
89
  && echo 'command=/app/start_zrok.sh' >> /data/supervisor/conf.d/supervisord.conf \
90
  && echo 'autostart=true' >> /data/supervisor/conf.d/supervisord.conf \
91
  && echo 'autorestart=true' >> /data/supervisor/conf.d/supervisord.conf \
 
 
92
  && echo 'stdout_logfile=/dev/stdout' >> /data/supervisor/conf.d/supervisord.conf \
93
  && echo 'stdout_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf \
94
  && echo 'stderr_logfile=/dev/stderr' >> /data/supervisor/conf.d/supervisord.conf \
95
  && echo 'stderr_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf
96
 
97
  # 7. Скрипт zrok
98
- RUN echo '#!/bin/bash' > /app/start_zrok.sh \
99
- && echo 'if [ -z "$ZROK_TOKEN" ] || [ -z "$ZROK_SHARE_NAME" ]; then' >> /app/start_zrok.sh \
100
- && echo ' echo "ZROK_TOKEN or ZROK_SHARE_NAME not set, skipping zrok"' >> /app/start_zrok.sh \
101
- && echo ' sleep infinity' >> /app/start_zrok.sh \
102
- && echo ' exit 0' >> /app/start_zrok.sh \
103
- && echo 'fi' >> /app/start_zrok.sh \
104
- && echo 'zrok enable "$ZROK_TOKEN" --headless 2>/dev/null || true' >> /app/start_zrok.sh \
105
- && echo 'exec zrok share reserved "$ZROK_SHARE_NAME" --headless' >> /app/start_zrok.sh \
 
 
 
 
 
 
 
 
 
 
 
 
 
106
  && chmod +x /app/start_zrok.sh
107
 
108
  # 8. Entrypoint
 
1
  # syntax=docker/dockerfile:1.4
2
 
 
3
  FROM calciumion/new-api:latest AS newapi-source
4
  FROM justlikemaki/aiclient-2-api:latest AS aiclient-source
5
  FROM ghcr.io/quorinex/kiro-go:latest AS kirogo-source
6
 
 
7
  FROM python:3.11-slim
8
 
9
  # 1. Системные зависимости + Node.js
 
39
  /data/aiclient2api/configs \
40
  /data/kirogo \
41
  /data/newapi \
42
+ /data/zrok-home \
43
  /data/supervisor/conf.d \
44
  /data/supervisor/run \
45
  && chown -R user:user /app /data
 
88
  && echo 'command=/app/start_zrok.sh' >> /data/supervisor/conf.d/supervisord.conf \
89
  && echo 'autostart=true' >> /data/supervisor/conf.d/supervisord.conf \
90
  && echo 'autorestart=true' >> /data/supervisor/conf.d/supervisord.conf \
91
+ && echo 'startsecs=5' >> /data/supervisor/conf.d/supervisord.conf \
92
+ && echo 'startretries=3' >> /data/supervisor/conf.d/supervisord.conf \
93
  && echo 'stdout_logfile=/dev/stdout' >> /data/supervisor/conf.d/supervisord.conf \
94
  && echo 'stdout_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf \
95
  && echo 'stderr_logfile=/dev/stderr' >> /data/supervisor/conf.d/supervisord.conf \
96
  && echo 'stderr_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf
97
 
98
  # 7. Скрипт zrok
99
+ RUN echo '#!/bin/bash' > /app/start_zrok.sh \
100
+ && echo 'if [ -z "$ZROK_TOKEN" ] || [ -z "$ZROK_SHARE_NAME" ]; then' >> /app/start_zrok.sh \
101
+ && echo ' echo "ZROK_TOKEN or ZROK_SHARE_NAME not set, skipping zrok"' >> /app/start_zrok.sh \
102
+ && echo ' sleep infinity' >> /app/start_zrok.sh \
103
+ && echo ' exit 0' >> /app/start_zrok.sh \
104
+ && echo 'fi' >> /app/start_zrok.sh \
105
+ && echo 'export HOME=/data/zrok-home' >> /app/start_zrok.sh \
106
+ && echo 'mkdir -p "$HOME"' >> /app/start_zrok.sh \
107
+ && echo 'if [ ! -f "$HOME/.zrok/environment.json" ]; then' >> /app/start_zrok.sh \
108
+ && echo ' echo "Enabling zrok environment..."' >> /app/start_zrok.sh \
109
+ && echo ' zrok enable "$ZROK_TOKEN" --headless' >> /app/start_zrok.sh \
110
+ && echo ' if [ $? -ne 0 ]; then' >> /app/start_zrok.sh \
111
+ && echo ' echo "zrok enable failed"' >> /app/start_zrok.sh \
112
+ && echo ' sleep infinity' >> /app/start_zrok.sh \
113
+ && echo ' exit 1' >> /app/start_zrok.sh \
114
+ && echo ' fi' >> /app/start_zrok.sh \
115
+ && echo 'else' >> /app/start_zrok.sh \
116
+ && echo ' echo "zrok already enabled, skipping enable"' >> /app/start_zrok.sh \
117
+ && echo 'fi' >> /app/start_zrok.sh \
118
+ && echo 'echo "Starting zrok share reserved: $ZROK_SHARE_NAME"' >> /app/start_zrok.sh \
119
+ && echo 'exec zrok share reserved "$ZROK_SHARE_NAME" --headless' >> /app/start_zrok.sh \
120
  && chmod +x /app/start_zrok.sh
121
 
122
  # 8. Entrypoint