Technical Documentation
Return to Main Documentation
SPANISH - version 2.3
SPANISH - version 2.3
  • Introducción
  • Primeros pasos
    • Crea tu fork
    • Configura tu fork
    • Mantén tu fork actualizado
    • Comunicación
  • Instalación
    • Instalación local
      • Prerrequisitos
      • Ubuntu Linux
      • Debian Linux
      • macOS
      • Windows
      • Vagrant
      • Docker
    • Servidores de producción y pruebas
      • Instalador
      • Crear usuario
      • Generación de claves SSH
      • Instalación manual (no recomendada)
      • Digital Ocean
      • Heroku
      • Configuración del servidor de correo
    • Configuración básica
    • Documentación y guías de usuario
  • Personalización
    • Introducción
    • Traducciones y textos
    • Imágenes
    • Estilos con CSS
    • JavaScript
    • Modelos
    • Controladores
    • Vistas y HTML
    • Componentes
    • Otras clases de Ruby (GraphQL, lib, mailers, builders)
    • Gemas
    • Configuración de la aplicación
    • Rutas
    • Tests
  • Funcionalidades Técnicas
    • OAuth
    • GraphQL
    • Recomendaciones de debates y propuestas
    • Configurar conexión con el Censo
    • Local Census
    • Multitenancy
    • Traducciones de contenido de usuario
  • Proyecto Open Source
    • Código de conducta
    • Contribuciones
    • Convenciones de código
    • Open source forks y modificaciones
    • Licencia
Powered by GitBook
On this page
  • Instalación manual
  • Configurar Twilio SendGrid
  1. Instalación
  2. Servidores de producción y pruebas

Heroku

PreviousDigital OceanNextConfiguración del servidor de correo

Last updated 2 months ago

Instalación manual

Este tutorial asume que ya has conseguido clonar Consul Democracy en tu máquina y conseguir que funcione.

  1. En primer lugar, necesitas crear una cuenta en si no lo has hecho ya.

  2. Instala e inicia sesión con:

heroku login
  1. Accede a tu repositorio de Consul Democracy y crea una instancia:

cd consuldemocracy
heroku create your-app-name

Puedes añadir --region eu si quieres utilizar servidores europeos en lugar de los estadounidenses.

Si your-app-name no existe aún, Heroku creará tu aplicación.

  1. Crea la base de datos con:

heroku addons:create heroku-postgresql

Ahora deberías tener acceso a una base de datos Postgres vacía cuya dirección se guardó automáticamente como una variable de entorno llamada DATABASE_URL. Consul Democracy se conectará automáticamente a ella durante la instalación.

  1. Ahora, genera una clave secreta y guárdala en la variable de entorno SECRET_KEY_BASE de la siguiente manera:

heroku config:set SECRET_KEY_BASE=$(rails secret)

Añade también la dirección de tu servidor:

heroku config:set SERVER_NAME=myserver.address.com

Es necesario que la aplicación sepa dónde se almacenan las variables de configuración añadiendo un enlace a las variables de entorno en config/secrets.yml

production:
  secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
  server_name: <%= ENV["SERVER_NAME"] %>

y añade este archivo en el repositorio comentando la línea correspondiente en el .gitignore.

#/config/secrets.yml

¡Recuerda no añadir el archivo si tienes información sensible en él!

  1. Para que Heroku detecte y utilice correctamente la versión de node.js definida en el proyecto deberemos añadir los siguientes cambios:

En el package.json añadir la versión de node.js:

"engines": {
  "node": "18.20.3"
}

y aplicar:

heroku buildpacks:add heroku/nodejs
  1. Ahora ya puedes subir tu aplicación utilizando:

git push heroku your-branch:master
  1. No funcionará de inmediato porque la base de datos no contiene las tablas necesarias. Para crearlas, ejecuta:

heroku run rake db:migrate
heroku run rake db:seed
  1. Ahora tu aplicación debería estar ya operativa. Puedes abrirla con:

heroku open

También puedes arrancar la consola en heroku utilizando

heroku console --app your-app-name
  1. Heroku no permite guardar imágenes o documentos en sus servidores, por lo que es necesario configurar un nuevo espacio de almacenamiento.

Configurar Twilio SendGrid

Añade el complemento (add-on) de Twilio SendGrid en Heroku. Esto creará una cuenta en Twilio SendGrid para la aplicación con un nombre de usuario y permitirá crear una contraseña. Este usuario y contraseña lo podemos guardar en las variables de entorno de la aplicación en Heroku:

heroku config:set SENDGRID_USERNAME=example-username SENDGRID_PASSWORD=xxxxxxxxx

Ahora añade el siguiente código a config/secrets.yml, en la sección production::

  mailer_delivery_method: :smtp
  smtp_settings:
    :address: "smtp.sendgrid.net"
    :port: 587
    :domain: "heroku.com"
    :user_name: ENV["SENDGRID_USERNAME"]
    :password: ENV["SENDGRID_PASSWORD"]
    :authentication: "plain"
    :enable_starttls_auto: true

Importante: Activa un "worker dyno" para que se envíen los correos electrónicos.

Consulta para más detalles sobre la configuración de ActiveStorage con S3.

Heroku
Heroku CLI
nuestra guía de S3