Spaces:
Sleeping
Sleeping
Download Dockerfile from bardd/mike-backend: direct link, hf CLI and curl.
- Browser
- Download file 2.99 kB
-
https://huggingface.co/spaces/bardd/mike-backend/resolve/main/Dockerfile
- Command line
-
hf download hf://spaces/bardd/mike-backend/Dockerfile
-
curl -L -o Dockerfile https://huggingface.co/spaces/bardd/mike-backend/resolve/main/Dockerfile
2.99 kB
| FROM node:20-bookworm-slim AS backend-build | |
| WORKDIR /build/backend | |
| COPY backend/package*.json ./ | |
| RUN npm ci --legacy-peer-deps | |
| COPY backend/ ./ | |
| RUN npm run build | |
| RUN npm prune --omit=dev --legacy-peer-deps | |
| FROM postgres:16-bookworm AS runtime | |
| SHELL ["/bin/bash", "-o", "pipefail", "-c"] | |
| ENV NODE_ENV=production | |
| ENV DOTNET_ROOT=/opt/dotnet | |
| ENV DOTNET_CLI_HOME=/tmp/dotnet | |
| ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 | |
| ENV DOTNET_CLI_TELEMETRY_OPTOUT=1 | |
| ENV NUGET_PACKAGES=/opt/mike/.nuget/packages | |
| ENV PATH="/opt/mike/python-venv/bin:/opt/dotnet:/usr/lib/postgresql/16/bin:/usr/local/bin:${PATH}" | |
| COPY --from=node:20-bookworm-slim /usr/local/bin/node /usr/local/bin/node | |
| COPY --from=node:20-bookworm-slim /usr/local/bin/npm /usr/local/bin/npm | |
| COPY --from=node:20-bookworm-slim /usr/local/bin/npx /usr/local/bin/npx | |
| COPY --from=node:20-bookworm-slim /usr/local/lib/node_modules /usr/local/lib/node_modules | |
| RUN apt-get update && \ | |
| apt-get install -y --no-install-recommends \ | |
| ca-certificates \ | |
| curl \ | |
| gzip \ | |
| libicu72 \ | |
| libssl3 \ | |
| libstdc++6 \ | |
| libreoffice \ | |
| python3 \ | |
| python3-pip \ | |
| python3-venv \ | |
| tar \ | |
| zlib1g && \ | |
| rm -rf /var/lib/apt/lists/* | |
| RUN curl -fsSL https://dot.net/v1/dotnet-install.sh -o /tmp/dotnet-install.sh && \ | |
| bash /tmp/dotnet-install.sh --channel 8.0 --install-dir /opt/dotnet && \ | |
| rm /tmp/dotnet-install.sh | |
| RUN useradd --create-home --uid 1000 --shell /bin/bash user && \ | |
| mkdir -p /opt/mike/backend /opt/mike/.nuget/packages /data /tmp/dotnet && \ | |
| chmod 777 /data /tmp/dotnet && \ | |
| chown -R user:user /opt/mike | |
| WORKDIR /opt/mike | |
| COPY --chown=user:user backend/ /opt/mike/backend/ | |
| COPY --from=backend-build --chown=user:user /build/backend/dist /opt/mike/backend/dist | |
| COPY --from=backend-build --chown=user:user /build/backend/node_modules /opt/mike/backend/node_modules | |
| RUN rm -f /usr/local/bin/npm /usr/local/bin/npx && \ | |
| ln -s ../lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm && \ | |
| ln -s ../lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx | |
| USER user | |
| RUN python3 -m venv /opt/mike/python-venv && \ | |
| /opt/mike/python-venv/bin/pip install --upgrade pip && \ | |
| /opt/mike/python-venv/bin/pip install --no-cache-dir -r /opt/mike/backend/python-service/requirements.txt | |
| RUN dotnet restore /opt/mike/backend/tools/docx-commenter/docx-commenter.csproj && \ | |
| dotnet build /opt/mike/backend/tools/docx-commenter/docx-commenter.csproj --no-restore && \ | |
| dotnet restore /opt/mike/backend/tools/docx-bookmark-injector/docx-bookmark-injector.csproj && \ | |
| dotnet build /opt/mike/backend/tools/docx-bookmark-injector/docx-bookmark-injector.csproj --no-restore | |
| USER root | |
| COPY --chown=user:user deploy/huggingface/backend/start.sh /opt/mike/deploy/huggingface/backend/start.sh | |
| RUN chmod +x /opt/mike/deploy/huggingface/backend/start.sh | |
| USER user | |
| ENV PGDATA=/tmp/mike-postgres | |
| EXPOSE 7860 | |
| CMD ["/opt/mike/deploy/huggingface/backend/start.sh"] | |