Skip to content
This repository has been archived by the owner on Oct 30, 2024. It is now read-only.

Add dockerfile and docker compose #359

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Conversation

pipo02mix
Copy link

@esebastian He añadido un dockerfile para el proyecto de rails y otro para la DB.

Además he empezado creando un docker compose para probar como funcionan contenerizados. Tengo un problemilla con la DB. Aunque me baso en la imagen oficial de postgres y le añado el usuario y la db en tiempo de inicio, la aplicación se queja de que el usuario no existe. Probando por lo separado he comprobado que si que existe, puede ser una condición de carrera (probare mas otra cosa)

SI tienes alguna dia, dispara. No tengo gran experiencia contenerizando rails.

Dockerfile Outdated

RUN ls /myapp
COPY . /myapp
RUN cat /myapp/config/database.yml
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

El cat y el ls son para depurar

@@ -7,7 +7,8 @@
default: &default
adapter: postgresql
username: onodo
password:
password: onodo
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

he puesto contraseña porque la imagen oficial de postgres no permitia sin contraseña (por lo menos eso me ha parecido)

@esebastian
Copy link
Contributor

esebastian commented Oct 15, 2018

@pipo02mix He dejado subido en master un Dockerfile y un docker-compose.yml que he comprobado que sirven para levantar el proyecto y resolver todas sus dependencias.

He tenido que incluir también algunos cambios adicionales para lograrlo, aunque con el objetivo de que fuesen mínimos y no alterasen todavía la configuración actual del proyecto, y he actualizado un poco el README.

Para levantar el proyecto en desarrollo en principio debería bastar con seguir las indicaciones del README, y para levantarlo en producción tendríamos que hacer algo como:

$ docker run --rm -it -p 3000:3000 \
-e DATABASE_URL=postgres://someuser@somehost:someport/somedbname \
-e SECRET_KEY_BASE=somesecuresecretkeybase \
-e LISTEN_ON=someipportorsocket \
-e WORKER_PROCESSES=numberofworkers \
-e HOST=somehostfqdn \
-e MAILER_DOMAIN=somehostfqdm \
-e MAILER_USERNAME=someusername \
-e MAILER_PASSWORD=somepassword \
-e MAILER_SENDER=somefromaddress \
-e DEMO_DATA_ID=someuserid \
-e ANALYTICS_ID=someidornothing \
-e NEW_RELIC_LICENSE=someapikeyornothing \
-e HONEYBADGER_API_KEY=someapikeyornothing \
onodo

Estrictamente necesarios para arrancarlo sólo serían los valores de DATABASE_URL, SECRET_KEY_BASE, LISTEN_ON y WORKER_PROCESSES. Para que el envío de correos funcione tendríamos tendríamos que incluir todos los relacionados con el mailer ( HOST, MAILER_DOMAIN, MAILER_USERNAME, MAILER_PASSWORD, MAILER_SENDER) y el resto ya serían completamente opcionales, aunque es posible que se produzca algún error no crítico si no están presentes (especialmente con DEMO_DATA_ID, que sirve para identificar el usuario al que se asignan las visualizaciones del tutorial).

Pégale un vistazo cuando tengas un rato y cualquier cambio lo metes en esta misma PR.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants