Heroku
Instalación manual
Este tutorial asume que ya has conseguido clonar Consul Democracy en tu máquina y conseguir que funcione.
En primer lugar, necesitas crear una cuenta en Heroku si no lo has hecho ya.
Instala Heroku CLI e inicia sesión con:
Accede a tu repositorio de Consul Democracy y crea una instancia
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.
Crea la base de datos con
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.
(No es necesario) Crea un archivo con el nombre heroku.yml en la raíz del proyecto y añade el siguiente código
Ahora, genera una clave secreta y guárdala en la variable de entorno SECRET_KEY_BASE de la siguinte manera
Añade también la dirección de tu servidor:
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
y añade este archivo en el repositorio comentando la línea correspondiente en el .gitignore.
¡Recuerda no añadir el archivo si tienes información sensible en él!
Ahora ya puedes subir tu aplicación utilizando:
No funcionará de inmediato porque la base de datos no contiene las tablas necesarias. Para crearlas, ejecuta
Si quieres añadir los datos de prueba en la base de datos, mueve gem 'faker', '~> 1.8.7'
fuera del group :development
y ejecuta:
Ahora tu aplicación debería estar ya opertaiva. Puedes abrirla con
También puedes arrancar la consola en heroku utilizando
Heroku no permite guardar imágenes o documentos en sus servidores, por lo que es necesario configurar un nuevo espacio de almacenamiento.
Consulta nuestra guía de S3 para más detalles sobre la configuración de Paperclip con S3.
Configurar Sendgrid
Añade el complemento (add-on) de SendGrid en Heroku. Esto creará una cuenta de SendGrid para la aplicación con ENV["SENDGRID_USERNAME"]
y ENV["SENDGRID_PASSWORD"]
.
Añade el siguiente código a config/secrets.yml
, en la sección production:
:
Importante: Activa un "worker dyno" para que se envíen los correos electrónicos.
Opcional (pero recomendado)
Instalar rails_12factor y especificar la versión de Ruby
Instalar rails_12factor sólo es útil si utilizas una versión de Consul Democracy anterior a la 1.0.0. La última versión utiliza Rails 5 que ya incluye los cambios.
Como nos recomienda Heroku, puedes añadir la gema rails_12factor y especificar la versión de Ruby a utilizar. Puedes hacerlo añadiendo:
en el archivo Gemfile_custom, donde x.y.z
es la versión definida en el fichero .ruby-version
del repositorio de Consul Democracy. No olvides ejecutar
para generar el Gemfile.lock antes de añadir los cambios y subirlos al servidor.
Utilizar Puma como servidor web
Heroku recomienda utilizar Puma para mejorar el rendimiento de la aplicación.
Si quieres permitir más concurrencia, descomenta la siguiente linea:
Puedes encontrar una explicación para diferentes configuraciones en el siguiente tutorial de Heroku.
Por último hay que cambiar la tarea web para usar Puma cambiándola en el archivo heroku.yml con el siguiente código:
Añadir variables de configuración desde el panel de control
Las versiones gratuita y hobby de Heroku no son suficientes para ejecutar una aplicación como Consul Democracy. Para optimizar el tiempo de respuesta y asegurarte de que la aplicación no se quede sin memoria, puedes cambiar el número de "workers" e hilos que utiliza Puma.
La configuración recomendada es un "worker" y tres hilos. Puedes configurarlo ejecutando estos dos comandos:
También es recomendable configurar las siguientes variables:
Last updated