Files
NotesAgentic/server sync/Dockerfile
T

25 lines
905 B
Docker

FROM node:22-alpine AS console
WORKDIR /console
RUN corepack enable
COPY console/package.json console/pnpm-lock.yaml ./
RUN pnpm install --frozen-lockfile
COPY console ./
RUN pnpm build
FROM python:3.12-slim
ARG OPENNEXUS_SYNC_VERSION=0.3.1-alpha.3
LABEL org.opencontainers.image.title="OpenNexus Server Sync" \
org.opencontainers.image.version="${OPENNEXUS_SYNC_VERSION}" \
org.opencontainers.image.source="https://gitea.kronecker.cc/Kronecker/NotesAgentic"
COPY --from=ghcr.io/astral-sh/uv:0.9.24 /uv /bin/uv
WORKDIR /service
COPY pyproject.toml uv.lock ./
RUN uv sync --frozen --no-dev
COPY sync_server ./sync_server
COPY --from=console /sync_server/static ./sync_server/static
RUN useradd --uid 10001 --create-home opennexus && mkdir /staging && chown opennexus /staging
USER 10001
ENV SYNC_STAGING_DIR=/staging
EXPOSE 8080
CMD ["/service/.venv/bin/python", "-m", "sync_server", "serve"]