agent-nav-3d / Dockerfile
Zelin Deploy
v36.0 LIBRE - 100% AI-driven, no boot sequence, active reflexes, robust GLM-4 API
4b90244
Raw
History Blame Contribute Delete
2.58 kB
FROM node:20-slim
# Zelin v31.0 - Perfect Survivor (Rich Perception, Pre-seeded Skills, Benchmark System)
# ARG forces Docker cache invalidation on every version bump
ARG CACHEBUST=v36.0.0
RUN echo "Building v36.0 LIBRE - 100% AI-driven (cachebust: $CACHEBUST)"
RUN apt-get update && apt-get install -y --no-install-recommends \
openjdk-17-jre-headless curl wget python3 python3-pip ca-certificates unzip \
&& rm -rf /var/lib/apt/lists/*
RUN pip3 install fastapi uvicorn python-multipart --break-system-packages 2>/dev/null || true
RUN ARCH=$(dpkg --print-architecture) && \
BORE_ARCH="x86_64" && \
if [ "$ARCH" = "arm64" ] || [ "$ARCH" = "aarch64" ]; then BORE_ARCH="aarch64"; fi && \
curl -fSL "https://github.com/ekzhang/bore/releases/download/v0.5.1/bore-v0.5.1-${BORE_ARCH}-unknown-linux-musl.tar.gz" -o /tmp/bore.tar.gz && \
tar xzf /tmp/bore.tar.gz -C /tmp/ && \
mv /tmp/bore /usr/local/bin/bore && chmod +x /usr/local/bin/bore && \
rm -f /tmp/bore.tar.gz
# Pre-compiled NoInvalidKick (Java 17 / class v61)
COPY NoInvalidKick.jar /app/NoInvalidKick.jar
RUN echo "[Build] NoInvalidKick source JAR: $(ls -la /app/NoInvalidKick.jar | awk '{print $5}') bytes" && \
mkdir -p /app/server/plugins
# Download ViaVersion plugins
RUN wget -qO /app/server/plugins/ViaVersion.jar "https://github.com/ViaVersion/ViaVersion/releases/download/4.9.2/ViaVersion-4.9.2.jar" 2>/dev/null || echo "ViaVersion failed" && \
wget -qO /app/server/plugins/ViaBackwards.jar "https://github.com/ViaVersion/ViaBackwards/releases/download/4.9.1/ViaBackwards-4.9.1.jar" 2>/dev/null || echo "ViaBackwards failed" && \
wget -qO /app/server/plugins/ViaRewind.jar "https://github.com/ViaVersion/ViaRewind/releases/download/3.0.5/ViaRewind-3.0.5.jar" 2>/dev/null || echo "ViaRewind failed" && \
echo "[Build] All build plugins:" && ls -la /app/server/plugins/
ENV NODE_OPTIONS="--max-old-space-size=2048" UV_THREADPOOL_SIZE=8
WORKDIR /app
COPY package.json package-lock.json* ./
RUN npm install --production 2>&1 | tail -3 || npm install --legacy-peer-deps 2>&1 | tail -3 || true
COPY . .
RUN mkdir -p /app/server/plugins /app/logs && \
echo "[Build] bot.js version check:" && head -3 /app/bot.js && \
echo "[Build] v31 architecture check..." && grep -c 'PERFECT SURVIVOR' /app/bot.js || echo "WARNING: v31 marker not found in bot.js!"
ENV PORT=7860 NODE_ENV=production
EXPOSE 7860
HEALTHCHECK --interval=30s --timeout=10s --start-period=180s --retries=5 \
CMD curl -f http://localhost:7860/health || exit 1
CMD ["bash", "/app/start.sh"]