Skip to content

Commit 3a46627

Browse files
Fixing non-src stuff
1 parent c959b6a commit 3a46627

3 files changed

Lines changed: 29 additions & 8 deletions

File tree

.env.template

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
NODE_ENV="dev"
22

3+
# Slack API credentials
34
SLACK_BOT_TOKEN=
45
SLACK_SIGNING_SECRET=
56
SLACK_APP_TOKEN=
67

8+
# MongoDB connection URI
79
DATABASE_URI=
810

11+
# Google Sheets configuration
912
FORM_TRACKER_ID=
1013
TRACKER_SHEET_NAME=
1114
FORM_INFO_SHEET_NAME=

.github/workflows/deploy.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ jobs:
2828
- name: Build
2929
run: |-
3030
docker build --tag "cornellappdev/big-red-bot:${{ steps.vars.outputs.sha_short }}" .
31-
# Push the Docker image to Google Container Registry
3231
- name: Publish
3332
run: |-
3433
docker push "cornellappdev/big-red-bot:${{ steps.vars.outputs.sha_short }}"

Dockerfile

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,31 @@
1-
FROM node:24.13.1
1+
# Build stage
2+
FROM node:24.13.1-alpine AS builder
23

3-
RUN mkdir /usr/app
44
WORKDIR /usr/app
55

6-
COPY package.json .
7-
COPY package-lock.json .
6+
COPY package.json package-lock.json ./
7+
RUN npm ci --only=production && npm cache clean --force
8+
9+
# Production stage
10+
FROM node:24.13.1-alpine
11+
12+
WORKDIR /usr/app
13+
14+
# Copy dependencies from builder
15+
COPY --from=builder /usr/app/node_modules ./node_modules
16+
17+
# Copy application files
18+
COPY package.json package-lock.json ./
19+
COPY tsconfig.json ./
20+
COPY src ./src
21+
22+
# Run as non-root user
23+
RUN addgroup -g 1001 -S nodejs && \
24+
adduser -S nodejs -u 1001 && \
25+
chown -R nodejs:nodejs /usr/app
26+
27+
USER nodejs
28+
29+
EXPOSE 3000
830

9-
RUN npm ci
10-
COPY . .
11-
EXPOSE 3000 8000
1231
CMD ["npm", "start"]

0 commit comments

Comments
 (0)