mirror of
https://github.com/getnora-io/nora.git
synced 2026-04-12 09:10:32 +00:00
Pin scorecard-action and codeql-action to commit SHA in scorecard.yml. Pin base images to digest in Dockerfile.redos and Dockerfile.astra. Replace curl|bash with direct binary download for actionlint. Remove unused pip install cargo-audit-sarif.
32 lines
938 B
Docker
32 lines
938 B
Docker
# syntax=docker/dockerfile:1.4
|
|
# NORA on Astra Linux SE base (Debian-based, FSTEC-certified)
|
|
# Binary is pre-built by CI and passed via context
|
|
FROM debian:bookworm-slim@sha256:f06537653ac770703bc45b4b113475bd402f451e85223f0f2837acbf89ab020a
|
|
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends ca-certificates curl \
|
|
&& rm -rf /var/lib/apt/lists/* \
|
|
&& groupadd -r nora && useradd -r -g nora -d /data -s /usr/sbin/nologin nora \
|
|
&& mkdir -p /data && chown nora:nora /data
|
|
|
|
COPY --chown=nora:nora nora /usr/local/bin/nora
|
|
|
|
ENV RUST_LOG=info
|
|
ENV NORA_HOST=0.0.0.0
|
|
ENV NORA_PORT=4000
|
|
ENV NORA_STORAGE_MODE=local
|
|
ENV NORA_STORAGE_PATH=/data/storage
|
|
ENV NORA_AUTH_TOKEN_STORAGE=/data/tokens
|
|
|
|
EXPOSE 4000
|
|
|
|
VOLUME ["/data"]
|
|
|
|
USER nora
|
|
|
|
HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
|
|
CMD curl -sf http://localhost:4000/health || exit 1
|
|
|
|
ENTRYPOINT ["/usr/local/bin/nora"]
|
|
CMD ["serve"]
|