sft0farid commited on
Commit
ffe9331
·
verified ·
1 Parent(s): 964c7f3

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +34 -19
Dockerfile CHANGED
@@ -51,58 +51,65 @@ RUN echo '[supervisord]' > /app/supervisord.conf \
51
  && echo 'logfile=/tmp/supervisor/supervisord.log' >> /app/supervisord.conf \
52
  && echo 'logfile_maxbytes=0' >> /app/supervisord.conf \
53
  && echo 'pidfile=/tmp/supervisor/supervisord.pid' >> /app/supervisord.conf \
54
- && echo 'user=user' >> /app/supervisord.conf \
55
  && echo '' >> /app/supervisord.conf \
56
  && echo '[program:newapi]' >> /app/supervisord.conf \
57
  && echo 'command=/usr/local/bin/new-api --port 7860' >> /app/supervisord.conf \
58
  && echo 'directory=/data/newapi' >> /app/supervisord.conf \
59
  && echo 'environment=HOME="/data/newapi",TZ="UTC"' >> /app/supervisord.conf \
 
 
60
  && echo 'autostart=true' >> /app/supervisord.conf \
61
  && echo 'autorestart=true' >> /app/supervisord.conf \
62
  && echo 'stopasgroup=true' >> /app/supervisord.conf \
63
  && echo 'killasgroup=true' >> /app/supervisord.conf \
64
- && echo 'stdout_logfile=/tmp/supervisor/newapi.out.log' >> /app/supervisord.conf \
65
- && echo 'stdout_logfile_maxbytes=10MB' >> /app/supervisord.conf \
66
- && echo 'stderr_logfile=/tmp/supervisor/newapi.err.log' >> /app/supervisord.conf \
67
- && echo 'stderr_logfile_maxbytes=10MB' >> /app/supervisord.conf \
68
  && echo '' >> /app/supervisord.conf \
69
  && echo '[program:aiclient]' >> /app/supervisord.conf \
70
  && echo 'command=/usr/bin/node /app/aiclient2api/src/core/master.js' >> /app/supervisord.conf \
71
  && echo 'environment=PORT=3000' >> /app/supervisord.conf \
72
  && echo 'directory=/app/aiclient2api' >> /app/supervisord.conf \
 
 
73
  && echo 'autostart=true' >> /app/supervisord.conf \
74
  && echo 'autorestart=true' >> /app/supervisord.conf \
75
  && echo 'stopasgroup=true' >> /app/supervisord.conf \
76
  && echo 'killasgroup=true' >> /app/supervisord.conf \
77
- && echo 'stdout_logfile=/tmp/supervisor/aiclient.out.log' >> /app/supervisord.conf \
78
- && echo 'stdout_logfile_maxbytes=10MB' >> /app/supervisord.conf \
79
- && echo 'stderr_logfile=/tmp/supervisor/aiclient.err.log' >> /app/supervisord.conf \
80
- && echo 'stderr_logfile_maxbytes=10MB' >> /app/supervisord.conf \
81
  && echo '' >> /app/supervisord.conf \
82
  && echo '[program:kirogo]' >> /app/supervisord.conf \
83
  && echo 'command=/usr/local/bin/kiro-go' >> /app/supervisord.conf \
84
  && echo 'environment=PORT=8080' >> /app/supervisord.conf \
85
- && echo 'directory=/app' >> /app/supervisord.conf \
 
 
86
  && echo 'autostart=true' >> /app/supervisord.conf \
87
  && echo 'autorestart=true' >> /app/supervisord.conf \
88
  && echo 'stopasgroup=true' >> /app/supervisord.conf \
89
  && echo 'killasgroup=true' >> /app/supervisord.conf \
90
- && echo 'stdout_logfile=/tmp/supervisor/kirogo.out.log' >> /app/supervisord.conf \
91
- && echo 'stdout_logfile_maxbytes=10MB' >> /app/supervisord.conf \
92
- && echo 'stderr_logfile=/tmp/supervisor/kirogo.err.log' >> /app/supervisord.conf \
93
- && echo 'stderr_logfile_maxbytes=10MB' >> /app/supervisord.conf \
94
  && echo '' >> /app/supervisord.conf \
95
  && echo '[program:zrok]' >> /app/supervisord.conf \
96
  && echo 'command=/app/start_zrok.sh' >> /app/supervisord.conf \
 
 
97
  && echo 'autostart=true' >> /app/supervisord.conf \
98
  && echo 'autorestart=false' >> /app/supervisord.conf \
99
  && echo 'startsecs=2' >> /app/supervisord.conf \
100
  && echo 'stopasgroup=true' >> /app/supervisord.conf \
101
  && echo 'killasgroup=true' >> /app/supervisord.conf \
