mirror of
https://github.com/kyantech/Palmr.git
synced 2025-11-02 13:03:15 +00:00
feat: enhance Docker setup for local filesystem storage
Update Dockerfile and docker-compose.yaml to support local filesystem storage for uploads and temporary files. Add necessary directories and permissions in the Dockerfile, and configure volumes in docker-compose for persistent storage. Modify .dockerignore to exclude runtime-generated storage directories, ensuring a cleaner build environment.
This commit is contained in:
17
Dockerfile
17
Dockerfile
@@ -77,7 +77,9 @@ RUN addgroup --system --gid 1001 nodejs
|
||||
RUN adduser --system --uid 1001 palmr
|
||||
|
||||
# Create application directories and set permissions
|
||||
RUN mkdir -p /app/server /app/web /home/palmr/.npm /home/palmr/.cache
|
||||
# Include storage directories for filesystem mode
|
||||
RUN mkdir -p /app/server /app/web /home/palmr/.npm /home/palmr/.cache \
|
||||
/app/server/uploads /app/server/temp-chunks /app/server/uploads/logo
|
||||
RUN chown -R palmr:nodejs /app /home/palmr
|
||||
|
||||
# === Copy Server Files ===
|
||||
@@ -89,6 +91,9 @@ COPY --from=server-builder --chown=palmr:nodejs /app/server/node_modules ./node_
|
||||
COPY --from=server-builder --chown=palmr:nodejs /app/server/prisma ./prisma
|
||||
COPY --from=server-builder --chown=palmr:nodejs /app/server/package.json ./
|
||||
|
||||
# Ensure storage directories have correct permissions
|
||||
RUN chown -R palmr:nodejs /app/server/uploads /app/server/temp-chunks
|
||||
|
||||
# === Copy Web Files ===
|
||||
WORKDIR /app/web
|
||||
|
||||
@@ -124,7 +129,7 @@ autostart=true
|
||||
autorestart=true
|
||||
stderr_logfile=/var/log/supervisor/server.err.log
|
||||
stdout_logfile=/var/log/supervisor/server.out.log
|
||||
environment=PORT=3333,HOME="/home/palmr"
|
||||
environment=PORT=3333,HOME="/home/palmr",ENABLE_S3="false",ENCRYPTION_KEY="default-key-change-in-production"
|
||||
|
||||
[program:web]
|
||||
command=node server.js
|
||||
@@ -142,6 +147,11 @@ COPY <<EOF /app/start.sh
|
||||
#!/bin/sh
|
||||
|
||||
echo "Starting Palmr Application..."
|
||||
echo "Storage Mode: \${ENABLE_S3:-false}"
|
||||
|
||||
# Ensure storage directories exist with correct permissions
|
||||
mkdir -p /app/server/uploads /app/server/temp-chunks /app/server/uploads/logo
|
||||
chown -R palmr:nodejs /app/server/uploads /app/server/temp-chunks
|
||||
|
||||
# Start supervisor
|
||||
exec /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf
|
||||
@@ -149,6 +159,9 @@ EOF
|
||||
|
||||
RUN chmod +x /app/start.sh
|
||||
|
||||
# Create volume mount points for persistent storage (filesystem mode)
|
||||
VOLUME ["/app/server/uploads", "/app/server/temp-chunks"]
|
||||
|
||||
# Expose ports
|
||||
EXPOSE 3333 5487
|
||||
|
||||
|
||||
Reference in New Issue
Block a user