Skip to content

fix(docker): bind postgres to localhost only#686

Open
nick-stebbings wants to merge 1 commit intonearai:mainfrom
nick-stebbings:pr/docker-localhost
Open

fix(docker): bind postgres to localhost only#686
nick-stebbings wants to merge 1 commit intonearai:mainfrom
nick-stebbings:pr/docker-localhost

Conversation

@nick-stebbings
Copy link

Summary

The default docker-compose.yml exposes postgres on all interfaces (0.0.0.0:5432), making it reachable from the local network in any docker compose deployment. This binds it to 127.0.0.1:5432:5432 so it's only accessible from the host machine.

Test plan

  • docker compose up still works
  • psql -h 127.0.0.1 -U ironclaw -d ironclaw connects
  • Postgres is not reachable from other machines on the network

🤖 Generated with Claude Code

5432:5432 → 127.0.0.1:5432:5432 — the default docker-compose.yml
exposed postgres on all interfaces, making it reachable from the
local network in any docker compose deployment.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions github-actions bot added the size: XS < 10 changed lines (excluding docs) label Mar 7, 2026
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello, 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 enhances the default security configuration of the Docker Compose setup by ensuring the PostgreSQL database is only accessible from the host machine. This change prevents unintended network exposure of the database to other machines on the local network, thereby improving the security posture of the development environment by default.

Highlights

  • Postgres Binding: The PostgreSQL service in docker-compose.yml was updated to bind to 127.0.0.1 (localhost) instead of 0.0.0.0, restricting its network accessibility to the host machine only.
Changelog
  • docker-compose.yml
    • Updated the PostgreSQL service port binding to localhost.
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.

@github-actions github-actions bot added risk: low Changes to docs, tests, or low-risk modules contributor: new First-time contributor labels Mar 7, 2026
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 correctly enhances security by binding the PostgreSQL service in the Docker Compose setup to localhost. This prevents unintended exposure on local networks. My review includes one suggestion to further improve the configuration's flexibility for developers by making the host port configurable, which can help avoid common port conflicts in local environments.

image: pgvector/pgvector:pg16
ports:
- "5432:5432"
- "127.0.0.1:5432:5432"
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

To improve flexibility for local development, consider making the host port configurable using an environment variable. This will prevent potential port conflicts if a developer already has a service running on port 5432. Using a variable with a default value allows for easy overrides without breaking the default setup.

      - "127.0.0.1:${POSTGRES_PORT:-5432}:5432"

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

Labels

contributor: new First-time contributor risk: low Changes to docs, tests, or low-risk modules size: XS < 10 changed lines (excluding docs)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant