sft0farid commited on
Commit
e2dd6a4
·
verified ·
1 Parent(s): b0a3fc0

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +16 -10
Dockerfile CHANGED
@@ -25,29 +25,35 @@ RUN wget -q https://github.com/openziti/zrok/releases/download/v0.4.42/zrok_0.4.
25
  COPY --from=kiro-builder /kiro-go /usr/local/bin/kiro-go
26
  RUN chmod +x /usr/local/bin/kiro-go
27
 
28
- # 4. Non-root пользователь
 
 
 
 
 
29
  RUN useradd -m -u 1000 user
30
 
31
- # 5. Директории
32
  RUN mkdir -p \
33
  /app/aiclient2api \
34
  /data/aiclient2api/configs \
35
  /data/kirogo \
36
- /data/bifrost \
37
  /data/supervisor/conf.d \
38
  /data/supervisor/run \
39
  && chown -R user:user /app /data
40
 
41
- # 6. supervisord.conf
42
  RUN echo '[supervisord]' > /data/supervisor/conf.d/supervisord.conf \
43
  && echo 'nodaemon=true' >> /data/supervisor/conf.d/supervisord.conf \
44
  && echo 'logfile=/dev/stdout' >> /data/supervisor/conf.d/supervisord.conf \
45
  && echo 'logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf \
46
  && echo 'pidfile=/data/supervisor/run/supervisord.pid' >> /data/supervisor/conf.d/supervisord.conf \
47
  && echo '' >> /data/supervisor/conf.d/supervisord.conf \
48
- && echo '[program:bifrost]' >> /data/supervisor/conf.d/supervisord.conf \
49
- && echo 'command=npx -y @maximhq/bifrost -app-dir /data/bifrost -port 7860 -host 0.0.0.0' >> /data/supervisor/conf.d/supervisord.conf \
50
- && echo 'directory=/data/bifrost' >> /data/supervisor/conf.d/supervisord.conf \
 
51
  && echo 'autostart=true' >> /data/supervisor/conf.d/supervisord.conf \
52
  && echo 'autorestart=true' >> /data/supervisor/conf.d/supervisord.conf \
53
  && echo 'stdout_logfile=/dev/stdout' >> /data/supervisor/conf.d/supervisord.conf \
@@ -86,7 +92,7 @@ RUN echo '[supervisord]'
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
 
89
- # 7. Скрипт zrok
90
  RUN echo '#!/bin/bash' > /app/start_zrok.sh \
91
  && echo 'if [ -z "$ZROK_TOKEN" ] || [ -z "$ZROK_SHARE_NAME" ]; then' >> /app/start_zrok.sh \
92
  && echo ' echo "ZROK_TOKEN or ZROK_SHARE_NAME not set, skipping zrok"' >> /app/start_zrok.sh \
@@ -96,7 +102,7 @@ RUN echo '#!/bin/bash'
96
  && echo 'exec zrok share reserved "$ZROK_SHARE_NAME" --headless' >> /app/start_zrok.sh \
97
  && chmod +x /app/start_zrok.sh
98
 
99
- # 8. Entrypoint
100
  RUN echo '#!/bin/bash' > /app/start.sh \
101
  && echo 'if [ ! -L /app/aiclient2api/configs ]; then' >> /app/start.sh \
102
  && echo ' rm -rf /app/aiclient2api/configs' >> /app/start.sh \
@@ -105,7 +111,7 @@ RUN echo '#!/bin/bash'
105
  && echo 'exec /usr/bin/supervisord -c /data/supervisor/conf.d/supervisord.conf' >> /app/start.sh \
106
  && chmod +x /app/start.sh
107
 
108
- # 9. Устанавливаем приложения под user
109
  USER user
110
  WORKDIR /app
111
 
 
25
  COPY --from=kiro-builder /kiro-go /usr/local/bin/kiro-go
26
  RUN chmod +x /usr/local/bin/kiro-go
27
 
28
+ # 4. New API бинарник
29
+ RUN wget -q https://github.com/QuantumNous/new-api/releases/latest/download/new-api-linux-amd64 \
30
+ -O /usr/local/bin/new-api \
31
+ && chmod +x /usr/local/bin/new-api
32
+
33
+ # 5. Non-root пользователь
34
  RUN useradd -m -u 1000 user
35
 
36
+ # 6. Директории
37
  RUN mkdir -p \
38
  /app/aiclient2api \
39
  /data/aiclient2api/configs \
40
  /data/kirogo \
41
+ /data/newapi \
42
  /data/supervisor/conf.d \
43
  /data/supervisor/run \
44
  && chown -R user:user /app /data
45
 
46
+ # 7. supervisord.conf
47
  RUN echo '[supervisord]' > /data/supervisor/conf.d/supervisord.conf \
48
  && echo 'nodaemon=true' >> /data/supervisor/conf.d/supervisord.conf \
49
  && echo 'logfile=/dev/stdout' >> /data/supervisor/conf.d/supervisord.conf \
50
  && echo 'logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf \
51
  && echo 'pidfile=/data/supervisor/run/supervisord.pid' >> /data/supervisor/conf.d/supervisord.conf \
52
  && echo '' >> /data/supervisor/conf.d/supervisord.conf \
53
+ && echo '[program:newapi]' >> /data/supervisor/conf.d/supervisord.conf \
54
+ && echo 'command=new-api --port 7860 --log-dir /data/newapi/logs' >> /data/supervisor/conf.d/supervisord.conf \
55
+ && echo 'environment=TZ="UTC"' >> /data/supervisor/conf.d/supervisord.conf \
56
+ && echo 'directory=/data/newapi' >> /data/supervisor/conf.d/supervisord.conf \
57
  && echo 'autostart=true' >> /data/supervisor/conf.d/supervisord.conf \
58
  && echo 'autorestart=true' >> /data/supervisor/conf.d/supervisord.conf \
59
  && echo 'stdout_logfile=/dev/stdout' >> /data/supervisor/conf.d/supervisord.conf \
 
92
  && echo 'stderr_logfile=/dev/stderr' >> /data/supervisor/conf.d/supervisord.conf \
93
  && echo 'stderr_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf
94
 
95
+ # 8. Скрипт zrok
96
  RUN echo '#!/bin/bash' > /app/start_zrok.sh \
97
  && echo 'if [ -z "$ZROK_TOKEN" ] || [ -z "$ZROK_SHARE_NAME" ]; then' >> /app/start_zrok.sh \
98
  && echo ' echo "ZROK_TOKEN or ZROK_SHARE_NAME not set, skipping zrok"' >> /app/start_zrok.sh \
 
102
  && echo 'exec zrok share reserved "$ZROK_SHARE_NAME" --headless' >> /app/start_zrok.sh \
103
  && chmod +x /app/start_zrok.sh
104
 
105
+ # 9. Entrypoint
106
  RUN echo '#!/bin/bash' > /app/start.sh \
107
  && echo 'if [ ! -L /app/aiclient2api/configs ]; then' >> /app/start.sh \
108
  && echo ' rm -rf /app/aiclient2api/configs' >> /app/start.sh \
 
111
  && echo 'exec /usr/bin/supervisord -c /data/supervisor/conf.d/supervisord.conf' >> /app/start.sh \
112
  && chmod +x /app/start.sh
113
 
114
+ # 10. Устанавливаем приложения под user
115
  USER user
116
  WORKDIR /app
117