mirror of
https://github.com/R0m1k3/noteflow.git
synced 2026-10-11 17:29:37 +02:00
34 lines
717 B
Docker
34 lines
717 B
Docker
FROM node:18-alpine
|
|
|
|
WORKDIR /app
|
|
|
|
# Install dependencies
|
|
COPY package*.json ./
|
|
RUN npm install
|
|
|
|
# Copy app source
|
|
COPY . .
|
|
|
|
# Create directories and set permissions
|
|
RUN mkdir -p /app/data /app/public/uploads && \
|
|
chown -R node:node /app && \
|
|
chmod -R 755 /app && \
|
|
chmod -R 777 /app/data /app/public/uploads
|
|
|
|
# Create an entrypoint script
|
|
RUN echo '#!/bin/sh\n\
|
|
mkdir -p /app/data\n\
|
|
mkdir -p /app/public/uploads\n\
|
|
chmod -R 777 /app/data\n\
|
|
chmod -R 777 /app/public/uploads\n\
|
|
exec node server.js' > /app/docker-entrypoint.sh && \
|
|
chmod +x /app/docker-entrypoint.sh
|
|
|
|
# Switch to non-root user
|
|
USER node
|
|
|
|
# Expose port
|
|
EXPOSE 2222
|
|
|
|
# Use the entrypoint script
|
|
ENTRYPOINT ["/app/docker-entrypoint.sh"] |