feat: Add @convex-dev/better-auth dependency and refactor Dockerfile to support monorepo workspace builds, updating Turbo build output path.
This commit is contained in:
@@ -32,25 +32,31 @@ RUN bunx turbo build
|
|||||||
# Production stage
|
# Production stage
|
||||||
FROM oven/bun:1-slim AS production
|
FROM oven/bun:1-slim AS production
|
||||||
|
|
||||||
# Set working directory
|
# Set working directory to match builder structure
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# Create non-root user
|
# Create non-root user
|
||||||
RUN addgroup --system --gid 1001 sveltekit
|
RUN addgroup --system --gid 1001 sveltekit
|
||||||
RUN adduser --system --uid 1001 sveltekit
|
RUN adduser --system --uid 1001 sveltekit
|
||||||
|
|
||||||
# Copy built application from base stage
|
# Copy root node_modules (contains hoisted dependencies)
|
||||||
COPY --from=builder --chown=sveltekit:sveltekit /app/apps/web/build ./build
|
COPY --from=builder --chown=sveltekit:sveltekit /app/node_modules ./node_modules
|
||||||
COPY --from=builder --chown=sveltekit:sveltekit /app/apps/web/package.json ./package.json
|
|
||||||
# Copy node_modules from root (Bun manages workspaces centrally)
|
# Copy built application and workspace files
|
||||||
COPY --from=builder --chown=sveltekit:sveltekit /app/apps/web/node_modules ./node_modules
|
COPY --from=builder --chown=sveltekit:sveltekit /app/apps/web/build ./apps/web/build
|
||||||
|
COPY --from=builder --chown=sveltekit:sveltekit /app/apps/web/package.json ./apps/web/package.json
|
||||||
|
# Copy workspace node_modules (contains symlinks to root node_modules)
|
||||||
|
COPY --from=builder --chown=sveltekit:sveltekit /app/apps/web/node_modules ./apps/web/node_modules
|
||||||
|
|
||||||
# Copy any additional files needed for runtime
|
# Copy any additional files needed for runtime
|
||||||
COPY --from=builder --chown=sveltekit:sveltekit /app/apps/web/static ./static
|
COPY --from=builder --chown=sveltekit:sveltekit /app/apps/web/static ./apps/web/static
|
||||||
|
|
||||||
# Switch to non-root user
|
# Switch to non-root user
|
||||||
USER sveltekit
|
USER sveltekit
|
||||||
|
|
||||||
|
# Set working directory to the app
|
||||||
|
WORKDIR /app/apps/web
|
||||||
|
|
||||||
# Expose the port that the app runs on
|
# Expose the port that the app runs on
|
||||||
EXPOSE 5173
|
EXPOSE 5173
|
||||||
|
|
||||||
@@ -60,7 +66,7 @@ ENV PORT=5173
|
|||||||
|
|
||||||
# Health check
|
# Health check
|
||||||
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
|
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
|
||||||
CMD bun --version || exit 1
|
CMD bun --version || exit 1
|
||||||
|
|
||||||
# Start the application
|
# Start the application
|
||||||
CMD ["bun", "./build/index.js"]
|
CMD ["bun", "./build/index.js"]
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import tailwindcss from "@tailwindcss/vite";
|
import tailwindcss from '@tailwindcss/vite';
|
||||||
import { sveltekit } from "@sveltejs/kit/vite";
|
import { sveltekit } from '@sveltejs/kit/vite';
|
||||||
import { defineConfig } from "vite";
|
import { defineConfig } from 'vite';
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
plugins: [tailwindcss(), sveltekit()],
|
plugins: [tailwindcss(), sveltekit()],
|
||||||
resolve: {
|
resolve: {
|
||||||
dedupe: ["lucide-svelte"],
|
dedupe: ['lucide-svelte']
|
||||||
},
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
1
bun.lock
1
bun.lock
@@ -5,6 +5,7 @@
|
|||||||
"": {
|
"": {
|
||||||
"name": "sgse-app",
|
"name": "sgse-app",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@convex-dev/better-auth": "^0.9.7",
|
||||||
"@tanstack/svelte-form": "^1.23.8",
|
"@tanstack/svelte-form": "^1.23.8",
|
||||||
"chart.js": "^4.5.1",
|
"chart.js": "^4.5.1",
|
||||||
"lucide-svelte": "^0.552.0",
|
"lucide-svelte": "^0.552.0",
|
||||||
|
|||||||
@@ -42,7 +42,8 @@
|
|||||||
"lucide-svelte": "^0.552.0",
|
"lucide-svelte": "^0.552.0",
|
||||||
"prettier-plugin-svelte": "^3.4.0",
|
"prettier-plugin-svelte": "^3.4.0",
|
||||||
"svelte-chartjs": "^3.1.5",
|
"svelte-chartjs": "^3.1.5",
|
||||||
"svelte-sonner": "^1.0.5"
|
"svelte-sonner": "^1.0.5",
|
||||||
|
"@convex-dev/better-auth": "^0.9.7"
|
||||||
},
|
},
|
||||||
"packageManager": "bun@1.3.0"
|
"packageManager": "bun@1.3.0"
|
||||||
}
|
}
|
||||||
@@ -5,7 +5,7 @@
|
|||||||
"build": {
|
"build": {
|
||||||
"dependsOn": ["^build"],
|
"dependsOn": ["^build"],
|
||||||
"inputs": ["$TURBO_DEFAULT$", ".env*"],
|
"inputs": ["$TURBO_DEFAULT$", ".env*"],
|
||||||
"outputs": ["dist/**"]
|
"outputs": ["build/**"]
|
||||||
},
|
},
|
||||||
"lint": {
|
"lint": {
|
||||||
"dependsOn": ["^lint"]
|
"dependsOn": ["^lint"]
|
||||||
|
|||||||
Reference in New Issue
Block a user