From edeec07466009b375a77012f22c59fa1921a97aa Mon Sep 17 00:00:00 2001 From: Shahed Nasser Date: Tue, 14 Nov 2023 12:27:38 +0200 Subject: [PATCH] docs: added troubleshooting for postgres docker container (#5629) * docs: added troubleshooting for postgres docker container * fix component name --- www/apps/docs/content/create-medusa-app.mdx | 5 ++++ .../content/development/backend/install.mdx | 5 ++++ .../create-medusa-app-errors.mdx | 7 ++++++ .../troubleshooting/database-error.mdx | 5 ++++ .../database-errors/_docker.md | 25 +++++++++++++++++++ 5 files changed, 47 insertions(+) create mode 100644 www/apps/docs/content/troubleshooting/database-errors/_docker.md diff --git a/www/apps/docs/content/create-medusa-app.mdx b/www/apps/docs/content/create-medusa-app.mdx index 1de434facc..993bec2ffa 100644 --- a/www/apps/docs/content/create-medusa-app.mdx +++ b/www/apps/docs/content/create-medusa-app.mdx @@ -16,6 +16,7 @@ import ConnectionErrorSection from './troubleshooting/database-errors/_connectio import FreshInstallationSection from './troubleshooting/awilix-resolution-error/_fresh-installation.md' import EaddrinuseSection from './troubleshooting/eaddrinuse.md' import InvalidTokenError from './troubleshooting/create-medusa-app-errors/_no-browser-token-error.md' +import PostgresDockerError from './troubleshooting/database-errors/_docker.md' # Install Medusa with create-medusa-app @@ -220,6 +221,10 @@ Based on what you're building, you can find a development path for you in the Re title: 'Error: EADDRINUSE', content: }, + { + title: "Can't Connect to PostgreSQL Docker Container", + content: + }, { title: "EAGAIN error", content: diff --git a/www/apps/docs/content/development/backend/install.mdx b/www/apps/docs/content/development/backend/install.mdx index 07aad5664f..a9bef887b5 100644 --- a/www/apps/docs/content/development/backend/install.mdx +++ b/www/apps/docs/content/development/backend/install.mdx @@ -11,6 +11,7 @@ import SaslSection from '../../troubleshooting/database-errors/_sasl.md' import ConnectionErrorSection from '../../troubleshooting/database-errors/_connection-error.md' import FreshInstallationSection from '../../troubleshooting/awilix-resolution-error/_fresh-installation.md' import EaddrinuseSection from '../../troubleshooting/eaddrinuse.md' +import DockerSection from '../../troubleshooting/database-errors/_docker.md' # Install Medusa Backend @@ -98,6 +99,10 @@ curl localhost:9000/store/products title: 'Error: SASL: SCRAM-SERVER-FIRST-MESSAGE: Client password must be a string', content: }, + { + title: "Can't Connect to PostgreSQL Docker Container", + content: + }, { title: 'Error: connect ECONNREFUSED ::1:5432', content: diff --git a/www/apps/docs/content/troubleshooting/create-medusa-app-errors.mdx b/www/apps/docs/content/troubleshooting/create-medusa-app-errors.mdx index 12adf39e84..8260021468 100644 --- a/www/apps/docs/content/troubleshooting/create-medusa-app-errors.mdx +++ b/www/apps/docs/content/troubleshooting/create-medusa-app-errors.mdx @@ -5,6 +5,7 @@ title: 'Common Create-React-App Errors' import TypeError from './create-medusa-app-errors/_typeerror.md' import OtherErrors from './create-medusa-app-errors/_other-errors.mdx' import InvalidTokenError from './create-medusa-app-errors/_no-browser-token-error.md' +import DockerSection from "./database-errors/_docker.md" ## TypeError: cmd is not a function @@ -18,6 +19,12 @@ import InvalidTokenError from './create-medusa-app-errors/_no-browser-token-erro --- +## Can't Connect to PostgreSQL Docker Container + + + +--- + ## Other Errors \ No newline at end of file diff --git a/www/apps/docs/content/troubleshooting/database-error.mdx b/www/apps/docs/content/troubleshooting/database-error.mdx index 2e73f835aa..c7d859b3a6 100644 --- a/www/apps/docs/content/troubleshooting/database-error.mdx +++ b/www/apps/docs/content/troubleshooting/database-error.mdx @@ -5,6 +5,11 @@ title: 'Database Errors' import SaslSection from './database-errors/_sasl.md' import ConnectionErrorSection from './database-errors/_connection-error.md' import PrivilegesSection from './database-errors/_privileges.md' +import DockerSection from "./database-errors/_docker.md" + +## Can't Connect to PostgreSQL Docker Container + + ## Error: SASL: SCRAM-SERVER-FIRST-MESSAGE: Client password must be a string diff --git a/www/apps/docs/content/troubleshooting/database-errors/_docker.md b/www/apps/docs/content/troubleshooting/database-errors/_docker.md new file mode 100644 index 0000000000..71237edb13 --- /dev/null +++ b/www/apps/docs/content/troubleshooting/database-errors/_docker.md @@ -0,0 +1,25 @@ +When connecting your Medusa backend to a PostgreSQL Docker container, make sure the `5432` port is exposed. + +To do that, either pass the `-p` option to the `docker run` command. For example: + +```bash +docker run -d -p 5432:5432 --name some-postgres -e POSTGRES_PASSWORD=supersecret postgres +``` + +Or, if you're using Docker Desktop, you can provide the option under the container's "Optional settings" collapsable. + +![Setting Port option in Docker Desktop](https://res.cloudinary.com/dza7lstvk/image/upload/v1699952615/Medusa%20Docs/Screenshots/Screenshot_2023-11-14_at_10.56.04_AM_nsur0q.png) + +If you expose the PostgreSQL docker container at a port other than `5432`, make sure to include it in your database URL. + +When installing Medusa with `create-medusa-app`, you can provide a database URL with the different port using the `--db-url` option. + +For example: + +```bash +npx create-medusa-app@latest --db-url "postgres://user:password@localhost:/medusa-store" +``` + +Where `` is the exposed port if it's different than `5432`. + +Refer to the [database_url configuration documentation](../../development/backend/configurations.md#database_url) to learn how to set the database URL for an installed Medusa backend.