nxdev-org commited on
Commit
437eb66
·
1 Parent(s): feca5d0

update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +23 -44
Dockerfile CHANGED
@@ -87,6 +87,7 @@ rm -rf /data/mongo /data/redis /data/overleaf /data/git-bridge 2>/dev/null || tr
87
  mkdir -p /data/mongo /data/redis /data/overleaf /data/git-bridge
88
  mkdir -p /var/log/mongodb /var/log/redis
89
  chmod -R 777 /data /var/log
 
90
  rm -rf /etc/sv/nginx 2>/dev/null || true
91
  rm -rf /var/service/nginx 2>/dev/null || true
92
  rm -rf /etc/service/nginx 2>/dev/null || true
@@ -116,67 +117,45 @@ for port in 80 8080 27017 6379; do
116
  done
117
 
118
  echo "=== STARTING MONGODB ==="
 
 
119
 
120
- /usr/local/bin/mongod --dbpath /data/mongo \
121
  --bind_ip 127.0.0.1 --replSet overleaf --port 27017 \
122
- --logpath /var/log/mongodb/mongodb.log 2>&1 &
123
- MONGOPID=$!
124
-
125
- echo "MongoDB PID: $MONGOPID, waiting..."
126
- sleep 10
127
-
128
- if kill -0 $MONGOPID 2>/dev/null; then
129
- echo "MongoDB started successfully"
130
- echo "Waiting for MongoDB to be ready..."
131
- for i in {1..30}; do
132
- if /usr/local/bin/mongosh --quiet --eval "db.adminCommand('ping')" 2>/dev/null | grep -q "1"; then
133
- echo "MongoDB ready ($i sec)"
134
- /usr/local/bin/mongosh --quiet --eval "rs.initiate({_id:'overleaf',members:[{_id:0,host:'127.0.0.1:27017'}]})" 2>/dev/null || true
135
- break
136
- fi
137
- sleep 1
138
- done
139
- else
140
- echo "MongoDB FAILED! Log contents:"
141
- cat /var/log/mongodb/mongodb.log 2>/dev/null || echo "No log file created"
142
- ls -la /data/mongo/ 2>/dev/null || echo "No data dir"
143
- exit 1
144
- fi
145
 
146
  echo "=== STARTING REDIS ==="
147
  pkill -9 redis-server 2>/dev/null || true
148
- sleep 1
149
 
150
- /usr/local/bin/redis-server --port 6379 --bind 127.0.0.1 \
151
- --dir /data/redis --loglevel debug 2>&1 &
152
- sleep 3
153
 
 
154
  REDIS_CHECK=$(/usr/local/bin/redis-cli ping 2>/dev/null || echo "FAILED")
155
  echo "Redis ping: $REDIS_CHECK"
156
 
157
  echo "=== VERIFICATION ==="
158
- pgrep -x mongod || echo "MongoDB NOT running"
159
- pgrep -x redis-server || echo "Redis NOT running"
160
- /usr/local/bin/redis-cli ping
 
 
 
 
 
161
 
162
  echo "=== ALL SERVICES STARTED ==="
163
  EOFSCRIPT
164
 
165
  RUN chmod +x /etc/my_init.d/00_start_services.sh
166
 
167
- # Debug: check what's listening
168
- RUN cat > /etc/my_init.d/99_debug.sh << 'EOFSCRIPT'
169
- #!/bin/bash
170
- echo "=== DEBUG INFO ==="
171
- echo "Listening ports:"
172
- ss -tlnp 2>/dev/null || netstat -tlnp 2>/dev/null || true
173
- echo "Running processes:"
174
- ps aux | grep -E "nginx|node|mongod|redis" | grep -v grep || true
175
- echo "Testing localhost:80:"
176
- curl -v http://127.0.0.1:80/ 2>&1 | head -20
177
- echo "=== END DEBUG ==="
178
- EOFSCRIPT
179
-
180
  RUN chmod +x /etc/my_init.d/99_debug.sh
181
 
182
  EXPOSE 7860
 
87
  mkdir -p /data/mongo /data/redis /data/overleaf /data/git-bridge
88
  mkdir -p /var/log/mongodb /var/log/redis
89
  chmod -R 777 /data /var/log
90
+ chmod -R 777 /data/mongo /data/redis
91
  rm -rf /etc/sv/nginx 2>/dev/null || true
92
  rm -rf /var/service/nginx 2>/dev/null || true
93
  rm -rf /etc/service/nginx 2>/dev/null || true
 
117
  done
118
 
119
  echo "=== STARTING MONGODB ==="
120
+ pkill -9 mongod 2>/dev/null || true
121
+ sleep 1
122
 
123
+ nohup /usr/local/bin/mongod --dbpath /data/mongo \
124
  --bind_ip 127.0.0.1 --replSet overleaf --port 27017 \
125
+ --logpath /var/log/mongodb/mongodb.log \
126
+ --wiredTigerDirectoryForIndexes >> /var/log/mongodb/mongodb.log 2>&1 < /dev/null &
127
+
128
+ echo "MongoDB started, waiting..."
129
+ sleep 15
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
130
 
131
  echo "=== STARTING REDIS ==="
132
  pkill -9 redis-server 2>/dev/null || true
133
+ sleep 1
134
 
135
+ nohup /usr/local/bin/redis-server --port 6379 --bind 127.0.0.1 \
136
+ --dir /data/redis --loglevel debug >> /var/log/redis/redis.log 2>&1 < /dev/null &
 
137
 
138
+ sleep 5
139
  REDIS_CHECK=$(/usr/local/bin/redis-cli ping 2>/dev/null || echo "FAILED")
140
  echo "Redis ping: $REDIS_CHECK"
141
 
142
  echo "=== VERIFICATION ==="
143
+ for i in {1..10}; do
144
+ if pgrep -x mongod && pgrep -x redis-server; then
145
+ echo "All services running"
146
+ break
147
+ fi
148
+ echo "Waiting for services... $i"
149
+ sleep 2
150
+ done
151
 
152
  echo "=== ALL SERVICES STARTED ==="
153
  EOFSCRIPT
154
 
155
  RUN chmod +x /etc/my_init.d/00_start_services.sh
156
 
157
+ # Debug after container starts
158
+ RUN echo 'sleep 60' > /etc/my_init.d/99_debug.sh
 
 
 
 
 
 
 
 
 
 
 
159
  RUN chmod +x /etc/my_init.d/99_debug.sh
160
 
161
  EXPOSE 7860