diff --git a/docker-compose.yml b/docker-compose.yml index 576565c..0d7b0ed 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,7 +6,7 @@ services: dockerfile: Dockerfile args: PG_MAJOR: ${PG_MAJOR:-18} - command: bin/rails server -b 0.0.0.0 -p 3000 + command: bash -c "bin/rails db:prepare && bin/rails server -b 0.0.0.0 -p 3000" ports: - "3000:3000" env_file: .env @@ -21,7 +21,8 @@ services: - .:/app - bundle:/usr/local/bundle depends_on: - - db + db: + condition: service_healthy db: image: postgres:${PG_MAJOR:-18} @@ -30,7 +31,12 @@ services: POSTGRES_USER: ${APP_DATABASE_USERNAME} POSTGRES_PASSWORD: ${APP_DATABASE_PASSWORD} volumes: - - pgdata:/var/lib/postgresql/data + - pgdata:/var/lib/postgresql + healthcheck: + test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"] + interval: 2s + timeout: 5s + retries: 15 volumes: pgdata: