
- Flatten directory structure by moving files from astro-church-website/ to root - Remove church-core subdirectory in favor of inline Rust library - Update .gitignore to properly exclude build artifacts, generated files, and dependencies - Add environment variables, IDE files, and coverage reports to gitignore - Include generated CSS files and native bindings in ignore patterns
29 lines
654 B
Docker
29 lines
654 B
Docker
FROM node:20-bullseye
|
|
|
|
# Install Rust
|
|
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
|
ENV PATH="/root/.cargo/bin:${PATH}"
|
|
|
|
# Set working directory
|
|
WORKDIR /app
|
|
|
|
# Copy the church-core dependency first
|
|
COPY church-core /church-core
|
|
|
|
# Copy package files
|
|
COPY astro-church-website/package*.json ./
|
|
|
|
# Install Node dependencies
|
|
RUN npm install
|
|
|
|
# Copy source code
|
|
COPY astro-church-website .
|
|
|
|
# Build native bindings and Astro site
|
|
RUN npm run build
|
|
|
|
# Create output directory
|
|
RUN mkdir -p /output && \
|
|
cp -r dist/ /output/ && \
|
|
cp *.node /output/ && \
|
|
cp package.json index.* *.cjs *.mjs /output/ 2>/dev/null || true |