diff --git a/Dockerfile b/Dockerfile index 6d8e318..3f8621c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,21 @@ -FROM node:22-alpine - +FROM node:22-alpine AS build WORKDIR /app +COPY package*.json ./ +RUN npm install + COPY . . - -RUN npm i - RUN npm run build -CMD ["npm", "run", "start"] \ No newline at end of file + +# ---------- + +FROM node:22-alpine AS runtime +WORKDIR /app +ENV NODE_ENV=production + +COPY package*.json ./ +RUN npm install --omit=dev +COPY --from=build /app/dist ./dist + +USER node +CMD ["node", "./dist/index.js"] diff --git a/docker-compose.yml b/docker-compose.yml index 56ed46f..d6d09eb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,6 @@ services: - discordbotrewrite: - restart: always + hexerade: + restart: unless-stopped build: . env_file: '.env' ports: diff --git a/package-lock.json b/package-lock.json index ae5d141..d207027 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "e621-discordbot-rewrite", + "name": "discordbot-ng", "lockfileVersion": 3, "requires": true, "packages": { @@ -22,7 +22,6 @@ "@types/express-session": "^1.18.1", "eslint": "^9.27.0", "rimraf": "^6.0.1", - "source-map-support": "^0.5.21", "tsup": "^8.5.0", "tsx": "^4.19.4", "typescript": "^5.8.3", @@ -1996,12 +1995,6 @@ "ieee754": "^1.1.13" } }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, "node_modules/bundle-require": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/bundle-require/-/bundle-require-5.1.0.tgz", @@ -5285,25 +5278,6 @@ "node": ">= 8" } }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/sprintf-js": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", diff --git a/package.json b/package.json index 4a693e2..23ef0c4 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,6 @@ "@types/express-session": "^1.18.1", "eslint": "^9.27.0", "rimraf": "^6.0.1", - "source-map-support": "^0.5.21", "tsup": "^8.5.0", "tsx": "^4.19.4", "typescript": "^5.8.3", @@ -24,7 +23,7 @@ "sqlite3": "^5.1.7" }, "scripts": { - "dev": "tsx watch src/index.ts", + "dev": "tsx watch --enable-source-maps src/index.ts", "start": "node dist/index.js", "build": "npm run clean && npx tsc && npm run copyfiles", "clean": "npx rimraf dist", diff --git a/src/index.ts b/src/index.ts index 85119e5..ccc5196 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,5 +1,4 @@ import { Client as DiscordClient, GatewayIntentBits, MessageFlags, Partials } from 'discord.js'; -import 'source-map-support/register'; import { config } from './config'; import { handleAuditLogCreate, handleBanRemove, handleBulkMessageDelete, handleGuildCreate, handleMemberJoin, handleMessageCreate, handleMessageDelete, handleMessageUpdate, handleThreadCreate, handleVoiceStateUpdate } from './events'; import { Database } from './shared/Database'; diff --git a/tsconfig.json b/tsconfig.json index af3b1b6..ab30c4a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -16,6 +16,7 @@ "ES2021.String" ] }, - "include": ["src/**/*"], - "exclude": ["node_modules/**"] + + "include": ["src"], + "exclude": ["node_modules"] } \ No newline at end of file