Highly ambitious ATProtocol AppView service and sdks
1FROM denoland/deno:2.3.3
2
3# Install sqlite3
4RUN apt-get update && apt-get install -y sqlite3 && rm -rf /var/lib/apt/lists/*
5
6WORKDIR /app
7
8# Copy workspace lock file and all Deno packages
9COPY --chown=deno:deno deno.lock /app/deno.lock
10COPY --chown=deno:deno deno.json /app/deno.json
11COPY --chown=deno:deno frontend/ /app/frontend/
12COPY --chown=deno:deno frontend-v2/ /app/frontend-v2/
13COPY --chown=deno:deno packages/oauth/ /app/packages/oauth/
14COPY --chown=deno:deno packages/codegen/ /app/packages/codegen/
15COPY --chown=deno:deno packages/session/ /app/packages/session/
16COPY --chown=deno:deno packages/cli/ /app/packages/cli/
17COPY --chown=deno:deno packages/lexicon/ /app/packages/lexicon/
18COPY --chown=deno:deno packages/client/ /app/packages/client/
19COPY --chown=deno:deno docs/ /app/docs/
20
21# Ensure proper permissions for node_modules directories
22RUN mkdir -p /app/frontend/node_modules /app/node_modules && \
23 chown -R deno:deno /app
24
25# Switch to deno user before caching
26USER deno
27
28# Cache from frontend directory
29RUN deno cache ./frontend/src/main.ts
30EXPOSE 8080
31
32CMD ["run", "-A", "./frontend/src/main.ts"]