sft0farid commited on
Commit
00f310a
·
verified ·
1 Parent(s): b46d0cd

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +59 -68
Dockerfile CHANGED
@@ -31,7 +31,6 @@ RUN useradd -m -u 1000 user
31
  # 5. Директории
32
  RUN mkdir -p \
33
  /app/aiclient2api \
34
- /app/bifrost \
35
  /data/aiclient2api/configs \
36
  /data/kirogo \
37
  /data/bifrost \
@@ -40,70 +39,70 @@ RUN mkdir -p \
40
  && chown -R user:user /app /data
41
 
42
  # 6. supervisord.conf
43
- RUN echo '[supervisord]' > /data/supervisor/conf.d/supervisord.conf \
44
- && echo 'nodaemon=true' >> /data/supervisor/conf.d/supervisord.conf \
45
- && echo 'logfile=/dev/stdout' >> /data/supervisor/conf.d/supervisord.conf \
46
- && echo 'logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf \
47
- && echo 'pidfile=/data/supervisor/run/supervisord.pid' >> /data/supervisor/conf.d/supervisord.conf \
48
- && echo '' >> /data/supervisor/conf.d/supervisord.conf \
49
- && echo '[program:bifrost]' >> /data/supervisor/conf.d/supervisord.conf \
50
- && echo 'command=python /app/bifrost/main.py --port 7860 --host 0.0.0.0' >> /data/supervisor/conf.d/supervisord.conf \
51
- && echo 'directory=/data/bifrost' >> /data/supervisor/conf.d/supervisord.conf \
52
- && echo 'autostart=true' >> /data/supervisor/conf.d/supervisord.conf \
53
- && echo 'autorestart=true' >> /data/supervisor/conf.d/supervisord.conf \
54
- && echo 'stdout_logfile=/dev/stdout' >> /data/supervisor/conf.d/supervisord.conf \
55
- && echo 'stdout_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf \
56
- && echo 'stderr_logfile=/dev/stderr' >> /data/supervisor/conf.d/supervisord.conf \
57
- && echo 'stderr_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf \
58
- && echo '' >> /data/supervisor/conf.d/supervisord.conf \
59
- && echo '[program:aiclient]' >> /data/supervisor/conf.d/supervisord.conf \
60
- && echo 'command=node /app/aiclient2api/src/core/master.js' >> /data/supervisor/conf.d/supervisord.conf \
61
- && echo 'environment=PORT=3000' >> /data/supervisor/conf.d/supervisord.conf \
62
- && echo 'directory=/app/aiclient2api' >> /data/supervisor/conf.d/supervisord.conf \
63
- && echo 'autostart=true' >> /data/supervisor/conf.d/supervisord.conf \
64
- && echo 'autorestart=true' >> /data/supervisor/conf.d/supervisord.conf \
65
- && echo 'stdout_logfile=/dev/stdout' >> /data/supervisor/conf.d/supervisord.conf \
66
- && echo 'stdout_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf \
67
- && echo 'stderr_logfile=/dev/stderr' >> /data/supervisor/conf.d/supervisord.conf \
68
- && echo 'stderr_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf \
69
- && echo '' >> /data/supervisor/conf.d/supervisord.conf \
70
- && echo '[program:kirogo]' >> /data/supervisor/conf.d/supervisord.conf \
71
- && echo 'command=kiro-go' >> /data/supervisor/conf.d/supervisord.conf \
72
- && echo 'environment=PORT=8082,ADMIN_PASSWORD=%(ENV_KIRO_ADMIN_PASSWORD)s' >> /data/supervisor/conf.d/supervisord.conf \
73
- && echo 'directory=/data/kirogo' >> /data/supervisor/conf.d/supervisord.conf \
74
- && echo 'autostart=true' >> /data/supervisor/conf.d/supervisord.conf \
75
- && echo 'autorestart=true' >> /data/supervisor/conf.d/supervisord.conf \
76
- && echo 'stdout_logfile=/dev/stdout' >> /data/supervisor/conf.d/supervisord.conf \
77
- && echo 'stdout_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf \
78
- && echo 'stderr_logfile=/dev/stderr' >> /data/supervisor/conf.d/supervisord.conf \
79
- && echo 'stderr_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf \
80
- && echo '' >> /data/supervisor/conf.d/supervisord.conf \
81
- && echo '[program:zrok]' >> /data/supervisor/conf.d/supervisord.conf \
82
- && echo 'command=/app/start_zrok.sh' >> /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 'stdout_logfile=/dev/stdout' >> /data/supervisor/conf.d/supervisord.conf \
86
- && echo 'stdout_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf \
87
- && echo 'stderr_logfile=/dev/stderr' >> /data/supervisor/conf.d/supervisord.conf \
88
- && echo 'stderr_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf
89
 
90
  # 7. Скрипт zrok
91
- RUN echo '#!/bin/bash' > /app/start_zrok.sh \
92
- && echo 'if [ -z "$ZROK_TOKEN" ] || [ -z "$ZROK_SHARE_NAME" ]; then' >> /app/start_zrok.sh \
93
- && echo ' echo "ZROK_TOKEN or ZROK_SHARE_NAME not set, skipping zrok"' >> /app/start_zrok.sh \
94
- && echo ' sleep infinity' >> /app/start_zrok.sh \
95
- && echo 'fi' >> /app/start_zrok.sh \
96
- && echo 'zrok enable "$ZROK_TOKEN" --headless 2>/dev/null || true' >> /app/start_zrok.sh \
97
- && echo 'exec zrok share reserved "$ZROK_SHARE_NAME" --headless' >> /app/start_zrok.sh \
98
  && chmod +x /app/start_zrok.sh
