Files
voculinux/web/Dockerfile
T
xavierk 80a3792576
CI / security (pull_request) Failing after 1m25s
CI / lint (pull_request) Failing after 34s
CI / ai-review (pull_request) Successful in 25s
chore: import vocalinux project
Import the vocalinux source tree (tray app, Next.js site in web/,
packaging, installers, docs and tests) on top of the Gitea template
commit. The project README replaces the template README, and the
template CI files (.gitea/workflows/ci.yml, .jscpd.json, CI.md) are kept.
2026-11-06 11:51:44 +05:30

40 lines
1.1 KiB
Docker

# Base image for development dependencies
FROM oven/bun:1 AS base
# No need for pnpm installation since we'll use bun
# Install common dependencies that are likely to be used in Next.js projects
FROM base AS deps
WORKDIR /app
# Copy only package files for efficient caching
COPY . .
# Install dependencies
RUN bun install
# Install git and configure it
RUN apt-get update -y && apt-get install -y git && \
cd /app && \
git init && \
git config --system --add safe.directory /app && \
git config --system user.name "creatr-agent" && \
git config --system user.email "creatr-agent@getcreatr.com" && \
git add . && \
git commit -m "Initial Commit"
# Create a separate stage for exporting
FROM alpine:latest AS export-stage
# Create tar archive of the source code (excluding node_modules)
COPY --from=deps /app /source
RUN cd /source && \
tar -czf /source.tar.gz --exclude=node_modules .
# Copy node_modules to a separate location for volume mounting
COPY --from=deps /app/node_modules /deps/node_modules
# Clean up the source directory and extract the tar
RUN rm -rf /source/* && \
mv /source.tar.gz /source/