| FROM denoland/deno | |
| # The port that your application listens to. | |
| EXPOSE 7860 | |
| WORKDIR /app | |
| # Prefer not to run as root. | |
| USER deno | |
| # Cache the dependencies as a layer (the following two steps are re-run only when deps.ts is modified). | |
| # Ideally cache deps.ts will download and compile _all_ external files used in main.ts. | |
| COPY deps.ts . | |
| RUN deno cache deps.ts | |
| # These steps will be re-run upon each file change in your working directory: | |
| ADD . . | |
| # Compile the main app so that it doesn't need to be compiled each startup/entry. | |
| RUN deno cache main.ts | |
| CMD ["run", "--allow-net", "main.ts"] | |