Compare commits

...

3 Commits

Author SHA1 Message Date
mplorentz e885fe073f Source .env explicitly during build 2026-02-27 13:35:11 -05:00
mplorentz 3dde0253e6 Fix issue where docker build would rebuild when app did not change 2026-02-27 12:44:34 -05:00
mplorentz eca8981542 Fix pnpm-lock 2026-02-27 12:44:12 -05:00
4 changed files with 472 additions and 375 deletions
+8
View File
@@ -2,3 +2,11 @@ node_modules
android
ios
build
# Git
.git
.gitignore
# Env files (keep .env for build; exclude local overrides)
.env.local
.env.*.local
+17 -10
View File
@@ -1,24 +1,31 @@
FROM node:20-slim
# Stage 1: Build
# Uses .env from build context for config (logo, branding, etc.)
# Optional: docker build --build-arg VITE_BUILD_HASH=$(git rev-parse --short HEAD) -t flotilla .
FROM node:20-slim AS builder
# Install pnpm
RUN npm install -g pnpm@latest
# Set working directory
WORKDIR /app
# Copy package files
COPY package.json pnpm-lock.yaml ./
# Install dependencies
RUN pnpm i
# Copy the rest of the application
# Copy everything (including .env when present) - build.sh will source it
COPY . .
# Build the application
ARG VITE_BUILD_HASH
ENV VITE_BUILD_HASH=${VITE_BUILD_HASH}
ENV NODE_OPTIONS=--max_old_space_size=16384
RUN pnpm run build
# Default to serving the build directory
CMD ["npx", "serve", "build"]
# Stage 2: Runtime
FROM node:20-alpine
WORKDIR /app
# Copy only the built output - no source, no .env, no dev deps
COPY --from=builder /app/build ./build
CMD ["npx", "serve", "build"]
+3
View File
@@ -5,6 +5,9 @@ temp_env=$(declare -p -x)
if [ -f .env.template ]; then
source .env.template
fi
if [ -f .env ]; then
source .env
fi
# Avoid overwriting env vars provided directly
# https://stackoverflow.com/a/69127685/1467342
+444 -365
View File
File diff suppressed because it is too large Load Diff