Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docker: add a Docker setup #2349

Open
wants to merge 1 commit into
base: staging
Choose a base branch
from

Conversation

freesteph
Copy link

Salut la team,

J'ai rencontré @Holist pendant le kickoff du FAST et on a discuté un peu de l'architecture de l'app et des potentiels sujets intéressants pour la suite, notamment celui d'offrir une containeurisation qui permette de mieux comprendre/isoler/démarrer (voir déployer un jour) l'application.

Je vous montre le bout de code qui m'a suffit à démarrer l'app, au moins qu'on puisse en discuter un peu et voir si c'est quelque chose qui vous intéresse.

PS : comme RDVI fonctionne en tandem avec RDVS il serait intéressant d'approfondir l'expérience en containeurisant les deux pour les lancer ensemble en quelque lignes de YAML...

Introduce a base Docker image and its companion docker-compose.yml
page to explore containerizing the project.

It's all, hopefully, straightforward but there's a small gotcha: the
web service (which runs the Rails server) and the JS service (which
runs the assets compilation) have to share the assets destination
path. That's what the `assets` volume does.

Everything else is pretty standard.
@@ -1,4 +1,4 @@
unless Rails.env.test?
if Rails.env.production?
Copy link
Author

Choose a reason for hiding this comment

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

seul obstacle pour le moment : AgentConnect qui essaie d'effectuer une connexion à un serveur externe même dans un environnement local

Copy link
Collaborator

Choose a reason for hiding this comment

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

Je suis d'accord on ne devrait pas avoir ce comportement en dev (ça ne devrait pas de poser de problème @Michaelvilleneuve ?)

Copy link
Collaborator

Choose a reason for hiding this comment

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

Effectivement on peut conditionner ça, de toute façon AgentConnect ne fonctionnera pas en dév

Copy link
Collaborator

Choose a reason for hiding this comment

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

pour info je crois que Romain a de toute façon rajouté cette condition dans sa PR donc ça finira pas être mergé avec ou sans cette PR

Copy link
Collaborator

@aminedhobb aminedhobb left a comment

Choose a reason for hiding this comment

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

Merci beaucoup @freesteph pour cette première brique très cool 🙏 !
Effectivement, ce serait top qu'avec une seule commande on puisse lancer rdv-i et rdv-sp en dev, surtout pour les nouveaux arrivants.
Ceci étant je ne sais pas si on aura beaucoup de temps à investir dessus prochainement, on a jusque là pas eu trop de soucis à faire tourner les applis sans docker et il n'est pas prévu à moyen terme de l'utiliser pour le déploiement.

@@ -1,4 +1,4 @@
unless Rails.env.test?
if Rails.env.production?
Copy link
Collaborator

Choose a reason for hiding this comment

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

Je suis d'accord on ne devrait pas avoir ce comportement en dev (ça ne devrait pas de poser de problème @Michaelvilleneuve ?)

@@ -0,0 +1,29 @@
services:
Copy link
Collaborator

Choose a reason for hiding this comment

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

(Dans le cas où on veut aller au-delà du POC et faire du dev faudra juste rajouter les workers ici)

@freesteph
Copy link
Author

Merci beaucoup @freesteph pour cette première brique très cool 🙏 ! Effectivement, ce serait top qu'avec une seule commande on puisse lancer rdv-i et rdv-sp en dev, surtout pour les nouveaux arrivants. Ceci étant je ne sais pas si on aura beaucoup de temps à investir dessus prochainement, on a jusque là pas eu trop de soucis à faire tourner les applis sans docker et il n'est pas prévu à moyen terme de l'utiliser pour le déploiement.

Alors pour la question du déploiement je t'avoue que je n'y ai même pas pensé, c'est surtout le combo développement/onboarding très rapide + semi-documentation de l'infra (en tout cas de l'écosystème) que j'aime bien, après en déploiement Kube/containeurisé c'est pas encore très répandu dans la communauté donc beaucoup moins expert sur le sujet.

Je vais quand même rajouter les workers comme tu l'as mentionné, et voir si j'arrive à lancer RDVI et RDVS côte à côte pour faire puisque sans surprise la Dockerisation côté RDVS se fait très facilement aussi (👏 à vous).

On pourra reprendre un jour si vous avez le temps (et la motivation 😄 ), aucun soucis d'ici là merci d'avoir pris le temps de regarder.

@aminedhobb
Copy link
Collaborator

Alors pour la question du déploiement je t'avoue que je n'y ai même pas pensé, c'est surtout le combo développement/onboarding très rapide + semi-documentation de l'infra (en tout cas de l'écosystème) que j'aime bien, après en déploiement Kube/containeurisé c'est pas encore très répandu dans la communauté donc beaucoup moins expert sur le sujet.

Je vais quand même rajouter les workers comme tu l'as mentionné, et voir si j'arrive à lancer RDVI et RDVS côte à côte pour faire puisque sans surprise la Dockerisation côté RDVS se fait très facilement aussi (👏 à vous).

On pourra reprendre un jour si vous avez le temps (et la motivation 😄 ), aucun soucis d'ici là merci d'avoir pris le temps de regarder.

Oui c'est sûr que c'est un plus dans tous les cas ! Merci en tous cas c'est instructif pour nous !
On pourra essayer reprendre ça si on a un peu de temps 👍 .

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

Successfully merging this pull request may close these issues.

3 participants