- docker-compose: command roda `rails db:prepare` antes de subir o server (cria DB se faltar, aplica migrations pendentes, seed só em DB novo) — elimina o passo manual de db:migrate após o up - lib/tasks/diagnostico.rake: `rake reem:diagnostico` substitui o runner longo de checagem da tabela externa (conta/período/datas disponíveis) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
31 lines
915 B
YAML
31 lines
915 B
YAML
version: '3.8'
|
|
|
|
services:
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "3000:3000"
|
|
env_file: .env
|
|
environment:
|
|
DATABASE_URL: ${DATABASE_URL}
|
|
DB_HOST: ${DB_HOST}
|
|
DB_PORT: ${DB_PORT}
|
|
DB_NAME: ${DB_NAME}
|
|
DB_USER: ${DB_USER}
|
|
DB_PASSWORD: ${DB_PASSWORD}
|
|
SECRET_KEY_BASE: ${SECRET_KEY_BASE}
|
|
RAILS_ENV: ${RAILS_ENV:-development}
|
|
volumes:
|
|
- ".:/app"
|
|
- "bundle_cache:/usr/local/bundle"
|
|
# db:prepare = cria o banco se não existir, roda migrations pendentes e
|
|
# só faz seed se o banco acabou de ser criado (idempotente, seguro no boot).
|
|
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails db:prepare && bundle exec rails s -b 0.0.0.0"
|
|
# O banco PostgreSQL já existe externamente.
|
|
# Configure DB_HOST no .env com o IP/hostname do seu servidor PostgreSQL.
|
|
|
|
volumes:
|
|
bundle_cache:
|