9router / Dockerfile
Jay Mii
fix: migrate huggingface-cli → hf (deprecated CLI breaks backup/restore)
1f04bea
FROM node:20-slim
WORKDIR /app
# build-deps (node-gyp toolchain) + runtime tools for bucket sync:
# - python3 + huggingface_hub: HF Dataset push/pull
# - sqlite3: safe online snapshot via `.backup`
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
git \
python3 \
python3-pip \
sqlite3 \
make \
g++ \
&& rm -rf /var/lib/apt/lists/*
RUN pip install --no-cache-dir --break-system-packages "huggingface_hub[cli]>=1.15.0"
RUN git clone https://github.com/decolua/9router.git .
RUN npm install --legacy-peer-deps
RUN npm run build
# Keep sync scripts outside /app/ so they survive any app-level cleanup
# and aren't picked up by the build's file scanners.
COPY start.sh backup.sh /opt/9router-sync/
RUN sed -i 's/\r$//' /opt/9router-sync/start.sh /opt/9router-sync/backup.sh \
&& chmod 0755 /opt/9router-sync/start.sh /opt/9router-sync/backup.sh
ENV PORT=7860
ENV HOSTNAME=0.0.0.0
ENV NODE_ENV=production
ENV DATA_DIR=/app/data
EXPOSE 7860
CMD ["/opt/9router-sync/start.sh"]