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 2 WORKDIR /app 3 4 - COPY package.json pnpm-lock.yaml .npmrc ./ 5 6 - RUN npm install -g pnpm 7 8 - RUN pnpm install 9 10 - COPY . . 11 12 - RUN pnpm run build 13 14 EXPOSE 3000 15 16 - CMD ["pnpm", "run", "start"]
··· 1 + FROM oven/bun:slim AS base 2 + 3 WORKDIR /app 4 5 + FROM base AS deps 6 + COPY package.json bun.lock* ./ 7 + RUN bun install --no-save --frozen-lockfile 8 9 + FROM base AS builder 10 + WORKDIR /app 11 + COPY --from=deps /app/node_modules ./node_modules 12 + COPY . . 13 14 + RUN bun run build 15 16 + FROM base AS runner 17 + WORKDIR /app 18 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 31 32 EXPOSE 3000 33 34 + CMD ["bun", "./server.js"]
+21 -7
docker-compose.yml
··· 1 - version: '3' 2 services: 3 - tts: 4 - container_name: mw-web 5 - image: mw-web 6 - restart: unless-stopped 7 - ports: 8 - - "7000:3000"
··· 1 services: 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