| # -- Base Image -- | |
| FROM node:20-slim | |
| # -- Install Dependencies -- | |
| RUN apt-get update && apt-get install -y \ | |
| git \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # -- App Directory -- | |
| WORKDIR /home/node/app | |
| # -- Copy Source -- | |
| COPY . . | |
| # -- Install Node Modules -- | |
| RUN npm install | |
| # -- Permissions -- | |
| RUN chown -R node:node /home/node/app | |
| # -- Environment Variables -- | |
| ENV NODE_ENV=production | |
| ENV SILLYTAVERN_PORT=7860 | |
| # -- Switch User -- | |
| USER node | |
| # -- Expose Port -- | |
| EXPOSE 7860 | |
| # -- Start Command -- | |
| CMD ["node", "server.js", "--port", "7860", "--listen"] | |