Files

44 lines
1.1 KiB
YAML

services:
app:
user: "1000:1000"
build:
context: .
dockerfile: Dockerfile
args:
PG_MAJOR: ${PG_MAJOR:-18}
command: bash -c "bin/rails db:prepare && bin/rails server -b 0.0.0.0 -p 3000"
ports:
- "3000:3000"
env_file: .env
environment:
RAILS_ENV: development
APP_DATABASE: ${APP_DATABASE}
APP_DATABASE_HOST: ${APP_DATABASE_HOST}
APP_DATABASE_PORT: ${APP_DATABASE_PORT}
APP_DATABASE_USERNAME: ${APP_DATABASE_USERNAME}
APP_DATABASE_PASSWORD: ${APP_DATABASE_PASSWORD}
volumes:
- .:/app
- bundle:/usr/local/bundle
depends_on:
db:
condition: service_healthy
db:
image: postgres:${PG_MAJOR:-18}
environment:
POSTGRES_DB: ${APP_DATABASE}
POSTGRES_USER: ${APP_DATABASE_USERNAME}
POSTGRES_PASSWORD: ${APP_DATABASE_PASSWORD}
volumes:
- pgdata:/var/lib/postgresql
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
interval: 2s
timeout: 5s
retries: 15
volumes:
pgdata:
bundle: