-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathContainerfile
More file actions
41 lines (30 loc) · 1.17 KB
/
Copy pathContainerfile
File metadata and controls
41 lines (30 loc) · 1.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# SPDX-License-Identifier: MPL-2.0
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
#
# Containerfile for dictask
# Build: podman build -t dictask:latest -f Containerfile .
# Run: podman run --rm -it dictask:latest
# Seal: selur seal dictask:latest
# --- Build stage (Rust components) ---
FROM cgr.dev/chainguard/wolfi-base:latest AS build-rust
RUN apk add --no-cache rust cargo sqlite-dev
WORKDIR /build
COPY src/ingest/ src/ingest/
COPY src/transcribe/ src/transcribe/
COPY src/store/ src/store/
COPY schemas/ schemas/
RUN cd src/ingest && cargo build --release
RUN cd src/store && cargo build --release
# --- Runtime stage ---
FROM cgr.dev/chainguard/wolfi-base:latest
RUN apk add --no-cache sqlite
COPY --from=build-rust /build/src/ingest/target/release/dictask-ingest /usr/local/bin/
COPY --from=build-rust /build/src/store/target/release/dictask-store /usr/local/bin/
COPY schemas/ /opt/dictask/schemas/
# Data directory
RUN mkdir -p /data/dictask && chown nonroot:nonroot /data/dictask
ENV DICTASK_DATA_DIR=/data/dictask
ENV DICTASK_DB_PATH=/data/dictask/tasks.db
USER nonroot
VOLUME ["/data/dictask"]
ENTRYPOINT ["/usr/local/bin/dictask-ingest"]