Skip to content
This repository has been archived by the owner on Sep 3, 2024. It is now read-only.

Commit

Permalink
fix: Update Dockerfile and add .dockerignore
Browse files Browse the repository at this point in the history
  • Loading branch information
mariusbegby committed Aug 20, 2023
1 parent ac40865 commit 054a07d
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 17 deletions.
31 changes: 31 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Include any files or directories that you don't want to be copied to your
# container here (e.g., local build artifacts, temporary files, etc.).
#
# For more help, visit the .dockerignore file reference guide at
# https://docs.docker.com/engine/reference/builder/#dockerignore-file

**/.dockerignore
**/.env.example
**/.git
**/.gitignore
**/.gitattributes
**/.github
**/.vscode
**/Dockerfile*
**/node_modules
**/npm-debug.log
**/build
**/dist
**/logs
**/assets
.editorconfig
.eslintrc.json
.prettierrc
CHANGELOG.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE.md
PRIVACY-POLICY.md
README.md
SECURITY.md
TERMS-OF-SERVICE.md
29 changes: 12 additions & 17 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,30 +1,25 @@
# Using Node 18.16.1 (LTS) on Alpine base
FROM node:18.16-alpine
# syntax=docker/dockerfile:1

# Using Node 18.16 (LTS) on Alpine base
ARG NODE_VERSION=18.16
FROM node:${NODE_VERSION}-alpine

# Install npm build dependencies and ffmpeg
RUN apk add --no-cache python3 make build-base ffmpeg git

# Clone Cadence repository - Shallow clone used to avoid including entire git history.
RUN git clone --depth 1 https://github.com/mariusbegby/cadence-discord-bot.git /cadence-discord-bot

# Set work directory for subsequent commands
WORKDIR /cadence-discord-bot

# Install dependencies from package-lock.json and omit dev dependencies
RUN npm ci --omit=dev
# Copy the rest of the source files into the image.
COPY . .

# Remove unnecessary files
RUN rm -rf /assets
RUN rm -rf /.github

# Copy .env and config file to docker container
# Do NOT share the built image with anyone as it will contain the .env file
# Optionally skip this step and set environment variables manually
COPY .env .env
COPY *local.js config/local.js
# Install dependencies from package-lock.json and omit dev dependencies
# Leverage a cache mount to /root/.npm to speed up subsequent builds.
RUN --mount=type=cache,target=/root/.npm \
npm ci --omit=dev

# Deploy Slash Commands to Discord API
RUN npm run deploy

# Startup command to run the bot
CMD [ "npm", "start" ]
CMD [ "npm", "run", "start" ]

0 comments on commit 054a07d

Please # to comment.