Files
signal_encryption_poc/Dockerfile
Atridad Lahiji b61f664825
Some checks failed
Deploy Encrypted Todo App / build-and-push (push) Has been cancelled
plssssss
2025-06-16 09:24:40 -06:00

35 lines
657 B
Docker

FROM node:20-alpine
WORKDIR /app
# Install pnpm globally
RUN npm install -g pnpm
# Copy dependency files first for better caching
COPY package.json pnpm-lock.yaml ./
# Install dependencies
RUN pnpm install --frozen-lockfile --prod
# Copy application files
COPY server.js todo-service.js signal-crypto.js ./
COPY public/ ./public/
COPY .env* ./
# Create data directory and set permissions
RUN mkdir -p /app/data && chown -R node:node /app
# Set environment variables
ENV NODE_ENV=production
ENV SQLITE_DB_PATH=/app/data/db.db
ENV PORT=3000
# Expose port
EXPOSE 3000
# Switch to non-root user
USER node
# Start application
CMD ["node", "server.js"]