sft0farid commited on
Commit
4bc1310
·
verified ·
1 Parent(s): 3c35133

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +31 -20
Dockerfile CHANGED
@@ -1,3 +1,4 @@
 
1
  # syntax=docker/dockerfile:1.4
2
 
3
  FROM calciumion/new-api:latest AS newapi-source
@@ -54,11 +55,14 @@ RUN echo '[supervisord]'
54
  && echo '' >> /data/supervisor/conf.d/supervisord.conf \
55
  && echo '[program:newapi]' >> /data/supervisor/conf.d/supervisord.conf \
56
  && echo 'command=new-api --port 7860 --log-dir /data/newapi/logs' >> /data/supervisor/conf.d/supervisord.conf \
 
57
  && echo 'directory=/data/newapi' >> /data/supervisor/conf.d/supervisord.conf \
58
  && echo 'autostart=true' >> /data/supervisor/conf.d/supervisord.conf \
59
  && echo 'autorestart=true' >> /data/supervisor/conf.d/supervisord.conf \
60
  && echo 'stdout_logfile=/dev/stdout' >> /data/supervisor/conf.d/supervisord.conf \
 
61
  && echo 'stderr_logfile=/dev/stderr' >> /data/supervisor/conf.d/supervisord.conf \
 
62
  && echo '' >> /data/supervisor/conf.d/supervisord.conf \
63
  && echo '[program:aiclient]' >> /data/supervisor/conf.d/supervisord.conf \
64
  && echo 'command=node /app/aiclient2api/src/core/master.js' >> /data/supervisor/conf.d/supervisord.conf \
@@ -67,7 +71,9 @@ RUN echo '[supervisord]'
67
  && echo 'autostart=true' >> /data/supervisor/conf.d/supervisord.conf \
68
  && echo 'autorestart=true' >> /data/supervisor/conf.d/supervisord.conf \
69
  && echo 'stdout_logfile=/dev/stdout' >> /data/supervisor/conf.d/supervisord.conf \
 
70
  && echo 'stderr_logfile=/dev/stderr' >> /data/supervisor/conf.d/supervisord.conf \
 
71
  && echo '' >> /data/supervisor/conf.d/supervisord.conf \
72
  && echo '[program:kirogo]' >> /data/supervisor/conf.d/supervisord.conf \
73
  && echo 'command=kiro-go' >> /data/supervisor/conf.d/supervisord.conf \
@@ -76,35 +82,40 @@ RUN echo '[supervisord]'
76
  && echo 'autostart=true' >> /data/supervisor/conf.d/supervisord.conf \
77
  && echo 'autorestart=true' >> /data/supervisor/conf.d/supervisord.conf \
78
  && echo 'stdout_logfile=/dev/stdout' >> /data/supervisor/conf.d/supervisord.conf \
 
79
  && echo 'stderr_logfile=/dev/stderr' >> /data/supervisor/conf.d/supervisord.conf \
 
80
  && echo '' >> /data/supervisor/conf.d/supervisord.conf \
81
- && echo '[program:zrok_newapi]' >> /data/supervisor/conf.d/supervisord.conf \
82
- && echo 'command=/app/start_zrok.sh 7860 newapi-share' >> /data/supervisor/conf.d/supervisord.conf \
83
  && echo 'autostart=true' >> /data/supervisor/conf.d/supervisord.conf \
84
  && echo 'autorestart=true' >> /data/supervisor/conf.d/supervisord.conf \
85
- && echo '' >> /data/supervisor/conf.d/supervisord.conf \
86
- && echo '[program:zrok_aiclient]' >> /data/supervisor/conf.d/supervisord.conf \
87
- && echo 'command=/app/start_zrok.sh 3000 aiclient-share' >> /data/supervisor/conf.d/supervisord.conf \
88
- && echo 'autostart=true' >> /data/supervisor/conf.d/supervisord.conf \
89
- && echo 'autorestart=true' >> /data/supervisor/conf.d/supervisord.conf \
90
- && echo '' >> /data/supervisor/conf.d/supervisord.conf \
91
- && echo '[program:zrok_kirogo]' >> /data/supervisor/conf.d/supervisord.conf \
92
- && echo 'command=/app/start_zrok.sh 8082 kirogo-share' >> /data/supervisor/conf.d/supervisord.conf \
93
- && echo 'autostart=true' >> /data/supervisor/conf.d/supervisord.conf \
94
- && echo 'autorestart=true' >> /data/supervisor/conf.d/supervisord.conf
95
 
