Files
altstack-data/deployments/uptime-kuma/Dockerfile

39 lines
650 B
Docker

# Dockerfile for Uptime Kuma
# Stage 1: Build
FROM node:20-alpine AS builder
# Install build dependencies
RUN apk add --no-cache python3 make g++
WORKDIR /app
# Copy dependency files
COPY package.json package-lock.json ./
# Install dependencies
RUN npm ci
# Copy source
COPY . .
# Stage 2: Runtime
FROM node:20-alpine
# Create non-root user
RUN addgroup -S uptimekuma && adduser -S uptimekuma -G uptimekuma
WORKDIR /app
# Copy built assets and node_modules from builder
COPY --from=builder /app ./
# Set permissions
RUN chown -R uptimekuma:uptimekuma /app
USER uptimekuma
EXPOSE 3001
# Start Uptime Kuma
CMD ["node", "server/server.js"]