Skip to content

Conversation

@SaraVieira
Copy link
Contributor

Description
This makes some changes to the docker compose that allows the PostgreSQL connection to work out of the box if you have any credentials

When downloading and simply running docker compose I was getting a bunch of connection failed in romm-authentik-worker and this fixed it

Checklist
Please check all that apply.

  • I've tested the changes locally
  • I've updated relevant comments
  • I've assigned reviewers for this PR
  • I've added unit tests that cover the changes

Screenshots (if applicable)

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @SaraVieira, 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 addresses and resolves PostgreSQL connection failures experienced when initially running the 'docker compose' setup. It achieves this by standardizing the default PostgreSQL credentials within the 'docker-compose.yml' file, ensuring that the 'postgres' service and the 'authentik' application services are configured with compatible default usernames and passwords, thereby enabling out-of-the-box functionality.

Highlights

  • PostgreSQL Default Credentials Update: The default POSTGRES_PASSWORD for the 'postgres' service was changed from 'postgres' to 'authentik', and POSTGRES_USER from 'postgres' to 'romm'.
  • Authentik Service Configuration Alignment: The AUTHENTIK_POSTGRESQL__USER and AUTHENTIK_POSTGRESQL__PASSWORD environment variables for the 'romm-authentik-server' and 'romm-authentik-worker' services were updated to reflect the new default 'romm' user and 'authentik' password, ensuring consistent database access.
  • Resolved Connection Issues: These changes aim to fix 'connection failed' errors encountered when running 'docker compose' out of the box, making the setup more robust for initial use.
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.

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 the consistency of environment variables in docker-compose.yml for the PostgreSQL setup, which resolves a connection issue for the Authentik services when using a .env file. However, I've identified a critical issue where the PostgreSQL container will fail to start for new users who copy the env.template file, due to an empty password being set. This needs to be addressed to ensure the setup works out-of-the-box.

Comment on lines +64 to +66
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-authentik}
POSTGRES_USER: ${POSTGRES_USER:-romm}
POSTGRES_DB: ${POSTGRES_DB:-authentik}
Copy link
Contributor

Choose a reason for hiding this comment

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

critical

While these changes correctly align the environment variables for the PostgreSQL service and its consumers, there's a critical issue regarding the password handling that could prevent the service from starting for new users.

The env.template file specifies POSTGRES_PASSWORD=. When a user copies this to a .env file, the POSTGRES_PASSWORD variable is set to an empty string. Docker Compose's variable substitution will then use this empty string for ${POSTGRES_PASSWORD:-authentik}, instead of the default value authentik.

The official PostgreSQL Docker image requires a non-empty password and will fail to initialize if POSTGRES_PASSWORD is empty. This will cause the romm-postgres-dev container to fail on startup.

To ensure an out-of-the-box working experience, this needs to be addressed. A simple fix would be to provide a default password in env.template, for example: POSTGRES_PASSWORD=authentik. Since that file is not part of this PR, another solution should be considered to make the setup more resilient.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed!

@gantoine gantoine merged commit f447537 into rommapp:master Jan 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants