grain.social is a photo sharing platform built on atproto.
1FROM denoland/deno:2.3.3 AS builder
2
3WORKDIR /app
4
5COPY . .
6
7# Give ownership to deno user and cache dependencies
8RUN chown -R deno:deno /app && \
9 deno cache ./src/main.tsx
10
11RUN deno task build
12
13FROM denoland/deno:alpine-2.3.3
14
15COPY --from=flyio/litefs:0.5 /usr/local/bin/litefs /usr/local/bin/litefs
16COPY litefs.yml /etc/litefs.yml
17
18RUN apk add --no-cache ca-certificates fuse3 sqlite
19
20WORKDIR /app
21
22COPY --from=builder $DENO_DIR $DENO_DIR
23COPY --from=builder /app .
24
25# Run LiteFS as the entrypoint. After it has connected and sync'd with the
26# cluster, it will run the commands listed in the "exec" field of the config.
27ENTRYPOINT ["litefs", "mount"]