102
- && echo 'stdout_logfile=/tmp/supervisor/zrok.out.log' >> /app/supervisord.conf \
103
- && echo 'stdout_logfile_maxbytes=10MB' >> /app/supervisord.conf \
104
- && echo 'stderr_logfile=/tmp/supervisor/zrok.err.log' >> /app/supervisord.conf \
105
- && echo 'stderr_logfile_maxbytes=10MB' >> /app/supervisord.conf
106
 
107
  # 7. Zrok startup script
108
  RUN echo '#!/bin/bash' > /app/start_zrok.sh \
@@ -115,6 +122,7 @@ RUN echo '#!/bin/bash' > /app/start_zrok.sh \
115
  && echo 'fi' >> /app/start_zrok.sh \
116
  && echo '' >> /app/start_zrok.sh \
117
  && echo 'export HOME=/data/zrok-home' >> /app/start_zrok.sh \
 
118
  && echo 'mkdir -p "$HOME"' >> /app/start_zrok.sh \
119
  && echo '' >> /app/start_zrok.sh \
120
  && echo 'export ZROK2_API_ENDPOINT=https://api-v2.zrok.io' >> /app/start_zrok.sh \
@@ -145,9 +153,16 @@ RUN echo '#!/bin/bash' > /app/start_zrok.sh \
145
  && echo 'zrok2 create name -n public "$SHARE_NAME" 2>/dev/null || echo "[zrok] Name already reserved."' >> /app/start_zrok.sh \
146
  && echo '' >> /app/start_zrok.sh \
147
  && echo 'echo "[zrok] ==========================================="' >> /app/start_zrok.sh \
148
- && echo 'echo "[zrok] STATIC URL: https://${SHARE_NAME}.share.zrok.io"' >> /app/start_zrok.sh \
149
  && echo 'echo "[zrok] ==========================================="' >> /app/start_zrok.sh \
150
  && echo '' >> /app/start_zrok.sh \
 
 
 
 
 
 
 
151
  && echo 'while true; do' >> /app/start_zrok.sh \
152
  && echo ' echo "[zrok] Starting share on localhost:7860 ..."' >> /app/start_zrok.sh \
153
  && echo ' zrok2 share public http://localhost:7860 -n "public:${SHARE_NAME}" --headless || true' >> /app/start_zrok.sh \
 
51
  && echo 'logfile=/tmp/supervisor/supervisord.log' >> /app/supervisord.conf \
52
  && echo 'logfile_maxbytes=0' >> /app/supervisord.conf \
53
  && echo 'pidfile=/tmp/supervisor/supervisord.pid' >> /app/supervisord.conf \
 
54
  && echo '' >> /app/supervisord.conf \
55
  && echo '[program:newapi]' >> /app/supervisord.conf \
56
  && echo 'command=/usr/local/bin/new-api --port 7860' >> /app/supervisord.conf \
57
  && echo 'directory=/data/newapi' >> /app/supervisord.conf \
58
  && echo 'environment=HOME="/data/newapi",TZ="UTC"' >> /app/supervisord.conf \
59
+ && echo 'user=user' >> /app/supervisord.conf \
60
+ && echo 'priority=10' >> /app/supervisord.conf \
61
  && echo 'autostart=true' >> /app/supervisord.conf \
62
  && echo 'autorestart=true' >> /app/supervisord.conf \
63
  && echo 'stopasgroup=true' >> /app/supervisord.conf \
64
  && echo 'killasgroup=true' >> /app/supervisord.conf \
65
+ && echo 'stdout_logfile=/dev/stdout' >> /app/supervisord.conf \
66
+ && echo 'stdout_logfile_maxbytes=0' >> /app/supervisord.conf \
67
+ && echo 'stderr_logfile=/dev/stderr' >> /app/supervisord.conf \
68
+ && echo 'stderr_logfile_maxbytes=0' >> /app/supervisord.conf \
69
  && echo '' >> /app/supervisord.conf \
70
  && echo '[program:aiclient]' >> /app/supervisord.conf \
71
  && echo 'command=/usr/bin/node /app/aiclient2api/src/core/master.js' >> /app/supervisord.conf \
72
  && echo 'environment=PORT=3000' >> /app/supervisord.conf \
73
  && echo 'directory=/app/aiclient2api' >> /app/supervisord.conf \
74
+ && echo 'user=user' >> /app/supervisord.conf \
75
+ && echo 'priority=10' >> /app/supervisord.conf \
76
  && echo 'autostart=true' >> /app/supervisord.conf \
77
  && echo 'autorestart=true' >> /app/supervisord.conf \
78
  && echo 'stopasgroup=true' >> /app/supervisord.conf \
79
  && echo 'killasgroup=true' >> /app/supervisord.conf \
80
+ && echo 'stdout_logfile=/dev/stdout' >> /app/supervisord.conf \
81
+ && echo 'stdout_logfile_maxbytes=0' >> /app/supervisord.conf \
82
+ && echo 'stderr_logfile=/dev/stderr' >> /app/supervisord.conf \
83
+ && echo 'stderr_logfile_maxbytes=0' >> /app/supervisord.conf \
84
  && echo '' >> /app/supervisord.conf \
