2

I am not the author I am trying to run the repo on my EC2 instance. Docker-compose can be found here outline

Relevant part of docker.env

DATABASE_URL=postgres://user:pass@localhost:5432/outline
DATABASE_URL_TEST=postgres://user:pass@localhost:5432/outline-test
DATABASE_CONNECTION_POOL_MIN=1
DATABASE_CONNECTION_POOL_MAX=100
# Uncomment this to disable SSL for connecting to Postgres
PGSSLMODE=disable

When I run

docker-compose run --rm outline yarn sequelize db:create --env=production-ssl-disabled

I got

yarn run v1.22.18
$ /opt/outline/node_modules/.bin/sequelize db:create --env=production-ssl-disabled

Sequelize CLI [Node: 16.14.2, CLI: 6.3.0, ORM: 6.9.0]

Loaded configuration file "server/config/database.json".
Using environment "production-ssl-disabled".

ERROR: connect ECONNREFUSED 127.0.0.1:5432

error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Yes,I know that 5432 is busy.

CONTAINER ID   IMAGE         COMMAND                  CREATED          STATUS                          PORTS                                       NAMES
8f3466cf4589   redis         "docker-entrypoint.s…"   22 minutes ago   Up 16 minutes (healthy)         0.0.0.0:6379->6379/tcp, :::6379->6379/tcp   ubuntu_redis_1
85154ebdd789   minio/minio   "sh -c 'minio server'"   22 minutes ago   Restarting (1) 16 seconds ago                                               ubuntu_storage_1
20b602652c29   postgres      "docker-entrypoint.s…"   22 minutes ago   Up 5 minutes (unhealthy)        0.0.0.0:5432->5432/tcp, :::5432->5432/tcp   ubuntu_postgres_1

minio is restarting,also problem.

This is the repo outline

I looked at my unhealthy container

"State": {
    "Status": "running",
    "Running": true,
    "Paused": false,
    "Restarting": false,
    "OOMKilled": false,
    "Dead": false,
    "Pid": 48326,
    "ExitCode": 0,
    "Error": "",
    "StartedAt": "2022-04-18T13:38:57.538522854Z",
    "FinishedAt": "2022-04-18T13:38:45.653923626Z",
    "Health": {
        "Status": "unhealthy",
        "FailingStreak": 42,
        "Log": [
            {
                "Start": "2022-04-18T13:58:00.514234539Z",
                "End": "2022-04-18T13:58:00.591019699Z",
                "ExitCode": -1,
                "Output": "OCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: exec: \"pg_isready -U user\": executable file not found in $PATH: unknown"

It would be nice if I get some piece of advice.

MarkoGM
  • 123
  • 2
  • 10
  • You don't seem to have included the `docker-compose.yml` file in the question, but it's essential to understanding the problem. Can you [edit] the question to include this file (as text, not behind a link)? – David Maze Apr 18 '22 at 15:02
  • That `DATABASE_URL` value is almost definitely wrong in Docker, since `localhost` will be the container you're calling from (the `outline` container) and not the database container. See _e.g._ [ECONNREFUSED for Postgres on nodeJS with dockers](https://stackoverflow.com/questions/33357567/econnrefused-for-postgres-on-nodejs-with-dockers). – David Maze Apr 18 '22 at 15:03

1 Answers1

0

In your docker-compose.yml under the postgres>healthcheck section, change

test: ["CMD", "pg_isready -U user"]

to

test: ["CMD-SHELL", "pg_isready", "-U", "user"]
Andrew Bucklin
  • 699
  • 8
  • 19