E5K7 commited on
Commit
865193f
·
1 Parent(s): 22adc79

Fix HF Spaces 'stuck on starting': bind to 0.0.0.0 and add Redis startup check

Browse files
Dockerfile CHANGED
@@ -33,8 +33,12 @@ ENV PORT=7860
33
  ENV CLIENT_URL=*
34
  ENV REDIS_URL=redis://localhost:6379
35
 
 
 
 
 
36
  # Expose the HF port
37
  EXPOSE 7860
38
 
39
- # Start Redis and the server
40
- CMD redis-server --daemonize yes && npm run start -w packages/server
 
33
  ENV CLIENT_URL=*
34
  ENV REDIS_URL=redis://localhost:6379
35
 
36
+ # Copy startup script
37
+ COPY scripts/start-hf.sh ./scripts/start-hf.sh
38
+ RUN chmod +x ./scripts/start-hf.sh
39
+
40
  # Expose the HF port
41
  EXPOSE 7860
42
 
43
+ # Start Redis and the server via script
44
+ CMD ["./scripts/start-hf.sh"]
packages/server/src/index.ts CHANGED
@@ -71,7 +71,7 @@ httpServer.on('error', (err: NodeJS.ErrnoException) => {
71
  });
72
 
73
  // Start server
74
- httpServer.listen(config.PORT, () => {
75
  logger.info(`🚀 GLMPilot server running on port ${config.PORT}`);
76
  logger.info(` Environment: ${config.NODE_ENV}`);
77
  logger.info(` Client URL: ${config.CLIENT_URL}`);
 
71
  });
72
 
73
  // Start server
74
+ httpServer.listen(config.PORT, '0.0.0.0', () => {
75
  logger.info(`🚀 GLMPilot server running on port ${config.PORT}`);
76
  logger.info(` Environment: ${config.NODE_ENV}`);
77
  logger.info(` Client URL: ${config.CLIENT_URL}`);
scripts/start-hf.sh ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+ # Start Redis in the background
3
+ redis-server --daemonize yes
4
+
5
+ # Wait for Redis to be ready
6
+ until redis-cli ping > /dev/null 2>&1; do
7
+ echo "Waiting for Redis..."
8
+ sleep 1
9
+ done
10
+ echo "Redis is ready!"
11
+
12
+ # Start the Node.js application
13
+ npm run start -w packages/server