Ryujinx-Ldn-Website/Dockerfile
TSRBerry d0ab84a254
Switch to TypeScript and express & Add stats API (#1)
* Switch to node package

Setup environment for:
- Typescript
- express with ejs as the view engine

* Apply prettier formatting

* Read API stats from Redis

* Apply prettier formatting

* Add Dockerfile

* Add environment variables for configuration to README.md

* Log redis errors correctly

* Connect to redis before executing requests

* Rename json properties to match the current ones

* Configure Redis error handler and client correctly

* Remove workflow to fix pnpm dependencies

GitHub supports pnpm for dependabot natively now:
https://github.blog/changelog/2023-06-12-dependabot-version-updates-now-supports-pnpm/

* Add REDIS_SOCKET env var and prefer it over REDIS_URL

* Add default.nix

* Add SOCKET_PATH env var and prefer it over HOST and PORT

* Bump website version

* Add node symlink to output directory

* Add DATA_PATH env var

* Apply prettier formatting

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-07-02 04:05:12 +02:00

26 lines
698 B
Docker

FROM node:lts-hydrogen as common
ENV NPM_CONFIG_PREFIX=/home/node/.npm-global
ENV PATH=$PATH:/home/node/.npm-global/bin
RUN npm i -g pnpm
WORKDIR /home/node/app
FROM common as build
COPY . /home/node/app
RUN pnpm install --frozen-lockfile
RUN pnpm build
FROM common as app
COPY --from=build --chown=node:node /home/node/app/dist /home/node/app/dist
COPY --from=build --chown=node:node /home/node/app/public /home/node/app/public
COPY --from=build --chown=node:node /home/node/app/package.json /home/node/app/pnpm-lock.yaml /home/node/app/
COPY --from=build --chown=node:node /home/node/app/node_modules /home/node/app/node_modules
RUN mkdir /home/node/app/data
ENTRYPOINT [ "node", "." ]