Skip to content

Commit 28a6fec

Browse files
committed
Fix providing build arg for the Stripe key
1 parent a7ef5dd commit 28a6fec

File tree

5 files changed

+20
-27
lines changed

5 files changed

+20
-27
lines changed

.github/workflows/deploy.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,8 @@ jobs:
137137
working-directory: frontend
138138
env:
139139
FLY_API_TOKEN: ${{ secrets.FLY_TOKEN }}
140-
run: flyctl deploy --config ${{ needs.setup.outputs.config }} --remote-only
140+
NEXT_PUBLIC_STRIPE_KEY: ${{ secrets.NEXT_PUBLIC_STRIPE_KEY }}
141+
run: flyctl deploy --config ${{ needs.setup.outputs.config }} --remote-only --build-arg NEXT_PUBLIC_STRIPE_KEY=${{ secrets.NEXT_PUBLIC_STRIPE_KEY }}
141142
- name: Print App URL
142143
working-directory: frontend
143144
env:

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ clean-data:
1313
rm -rf frontend/.next
1414

1515
deploy-frontend:
16-
cd frontend && fly deploy
16+
cd frontend && fly deploy --build-arg NEXT_PUBLIC_STRIPE_KEY=$(NEXT_PUBLIC_STRIPE_KEY)
1717

1818
deploy-backend:
1919
cd python-backend && fly deploy
@@ -28,7 +28,7 @@ deploy-search:
2828
cd search && fly deploy
2929

3030
deploy-frontend-prod:
31-
cd frontend && fly deploy --config fly.prod.toml
31+
cd frontend && fly deploy --config fly.prod.toml --build-arg NEXT_PUBLIC_STRIPE_KEY=$(NEXT_PUBLIC_STRIPE_KEY)
3232

3333
deploy-backend-prod:
3434
cd python-backend && fly deploy --config fly.prod.toml

frontend/Dockerfile.prod

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,39 @@
1+
# Builder stage
12
FROM node:18-alpine AS builder
23

4+
WORKDIR /app
5+
6+
# Install dependencies
7+
COPY package.json package-lock.json ./
8+
RUN npm ci
9+
10+
# Copy application code
11+
COPY . .
12+
313
# Define build arguments
414
ARG NEXT_PUBLIC_API_URL
515
ARG NEXT_PUBLIC_POCKETBASE_URL
616
ARG NEXT_PUBLIC_SEARCH_URL
717
ARG NEXT_PUBLIC_MEILI_URL
8-
9-
WORKDIR /app
18+
ARG NEXT_PUBLIC_STRIPE_KEY
1019

1120
# Set environment variables for build time
1221
ENV NEXT_PUBLIC_API_URL=${NEXT_PUBLIC_API_URL}
1322
ENV NEXT_PUBLIC_POCKETBASE_URL=${NEXT_PUBLIC_POCKETBASE_URL}
1423
ENV NEXT_PUBLIC_SEARCH_URL=${NEXT_PUBLIC_SEARCH_URL}
1524
ENV NEXT_PUBLIC_MEILI_URL=${NEXT_PUBLIC_MEILI_URL}
16-
17-
# Install dependencies
18-
COPY package.json package-lock.json ./
19-
RUN npm ci
20-
21-
# Copy application code
22-
COPY . .
25+
ENV NEXT_PUBLIC_STRIPE_KEY=${NEXT_PUBLIC_STRIPE_KEY}
2326

2427
# Build the application
2528
RUN npm run build
2629

27-
# Production image
30+
31+
# Runner stage
2832
FROM node:18-alpine AS runner
2933
WORKDIR /app
3034

3135
ENV NODE_ENV production
3236

33-
# Pass build arguments to runtime environment variables
34-
ARG NEXT_PUBLIC_API_URL
35-
ARG NEXT_PUBLIC_POCKETBASE_URL
36-
ARG NEXT_PUBLIC_SEARCH_URL
37-
ARG NEXT_PUBLIC_MEILI_URL
38-
39-
ENV NEXT_PUBLIC_API_URL=${NEXT_PUBLIC_API_URL}
40-
ENV NEXT_PUBLIC_POCKETBASE_URL=${NEXT_PUBLIC_POCKETBASE_URL}
41-
ENV NEXT_PUBLIC_SEARCH_URL=${NEXT_PUBLIC_SEARCH_URL}
42-
ENV NEXT_PUBLIC_MEILI_URL=${NEXT_PUBLIC_MEILI_URL}
43-
4437
# Add non-root user for security
4538
RUN addgroup --system --gid 1001 nodejs
4639
RUN adduser --system --uid 1001 nextjs

frontend/fly.prod.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ primary_region = "ewr" # Change this to your preferred region
88
NEXT_PUBLIC_POCKETBASE_URL = "https://localmart-pocketbase.fly.dev"
99
NEXT_PUBLIC_SEARCH_URL = "https://localmart-search.fly.dev"
1010
NEXT_PUBLIC_MEILI_URL = "https://localmart-meilisearch.fly.dev"
11-
NEXT_PUBLIC_STRIPE_KEY = "${NEXT_PUBLIC_STRIPE_KEY}"
1211

1312
[env]
1413
NODE_ENV = "production"

frontend/fly.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ primary_region = "ewr" # Change this to your preferred region
44
[build]
55
dockerfile = "Dockerfile.prod"
66
[build.args]
7+
NODE_ENV = "production"
78
NEXT_PUBLIC_API_URL = "https://localmart-backend.fly.dev"
9+
NEXT_PUBLIC_MEILI_URL = "https://localmart-meilisearch.fly.dev"
810
NEXT_PUBLIC_POCKETBASE_URL = "https://localmart-pocketbase.fly.dev"
911
NEXT_PUBLIC_SEARCH_URL = "https://localmart-search.fly.dev"
10-
NEXT_PUBLIC_MEILI_URL = "https://localmart-meilisearch.fly.dev"
11-
NEXT_PUBLIC_STRIPE_KEY = "${NEXT_PUBLIC_STRIPE_KEY}"
1212

1313
[env]
1414
NODE_ENV = "production"

0 commit comments

Comments
 (0)