diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..7343793 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,8 @@ +node_modules +.git +.env +logs +*.sqlite +.DS_Store +.cursor +.idea diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..cf25b3c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +FROM oven/bun:1 AS base +WORKDIR /app + +# Install dependencies +COPY package.json bun.lock ./ +RUN bun install --frozen-lockfile --production + +# Copy source +COPY . . + +ENV NODE_ENV=production +EXPOSE ${PORT:-5109} + +CMD ["bun", "server.ts"] diff --git a/package.json b/package.json index 3d17d1d..f562721 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,7 @@ "type": "module", "private": true, "scripts": { + "start": "bun server.ts", "start:cli": "bun quipslop.tsx", "start:web": "bun --hot server.ts" }, diff --git a/server.ts b/server.ts index 552c077..25c4eca 100644 --- a/server.ts +++ b/server.ts @@ -83,7 +83,7 @@ const server = Bun.serve({ clients.delete(ws); }, }, - development: { + development: process.env.NODE_ENV === "production" ? false : { hmr: true, console: true, },