feat: add 65 production-ready docker-compose configurations for self-hosting

This commit is contained in:
AltStack Bot
2026-02-26 00:56:41 +05:30
parent cf52b6789b
commit f1a498fd9d
125 changed files with 2546 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
# Dockerfile for AFFiNE
# Stage 1: Build
FROM node:20-alpine AS builder
# Install build dependencies
RUN apk add --no-cache libc6-compat python3 make g++
WORKDIR /app
# Copy dependency files
COPY package.json yarn.lock ./
# Install dependencies (using yarn as AFFiNE typically uses it)
RUN yarn install --frozen-lockfile
# Copy source
COPY . .
# Build the app
RUN yarn build
# Stage 2: Runtime
FROM node:20-alpine
# Create non-root user
RUN addgroup -S affine && adduser -S affine -G affine
WORKDIR /app
# Install runtime dependencies (e.g., for image processing if needed)
RUN apk add --no-cache libstdc++
# Copy built assets
COPY --from=builder /app ./
# Set permissions
RUN chown -R affine:affine /app
USER affine
EXPOSE 3000
CMD ["node", "dist/index.js"]