nxdev-org commited on
Commit
fd26e4f
·
1 Parent(s): 535ba86

update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +45 -12
Dockerfile CHANGED
@@ -1,6 +1,6 @@
1
  # HuggingFace Spaces Dockerfile for Overleaf with Japanese LaTeX
2
  #
3
- # FIXED: MongoDB 8.0 command options
4
  #
5
  # Features:
6
  # - Full TeX Live 2025 with Japanese support
@@ -55,17 +55,14 @@ chmod -R 777 /data
55
  chmod -R 777 /var/log/mongodb
56
  chmod -R 777 /var/log/redis
57
 
58
- # Remove stale lock files if any
59
  rm -f /data/mongo/mongod.lock 2>/dev/null || true
60
  rm -f /data/mongo/WiredTiger.lock 2>/dev/null || true
61
  rm -f /data/mongo/WiredTiger 2>/dev/null || true
62
 
63
- echo "Directories created: $(ls -la /data/)"
64
-
65
  echo "=== STARTING MONGODB ==="
66
  set +e
67
 
68
- # MongoDB 8.0 doesn't support --logAppend, use --logg append instead
69
  mongod --dbpath /data/mongo \
70
  --bind_ip 127.0.0.1 \
71
  --replSet overleaf \
@@ -87,9 +84,8 @@ for i in {1..30}; do
87
  sleep 1
88
  done
89
 
90
- # Check if MongoDB is still running
91
  if ! kill -0 $MONGOPID 2>/dev/null; then
92
- echo "MongoDB failed to start. Log output:"
93
  cat /var/log/mongodb/mongodb.log 2>/dev/null || echo "No log found"
94
  exit 1
95
  fi
@@ -100,18 +96,55 @@ mongosh --quiet --eval "
100
  rs.initiate({_id: 'overleaf', members: [{_id: 0, host: '127.0.0.1:27017'}]});
101
  print('Replica set initiated');
102
  } catch(e) {
103
- print('Replica set may already exist or error: ' + e);
104
  }
105
  " 2>&1 || true
106
 
107
  echo "=== STARTING REDIS ==="
108
- redis-server --daemonize yes \
109
- --dir /data/redis \
 
 
 
 
 
110
  --port 6379 \
111
  --bind 127.0.0.1 \
112
- --logfile /var/log/redis/redis.log 2>/dev/null || true
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
113
 
114
- echo "=== ALL SERVICES STARTED ==="
115
  EOFSCRIPT
116
 
117
  RUN chmod +x /etc/my_init.d/00_start_services.sh
 
1
  # HuggingFace Spaces Dockerfile for Overleaf with Japanese LaTeX
2
  #
3
+ # FIXED: Redis not starting - added proper start and wait
4
  #
5
  # Features:
6
  # - Full TeX Live 2025 with Japanese support
 
55
  chmod -R 777 /var/log/mongodb
56
  chmod -R 777 /var/log/redis
57
 
58
+ # Remove stale lock files
59
  rm -f /data/mongo/mongod.lock 2>/dev/null || true
60
  rm -f /data/mongo/WiredTiger.lock 2>/dev/null || true
61
  rm -f /data/mongo/WiredTiger 2>/dev/null || true
62
 
 
 
63
  echo "=== STARTING MONGODB ==="
64
  set +e
65
 
 
66
  mongod --dbpath /data/mongo \
67
  --bind_ip 127.0.0.1 \
68
  --replSet overleaf \
 
84
  sleep 1
85
  done
86
 
 
87
  if ! kill -0 $MONGOPID 2>/dev/null; then
88
+ echo "MongoDB failed to start"
89
  cat /var/log/mongodb/mongodb.log 2>/dev/null || echo "No log found"
90
  exit 1
91
  fi
 
96
  rs.initiate({_id: 'overleaf', members: [{_id: 0, host: '127.0.0.1:27017'}]});
97
  print('Replica set initiated');
98
  } catch(e) {
99
+ print('Replica set may already exist: ' + e);
100
  }
101
  " 2>&1 || true
102
 
103
  echo "=== STARTING REDIS ==="
104
+
105
+ # Kill any existing Redis
106
+ pkill redis-server 2>/dev/null || true
107
+ sleep 1
108
+
109
+ # Start Redis in foreground briefly to check for errors
110
+ redis-server --dir /data/redis \
111
  --port 6379 \
112
  --bind 127.0.0.1 \
113
+ --daemonize yes \
114
+ --loglevel notice \
115
+ --logfile /var/log/redis/redis.log
116
+
117
+ sleep 2
118
+
119
+ # Check if Redis is running
120
+ REDIS_RUNNING=false
121
+ for i in {1..10}; do
122
+ if redis-cli ping 2>/dev/null | grep -q PONG; then
123
+ echo "Redis is ready after $i seconds"
124
+ REDIS_RUNNING=true
125
+ break
126
+ fi
127
+ echo "Waiting for Redis... ($i/10)"
128
+ sleep 1
129
+ done
130
+
131
+ if [ "$REDIS_RUNNING" = "false" ]; then
132
+ echo "Redis failed to start. Log output:"
133
+ cat /var/log/redis/redis.log 2>/dev/null || echo "No log found"
134
+ # Try one more time with simpler config
135
+ echo "Retrying Redis with simpler config..."
136
+ redis-server --dir /data/redis --daemonize yes --port 6379 --bind 127.0.0.1
137
+ sleep 2
138
+ fi
139
+
140
+ # Final check
141
+ if redis-cli ping 2>/dev/null | grep -q PONG; then
142
+ echo "=== ALL SERVICES STARTED ==="
143
+ else
144
+ echo "WARNING: Redis may not be running properly"
145
+ fi
146
 
147
+ echo "=== SERVICES STARTED: MongoDB=$(pgrep -x mongod | wc -l), Redis=$(pgrep -x redis-server | wc -l) ==="
148
  EOFSCRIPT
149
 
150
  RUN chmod +x /etc/my_init.d/00_start_services.sh