85
  && echo '[program:kirogo]' >> /app/supervisord.conf \
86
  && echo 'command=/usr/local/bin/kiro-go' >> /app/supervisord.conf \
87
  && echo 'environment=PORT=8080' >> /app/supervisord.conf \
88
+ && echo 'directory=/data/kirogo' >> /app/supervisord.conf \
89
+ && echo 'user=user' >> /app/supervisord.conf \
90
+ && echo 'priority=20' >> /app/supervisord.conf \
91
  && echo 'autostart=true' >> /app/supervisord.conf \
92
  && echo 'autorestart=true' >> /app/supervisord.conf \
93
  && echo 'stopasgroup=true' >> /app/supervisord.conf \
94
  && echo 'killasgroup=true' >> /app/supervisord.conf \
95
+ && echo 'stdout_logfile=/dev/stdout' >> /app/supervisord.conf \
96
+ && echo 'stdout_logfile_maxbytes=0' >> /app/supervisord.conf \
97
+ && echo 'stderr_logfile=/dev/stderr' >> /app/supervisord.conf \
98
+ && echo 'stderr_logfile_maxbytes=0' >> /app/supervisord.conf \
99
  && echo '' >> /app/supervisord.conf \
100
  && echo '[program:zrok]' >> /app/supervisord.conf \
101
  && echo 'command=/app/start_zrok.sh' >> /app/supervisord.conf \
102
+ && echo 'user=user' >> /app/supervisord.conf \
103
+ && echo 'priority=30' >> /app/supervisord.conf \
104
  && echo 'autostart=true' >> /app/supervisord.conf \
105
  && echo 'autorestart=false' >> /app/supervisord.conf \
106
  && echo 'startsecs=2' >> /app/supervisord.conf \
107
  && echo 'stopasgroup=true' >> /app/supervisord.conf \
108
  && echo 'killasgroup=true' >> /app/supervisord.conf \
109
+ && echo 'stdout_logfile=/dev/stdout' >> /app/supervisord.conf \
110
+ && echo 'stdout_logfile_maxbytes=0' >> /app/supervisord.conf \
111
+ && echo 'stderr_logfile=/dev/stderr' >> /app/supervisord.conf \
112
+ && echo 'stderr_logfile_maxbytes=0' >> /app/supervisord.conf
113
 
114
  # 7. Zrok startup script
115
  RUN echo '#!/bin/bash' > /app/start_zrok.sh \
 
122
  && echo 'fi' >> /app/start_zrok.sh \
123
  && echo '' >> /app/start_zrok.sh \
124
  && echo 'export HOME=/data/zrok-home' >> /app/start_zrok.sh \
125
+ && echo 'trap '"'"'echo "[zrok] Shutting down..."; zrok2 disable 2>/dev/null || true; exit 0'"'"' SIGTERM SIGINT' >> /app/start_zrok.sh \
126
  && echo 'mkdir -p "$HOME"' >> /app/start_zrok.sh \
127
  && echo '' >> /app/start_zrok.sh \
128
  && echo 'export ZROK2_API_ENDPOINT=https://api-v2.zrok.io' >> /app/start_zrok.sh \
 
153
  && echo 'zrok2 create name -n public "$SHARE_NAME" 2>/dev/null || echo "[zrok] Name already reserved."' >> /app/start_zrok.sh \
154
  && echo '' >> /app/start_zrok.sh \
155
  && echo 'echo "[zrok] ==========================================="' >> /app/start_zrok.sh \
156
+ && echo 'echo "[zrok] STATIC URL: https://${SHARE_NAME}.shares.zrok.io"' >> /app/start_zrok.sh \
157
  && echo 'echo "[zrok] ==========================================="' >> /app/start_zrok.sh \
158
  && echo '' >> /app/start_zrok.sh \
159
+ && echo 'echo "[zrok] Waiting for New API to be ready..."' >> /app/start_zrok.sh \
160
+ && echo 'for i in $(seq 1 30); do' >> /app/start_zrok.sh \
161
+ && echo ' curl -sf http://localhost:7860/api/status > /dev/null 2>&1 && break' >> /app/start_zrok.sh \
162
+ && echo ' sleep 2' >> /app/start_zrok.sh \
163
+ && echo 'done' >> /app/start_zrok.sh \
164
+ && echo 'echo "[zrok] New API is ready, starting tunnel..."' >> /app/start_zrok.sh \
165
+ && echo '' >> /app/start_zrok.sh \
166
  && echo 'while true; do' >> /app/start_zrok.sh \
167
  && echo ' echo "[zrok] Starting share on localhost:7860 ..."' >> /app/start_zrok.sh \
168
  && echo ' zrok2 share public http://localhost:7860 -n "public:${SHARE_NAME}" --headless || true' >> /app/start_zrok.sh \