File size: 753 Bytes
5fcea3d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
FROM node:20-alpine

WORKDIR /bootstrap

RUN apk add --no-cache bash git ca-certificates openssh-client shadow python3 make g++

ENV NODE_ENV=production
ENV NODE_OPTIONS="--max-old-space-size=8192"
ENV PORT=7860
ENV UV_THREADPOOL_SIZE=4
ENV ROOT_PASSWORD=""
ENV ADMIN_TERMINAL_SECRET=""
COPY start.sh /bootstrap/start.sh
RUN chmod +x /bootstrap/start.sh

EXPOSE 7860

HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
  CMD node -e "const http=require('http'); const req=http.get({host:'127.0.0.1',port:process.env.PORT||7860,path:'/api/health',timeout:5000},(res)=>process.exit(res.statusCode===200?0:1)); req.on('error',()=>process.exit(1)); req.on('timeout',()=>{req.destroy();process.exit(1)});"

CMD ["/bootstrap/start.sh"]