An encrypted personal cloud built on the AT Protocol.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 43 lines 1.2 kB view raw
1FROM oven/bun:1 AS web-deps 2 3WORKDIR /build/web 4COPY web/package.json web/bun.lock ./ 5RUN bun install --frozen-lockfile 6 7FROM zot.sans-self.org/infra/rust-wasm:latest AS wasm-builder 8 9WORKDIR /build 10COPY Cargo.toml Cargo.lock ./ 11COPY crates/ crates/ 12 13RUN wasm-pack build crates/opake-wasm --target web --out-dir ../../web/src/wasm/opake-wasm --out-name opake 14 15FROM web-deps AS web-builder 16 17ARG VITE_APPVIEW_URL=https://appview.opake.app 18ARG VITE_SITE_URL=https://opake.app 19ENV VITE_APPVIEW_URL=$VITE_APPVIEW_URL 20ENV VITE_SITE_URL=$VITE_SITE_URL 21 22COPY web/ ./ 23COPY --from=wasm-builder /build/web/src/wasm/opake-wasm/ ./src/wasm/opake-wasm/ 24 25RUN bun run tsc && bun run vite build 26 27FROM oven/bun:1-slim 28 29RUN groupadd -g 1000 opake || true && useradd -u 1000 -g 1000 -m opake || true 30 31WORKDIR /app 32COPY --from=web-builder --chown=1000:1000 /build/web/dist/ ./dist/ 33COPY --from=web-builder --chown=1000:1000 /build/web/node_modules/ ./node_modules/ 34COPY --from=web-builder --chown=1000:1000 /build/web/package.json ./ 35COPY --from=web-builder --chown=1000:1000 /build/web/serve.ts ./ 36 37USER 1000:1000 38EXPOSE 3000 39 40ENV NODE_ENV=production 41ENV PORT=3000 42 43CMD ["bun", "run", "serve.ts"]