99
 
100
  # 8. Entrypoint
101
- RUN echo '#!/bin/bash' > /app/start.sh \
102
- && echo 'if [ ! -L /app/aiclient2api/configs ]; then' >> /app/start.sh \
103
- && echo ' rm -rf /app/aiclient2api/configs' >> /app/start.sh \
104
- && echo ' ln -s /data/aiclient2api/configs /app/aiclient2api/configs' >> /app/start.sh \
105
- && echo 'fi' >> /app/start.sh \
106
- && echo 'exec /usr/bin/supervisord -c /data/supervisor/conf.d/supervisord.conf' >> /app/start.sh \
107
  && chmod +x /app/start.sh
108
 
109
  # 9. Устанавливаем приложения под user
@@ -115,14 +114,6 @@ RUN git clone https://github.com/justlovemaki/AIClient2API.git /app/aiclient2api
115
  && cd /app/aiclient2api \
116
  && npm install
117
 
118
- # Bifrost
119
- RUN git clone https://github.com/maximhq/bifrost.git /app/bifrost \
120
- && if [ -f /app/bifrost/requirements.txt ]; then \
121
- pip install --no-cache-dir --user -r /app/bifrost/requirements.txt; \
122
- else \
123
- pip install --no-cache-dir --user /app/bifrost; \
124
- fi
125
-
126
  EXPOSE 7860
127
 
128
  CMD ["/app/start.sh"]
 
31
  # 5. Директории
32
  RUN mkdir -p \
33
  /app/aiclient2api \
 
34
  /data/aiclient2api/configs \
35
  /data/kirogo \
36
  /data/bifrost \
 
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' >> /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 \
54
+ && echo 'stdout_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf \
55
+ && echo 'stderr_logfile=/dev/stderr' >> /data/supervisor/conf.d/supervisord.conf \
56
+ && echo 'stderr_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf \
57
+ && echo '' >> /data/supervisor/conf.d/supervisord.conf \
58
+ && echo '[program:aiclient]' >> /data/supervisor/conf.d/supervisord.conf \
59
+ && echo 'command=node /app/aiclient2api/src/core/master.js' >> /data/supervisor/conf.d/supervisord.conf \
60
+ && echo 'environment=PORT=3000' >> /data/supervisor/conf.d/supervisord.conf \
61
+ && echo 'directory=/app/aiclient2api' >> /data/supervisor/conf.d/supervisord.conf \
62
+ && echo 'autostart=true' >> /data/supervisor/conf.d/supervisord.conf \
63
+ && echo 'autorestart=true' >> /data/supervisor/conf.d/supervisord.conf \
64
+ && echo 'stdout_logfile=/dev/stdout' >> /data/supervisor/conf.d/supervisord.conf \
65
+ && echo 'stdout_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf \
66
+ && echo 'stderr_logfile=/dev/stderr' >> /data/supervisor/conf.d/supervisord.conf \
67
+ && echo 'stderr_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf \
68
+ && echo '' >> /data/supervisor/conf.d/supervisord.conf \
69
+ && echo '[program:kirogo]' >> /data/supervisor/conf.d/supervisord.conf \
70
+ && echo 'command=kiro-go' >> /data/supervisor/conf.d/supervisord.conf \
71
+ && echo 'environment=PORT=8082,ADMIN_PASSWORD=%(ENV_KIRO_ADMIN_PASSWORD)s' >> /data/supervisor/conf.d/supervisord.conf \
72
+ && echo 'directory=/data/kirogo' >> /data/supervisor/conf.d/supervisord.conf \
73
+ && echo 'autostart=true' >> /data/supervisor/conf.d/supervisord.conf \
74
+ && echo 'autorestart=true' >> /data/supervisor/conf.d/supervisord.conf \
75
+ && echo 'stdout_logfile=/dev/stdout' >> /data/supervisor/conf.d/supervisord.conf \
76
+ && echo 'stdout_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf \
77
+ && echo 'stderr_logfile=/dev/stderr' >> /data/supervisor/conf.d/supervisord.conf \
78
+ && echo 'stderr_logfile_maxbytes=0' >> /data/supervisor/conf.d/supervisord.conf \
79
+ && echo '' >> /data/supervisor/conf.d/supervisord.conf \
80
+ && echo '[program:zrok]' >> /data/supervisor/conf.d/supervisord.conf \
81
+ && echo 'command=/app/start_zrok.sh' >> /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
 
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 \
93
+ && echo ' sleep infinity' >> /app/start_zrok.sh \
94
+ && echo 'fi' >> /app/start_zrok.sh \
95
+ && echo 'zrok enable "$ZROK_TOKEN" --headless 2>/dev/null || true' >> /app/start_zrok.sh \
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 \
103
+ && echo ' ln -s /data/aiclient2api/configs /app/aiclient2api/configs' >> /app/start.sh \
104
+ && echo 'fi' >> /app/start.sh \
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
 
114
  && cd /app/aiclient2api \
115
  && npm install
116
 
 
 
 
 
 
 
 
 
117
  EXPOSE 7860
118
 
119
  CMD ["/app/start.sh"]