96
- # 7. Скрипт zrok v2 (Универсальный)
97
  RUN echo '#!/bin/bash' > /app/start_zrok.sh \
98
- && echo 'PORT=$1' >> /app/start_zrok.sh \
99
- && echo 'SHARE_NAME=$2' >> /app/start_zrok.sh \
100
- && echo 'if [ -z "$ZROK2_TOKEN" ]; then exit 0; fi' >> /app/start_zrok.sh \
 
 
101
  && echo 'export HOME=/data/zrok-home' >> /app/start_zrok.sh \
102
  && echo 'mkdir -p "$HOME"' >> /app/start_zrok.sh \
103
- && echo 'if [ ! -f "$HOME/.zrok2/environment.json" ]; then' >> /app/start_zrok.sh \
104
  && echo ' zrok2 enable "$ZROK2_TOKEN" --headless' >> /app/start_zrok.sh \
105
  && echo 'fi' >> /app/start_zrok.sh \
 
106
  && echo 'while true; do' >> /app/start_zrok.sh \
107
- && echo ' zrok2 share public http://localhost:$PORT -n "public:$SHARE_NAME" --headless' >> /app/start_zrok.sh \
 
 
 
 
108
  && echo ' sleep 5' >> /app/start_zrok.sh \
109
  && echo 'done' >> /app/start_zrok.sh \
110
  && chmod +x /app/start_zrok.sh
@@ -114,6 +125,6 @@ RUN echo '#!/bin/bash'
114
  && echo 'exec /usr/bin/supervisord -c /data/supervisor/conf.d/supervisord.conf' >> /app/start.sh \
115
  && chmod +x /app/start.sh
116
 
117
- EXPOSE 7860 3000 8082
118
 
119
- CMD ["/app/start.sh"]
 
1
+
2
  # syntax=docker/dockerfile:1.4
3
 
4
  FROM calciumion/new-api:latest AS newapi-source
 
55
  && echo '' >> /data/supervisor/conf.d/supervisord.conf \
56
  && echo '[program:newapi]' >> /data/supervisor/conf.d/supervisord.conf \
57
  && echo 'command=new-api --port 7860 --log-dir /data/newapi/logs' >> /data/supervisor/conf.d/supervisord.conf \
58
+ && echo 'environment=TZ="UTC"' >> /data/supervisor/conf.d/supervisord.conf \
59
  && echo 'directory=/data/newapi' >> /data/supervisor/conf.d/supervisord.conf \
60
  && echo 'autostart=true' >> /data/supervisor/conf.d/supervisord.conf \
61
  && echo 'autorestart=true' >> /data/supervisor/conf.d/supervisord.conf \
62
  && echo 'stdout_logfile=/dev/stdout' >> /data/supervisor/conf.d/supervisord.conf \
63
+ && echo 'stdout_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf \
64
  && echo 'stderr_logfile=/dev/stderr' >> /data/supervisor/conf.d/supervisord.conf \
65
+ && echo 'stderr_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf \
66
  && echo '' >> /data/supervisor/conf.d/supervisord.conf \
67
  && echo '[program:aiclient]' >> /data/supervisor/conf.d/supervisord.conf \
68
  && echo 'command=node /app/aiclient2api/src/core/master.js' >> /data/supervisor/conf.d/supervisord.conf \
 
71
  && echo 'autostart=true' >> /data/supervisor/conf.d/supervisord.conf \
72
  && echo 'autorestart=true' >> /data/supervisor/conf.d/supervisord.conf \
73
  && echo 'stdout_logfile=/dev/stdout' >> /data/supervisor/conf.d/supervisord.conf \
74
+ && echo 'stdout_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf \
75
  && echo 'stderr_logfile=/dev/stderr' >> /data/supervisor/conf.d/supervisord.conf \
76
+ && echo 'stderr_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf \
77
  && echo '' >> /data/supervisor/conf.d/supervisord.conf \
78
  && echo '[program:kirogo]' >> /data/supervisor/conf.d/supervisord.conf \
