-
-
Notifications
You must be signed in to change notification settings - Fork 42
Expand file tree
/
Copy pathDockerfile.dev
More file actions
61 lines (50 loc) · 1.9 KB
/
Copy pathDockerfile.dev
File metadata and controls
61 lines (50 loc) · 1.9 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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
FROM docker.io/debian:13-slim
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
ENV NO_WATCHMAN=1
RUN apt-get update && apt-get -y --no-install-recommends install \
build-essential ca-certificates curl ffmpeg git jq && \
rm -rf /var/lib/apt/lists/*
ENV MISE_DATA_DIR="/mise"
ENV MISE_CONFIG_DIR="/mise"
ENV MISE_CACHE_DIR="/mise/cache"
ENV MISE_STATE_DIR="/mise/state"
ENV MISE_INSTALL_PATH="/usr/local/bin/mise"
ENV npm_config_fetch_retries="5"
ENV npm_config_fetch_retry_maxtimeout="120000"
ENV npm_config_fetch_timeout="300000"
ENV PATH="/mise/shims:$PATH"
RUN curl https://mise.run | sh
WORKDIR /app
COPY mise.toml /app/mise.toml
RUN mise trust && mise install
COPY web/fonts /app/web/fonts
COPY package.json pnpm-workspace.yaml pnpm-lock.yaml /app/
COPY deno.json /app/deno.json
COPY deno.lock /app/deno.lock
COPY ai/deno.json /app/ai/deno.json
COPY ai/package.json /app/ai/package.json
COPY federation/deno.json /app/federation/deno.json
COPY federation/package.json /app/federation/package.json
COPY graphql/deno.json /app/graphql/deno.json
COPY models/deno.json /app/models/deno.json
COPY models/package.json /app/models/package.json
COPY web/deno.json /app/web/deno.json
COPY web-next/deno.jsonc /app/web-next/deno.jsonc
COPY web-next/package.json /app/web-next/package.json
# asset-cdn (the Cloudflare Worker) is a pnpm workspace member, so its manifest
# must be present for `--frozen-lockfile` to validate against the lockfile.
COPY asset-cdn/package.json /app/asset-cdn/package.json
COPY patches /app/patches
RUN --mount=type=cache,id=pnpm-store,target=/root/.local/share/pnpm/store \
mise deps install pnpm --force
RUN mise deps install deno --force
COPY . /app
RUN cp .env.sample .env && \
sed -i '/^INSTANCE_ACTOR_KEY=/d' .env && \
echo >> .env && \
echo "INSTANCE_ACTOR_KEY='$(mise run keygen)'" >> .env && \
mise run codegen && \
mise run build:web && \
rm .env
EXPOSE 8000
CMD ["mise", "run", "dev:web"]