Spaces:
Runtime error
Runtime error
update Dockerfile
Browse files- 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
|
| 123 |
-
|
| 124 |
-
|
| 125 |
-
echo "MongoDB
|
| 126 |
-
sleep
|
| 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 |
-
|
| 159 |
-
pgrep -x
|
| 160 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 161 |
|
| 162 |
echo "=== ALL SERVICES STARTED ==="
|
| 163 |
EOFSCRIPT
|
| 164 |
|
| 165 |
RUN chmod +x /etc/my_init.d/00_start_services.sh
|
| 166 |
|
| 167 |
-
# Debug
|
| 168 |
-
RUN
|
| 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
|