[BUILD] Fix node_modules/.bin permissions with explicit chmod (fix) | ApprovalToken: AT-202512310902
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed

This commit is contained in:
Ehsan.Asadi
2025-12-31 09:02:50 +03:30
parent aa9e6154b8
commit 4e244b1a91

View File

@@ -66,6 +66,13 @@ RUN cd /build/peikarband && \
reflex init --loglevel debug || true && \
reflex export --frontend-only --no-zip --loglevel debug || echo "Export completed with warnings"
# Ensure executable permissions for node_modules/.bin files in builder stage
# This ensures they are preserved when copying to runtime stage
RUN if [ -d /build/peikarband/.web/node_modules/.bin ]; then \
find /build/peikarband/.web/node_modules/.bin -type f -exec chmod +x {} \; && \
echo "✅ Set executable permissions for .bin files in builder"; \
fi
# Note: reflex export already builds and installs everything needed
# No additional npm install is required
RUN echo "Frontend built by reflex export"
@@ -112,18 +119,22 @@ COPY --from=builder /usr/local/bin /usr/local/bin
# Copy application code to /app/peikarband/ to create peikarband.peikarband structure
# With app_name="peikarband", Reflex expects to find peikarband.peikarband module
COPY --from=builder --chown=peikarband:peikarband /build/peikarband /app/peikarband
# Use --chmod to preserve executable permissions for node_modules/.bin
COPY --from=builder --chown=peikarband:peikarband --chmod=755 /build/peikarband /app/peikarband
# Copy entrypoint script
COPY docker/entrypoint.sh /usr/local/bin/entrypoint.sh
RUN chmod +x /usr/local/bin/entrypoint.sh
# Create necessary directories
RUN mkdir -p /app/data /app/logs /app/uploaded_files && \
chown -R peikarband:peikarband /app
RUN mkdir -p /app/data /app/logs /app/uploaded_files
# Set proper permissions
RUN chmod -R 755 /app && \
# Set proper permissions for application files
# Explicitly set executable permissions for node_modules/.bin files
RUN if [ -d /app/peikarband/.web/node_modules/.bin ]; then \
chmod +x /app/peikarband/.web/node_modules/.bin/* && \
echo "✅ Set executable permissions for .bin files"; \
fi && \
chmod -R 777 /app/data /app/logs /app/uploaded_files
# Environment variables