79
  && echo 'command=kiro-go' >> /data/supervisor/conf.d/supervisord.conf \
 
82
  && echo 'autostart=true' >> /data/supervisor/conf.d/supervisord.conf \
83
  && echo 'autorestart=true' >> /data/supervisor/conf.d/supervisord.conf \
84
  && echo 'stdout_logfile=/dev/stdout' >> /data/supervisor/conf.d/supervisord.conf \
85
+ && echo 'stdout_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf \
86
  && echo 'stderr_logfile=/dev/stderr' >> /data/supervisor/conf.d/supervisord.conf \
87
+ && echo 'stderr_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf \
88
  && echo '' >> /data/supervisor/conf.d/supervisord.conf \
89
+ && echo '[program:zrok]' >> /data/supervisor/conf.d/supervisord.conf \
90
+ && echo 'command=/app/start_zrok.sh' >> /data/supervisor/conf.d/supervisord.conf \
91
  && echo 'autostart=true' >> /data/supervisor/conf.d/supervisord.conf \
92
  && echo 'autorestart=true' >> /data/supervisor/conf.d/supervisord.conf \
93
+ && echo 'startsecs=5' >> /data/supervisor/conf.d/supervisord.conf \
94
+ && echo 'startretries=3' >> /data/supervisor/conf.d/supervisord.conf \
95
+ && echo 'stdout_logfile=/dev/stdout' >> /data/supervisor/conf.d/supervisord.conf \
96
+ && echo 'stdout_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf \
97
+ && echo 'stderr_logfile=/dev/stderr' >> /data/supervisor/conf.d/supervisord.conf \
98
+ && echo 'stderr_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf
 
 
 
 
99
 
100
+ # 7. Скрипт zrok v2 (Статичное имя + бесконечный цикл перезапуска)
101
  RUN echo '#!/bin/bash' > /app/start_zrok.sh \
102
+ && echo 'set -e' >> /app/start_zrok.sh \
103
+ && echo 'if [ -z "$ZROK2_TOKEN" ]; then' >> /app/start_zrok.sh \
104
+ && echo ' echo "[zrok] ZROK2_TOKEN not set, skipping"' >> /app/start_zrok.sh \
105
+ && echo ' sleep infinity; exit 0' >> /app/start_zrok.sh \
106
+ && echo 'fi' >> /app/start_zrok.sh \
107
  && echo 'export HOME=/data/zrok-home' >> /app/start_zrok.sh \
108
  && echo 'mkdir -p "$HOME"' >> /app/start_zrok.sh \
109
+ && echo 'if [ ! -f "$HOME/.zrok2/environment.json" ]; then' >> /app/start_zrok.sh \
110
  && echo ' zrok2 enable "$ZROK2_TOKEN" --headless' >> /app/start_zrok.sh \
111
  && echo 'fi' >> /app/start_zrok.sh \
112
+ && echo 'SHARE_NAME="${ZROK2_SHARE_NAME:-my-api-share}"' >> /app/start_zrok.sh \
113
  && echo 'while true; do' >> /app/start_zrok.sh \
114
+ && echo ' echo "[zrok] Attempting to reserve/reuse name: $SHARE_NAME"' >> /app/start_zrok.sh \
115
+ && echo ' zrok2 create name -n public "$SHARE_NAME" 2>/dev/null || echo "[zrok] Name likely already exists, proceeding..."' >> /app/start_zrok.sh \
116
+ && echo ' echo "[zrok] Starting share: https://${SHARE_NAME}.shares.zrok.io"' >> /app/start_zrok.sh \
117
+ && echo ' zrok2 share public http://localhost:7860 -n "public:${SHARE_NAME}" --headless' >> /app/start_zrok.sh \
118
+ && echo ' echo "[zrok] Process exited, retrying in 5 seconds..."' >> /app/start_zrok.sh \
119
  && echo ' sleep 5' >> /app/start_zrok.sh \
120
  && echo 'done' >> /app/start_zrok.sh \
121
  && chmod +x /app/start_zrok.sh
 
125
  && echo 'exec /usr/bin/supervisord -c /data/supervisor/conf.d/supervisord.conf' >> /app/start.sh \
126
  && chmod +x /app/start.sh
127
 
128
+ EXPOSE 7860
129
 
130
+ CMD ["/app/start.sh"]