The weeb for the next gen discord boat - Wamellow wamellow.com
bot discord

containerize

shi.gg ab57ca77 e063b526

verified
Changed files
+46 -14
+25 -7
Dockerfile
··· 1 - FROM node:latest 1 + FROM oven/bun:slim AS base 2 + 2 3 WORKDIR /app 3 4 4 - COPY package.json pnpm-lock.yaml .npmrc ./ 5 + FROM base AS deps 6 + COPY package.json bun.lock* ./ 7 + RUN bun install --no-save --frozen-lockfile 5 8 6 - RUN npm install -g pnpm 9 + FROM base AS builder 10 + WORKDIR /app 11 + COPY --from=deps /app/node_modules ./node_modules 12 + COPY . . 7 13 8 - RUN pnpm install 14 + RUN bun run build 9 15 10 - COPY . . 16 + FROM base AS runner 17 + WORKDIR /app 11 18 12 - RUN pnpm run build 19 + ENV NODE_ENV=production \ 20 + PORT=3000 \ 21 + HOSTNAME="0.0.0.0" 22 + 23 + RUN addgroup --system --gid 1001 nodejs && \ 24 + adduser --system --uid 1001 nextjs 25 + 26 + COPY --from=builder /app/public ./public 27 + COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ 28 + COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static 29 + 30 + USER nextjs 13 31 14 32 EXPOSE 3000 15 33 16 - CMD ["pnpm", "run", "start"] 34 + CMD ["bun", "./server.js"]
+21 -7
docker-compose.yml
··· 1 - version: '3' 2 1 services: 3 - tts: 4 - container_name: mw-web 5 - image: mw-web 6 - restart: unless-stopped 7 - ports: 8 - - "7000:3000" 2 + web: 3 + build: 4 + context: . 5 + dockerfile: Dockerfile 6 + container_name: mw-web 7 + image: mw-web 8 + restart: unless-stopped 9 + ports: 10 + - "7000:3000" 11 + healthcheck: 12 + test: ["CMD", "curl", "-f", "-I", "http://localhost:3000"] 13 + interval: 5m 14 + timeout: 10s 15 + retries: 3 16 + volumes: 17 + - ./.next/cache:/app/.next/cache 18 + - ./.env:/app/.env 19 + dns: 20 + - 1.1.1.1 21 + - 8.8.8.8 22 + - 9.9.9.9