Skip to content

Conversation

@chungyau97
Copy link
Contributor

@chungyau97 chungyau97 commented Nov 19, 2025

Description

Modify ./docker/DockerFile file from root to node user.

Results

Build Image Spin up container whoami
Screenshot 2025-11-19 164353 Screenshot 2025-11-19 164407 Screenshot 2025-11-19 164427
Chatflow Web Scrape Upsert Chatflow Web Scrape Message
Screenshot 2025-11-19 164057 Screenshot 2025-11-19 164209
Chatflow Txt File Upsert Chatflow Txt File

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @chungyau97, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on bolstering the security posture of the Docker image by adjusting user permissions within the Dockerfile. It removes the explicit use of the root user during the build process and ensures that the final application execution occurs as the node user, after correctly setting file ownership for the flowise module. This change aligns with best practices for container security, minimizing potential vulnerabilities associated with running processes as root.

Highlights

  • Enhanced Security: The Docker image now runs the application as a non-root user (node), significantly improving security by adhering to the principle of least privilege.
  • Dockerfile Refinement: Removed an unnecessary USER root declaration from the build stage and explicitly set ownership for the flowise module before switching to the node user for application execution.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@chungyau97 chungyau97 added the enhancement New feature or request label Nov 19, 2025
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request improves security by switching the Docker container to run as a non-root node user, which is a commendable change. However, the current implementation has a couple of significant issues. Firstly, the file permission change with chown is too specific and may lead to runtime failures if the application attempts to install global dependencies. Secondly, and more critically, this change will break existing user setups that rely on the provided docker-compose.yml, because the data volume is mounted to a directory that will be inaccessible to the node user. I've provided detailed comments with suggestions to address these points. It's also worth noting that other Dockerfiles in the repository, like docker/worker/Dockerfile, have not been updated to run as a non-root user, leading to inconsistency.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants