Aquest lloc web fa servir cookies pròpies i de tercers per millorar l’experiència de navegació, i oferir continguts i serveis d’interès. En continuar la navegació entenem que acceptes la nostra política de cookies. Per a més informació consulta aquí.
Vés al contingut principal
Logo oficial de Metadecidim
  • Català Triar la llengua Elegir el idioma Choose language
    • Castellano
    • English
Registra't Entra
  • Inici
  • Processos
  • Assemblees
  • Iniciatives
  • Consultes
  • Jornades
  • Ajuda

Proposa noves funcionalitats

#DecidimRoadmap Dissenyant el Decidim entre totes

Fase 1 de 1
Obert 01-01-2019 - 31-12-2030
Veure les fases Envia una proposta
  • El procés
  • Debats
  • Proposa noves funcionalitats
  • Novetats
chevron-left Torna al llistat

A better Decidim in Docker

Avatar: Hadrien Froger Hadrien Froger verified-badge
26/10/2021 13:21  
Acceptada / En curs

I use Docker for decidim instance, and the decidim/docker is helpful but not really actionable as it is. This proposal aims to push forward docker use inside decidim.

Nowadays, my concerns for Decidim in Docker are: 

  • It needs to be ready to be run with sidekiq, puma and others (activestorage/activecable).
  • It needs more env variables to be configurable (caching/files in s3)
  • It needs some docker-compose to show integrations with initiative time-stamping, etherpad and e-voting
  • It needs some minor security improvements, to match common docker configurations for production:
    * no sudo user in the container
    * no needs of nodeJS at runtime
    * and other things too sensible to be describe here.


The solution I would like

  • Remove decidim/docker repository that uses the generator
  • Improve decidim-generator
    * A Dockerfile production-ready
    * Add binaries to run: sidekiq/puma/actioncable/actionstorage.
    * Add env variables to configure the container: caching, files in S3, logs rotation, etc.


Considered Alternatives

I don't see any future for decidim/docker repository, as a Docker container need to run an existing app. I don't see alternatives for Decidim in Docker than a bump of the generator.

An alternative to the Dockerfile placement would be to create a .deploy folder in the rails root, in order to have other kinds of developments, like:

  • .deploy/heroku/
  • .deploy/docker/
  • .deploy/digitalocean
  • etc.


And then add a documentation to move files you want for deployment. I am not a big fan of this, because I think that Decidim should focus on one deployment method and Docker container is much more resilient.

Funded by

Octree Geneva is ready to develop this feature.

  • Resultats al filtrar per la categoria: Instal·lació i configuració Instal·lació i configuració

Aquesta proposta s'ha acceptat i està en desenvolupament

Llistat d'adhesions

Avatar: Lucien Langton Lucien Langton
Avatar: Baptiste Baptiste
Avatar: Pauline Bessoles Pauline Bessoles verified-badge
Avatar: Tim Tim
Avatar: Hadrien Froger Hadrien Froger verified-badge
Avatar: Alessio Alessio
Avatar: Oscar Hernandez Oscar Hernandez
i 4 persones més (veure més) (veure menys)
Número d'adhesions7
A better Decidim in Docker Comentaris 8

Referència: MDC-PROP-2021-10-16846
Versió 2 (de 2) veure altres versions
Verifica l'empremta digital

Empremta digital

El text següent és una representació abreviada i hashejada d'aquest contingut. És útil per garantir que el contingut no hagi estat alterat, ja que una única modificació provocaria un valor totalment diferent.

Valor: f6772701c557c972156202831e6ffad147f41838ead16b59d95161e0ff06b353

Origen: {"body":{"en":"<p>I use Docker for decidim instance, and the decidim/docker is helpful but not really actionable as it is. This proposal aims to push forward docker use inside decidim.</p><p>Nowadays, my concerns for Decidim in Docker are:&nbsp;</p><ul><li>It needs to be ready to be run with sidekiq, puma and others (activestorage/activecable).</li><li>It needs more env variables to be configurable (caching/files in s3)</li><li>It needs some docker-compose to show integrations with initiative time-stamping, etherpad and e-voting</li><li>It needs some minor security improvements, to match common docker configurations for production: <br>* no sudo user in the container<br>* no needs of nodeJS at runtime<br>* and other things too sensible to be describe here.</li></ul><p><br></p><p><strong>The solution I would like</strong></p><ul><li>Remove decidim/docker repository that uses the generator</li><li>Improve decidim-generator<br>* A Dockerfile production-ready<br>* Add binaries to run: sidekiq/puma/actioncable/actionstorage.<br>* Add env variables to configure the container: caching, files in S3, logs rotation, etc.</li></ul><p><br></p><p><strong>Considered Alternatives</strong></p><p>I don't see any future for decidim/docker repository, as a Docker container need to run an existing app. I don't see alternatives for Decidim in Docker than a bump of the generator.</p><p>An alternative to the Dockerfile placement would be to create a .deploy folder in the rails root, in order to have other kinds of developments, like:</p><ul><li>.deploy/heroku/</li><li>.deploy/docker/</li><li>.deploy/digitalocean</li><li>etc.</li></ul><p><br></p><p>And then add a documentation to move files you want for deployment. I am not a big fan of this, because I think that Decidim should focus on one deployment method and Docker container is much more resilient.</p><p><strong>Funded by</strong><br></p><p><a href=\"https://octree.ch\" rel=\"noopener noreferrer\" target=\"_blank\">Octree Geneva</a> is ready to develop this feature.</p>"},"title":{"en":"A better Decidim in Docker "}}

Aquesta empremta digital es calcula mitjançant un algoritme de hash SHA256. Per reproduir-lo tu mateix, pots utilitzar una Calculadora MD5 en línia i copiar-hi les dades d'origen.

Compartir:

link-intact Compartir l'enllaç

Compartir l'enllaç:

Si us plau, enganxa aquest codi a la teva pàgina:

<script src="https://meta.decidim.org/processes/roadmap/f/122/proposals/16846/embed.js?locale=ca"></script>
<noscript><iframe src="https://meta.decidim.org/processes/roadmap/f/122/proposals/16846/embed.html?locale=ca" frameborder="0" scrolling="vertical"></iframe></noscript>

Reportar contingut inapropiat

Aquest contingut no és apropiat?

Motiu

8 comentaris

Ordenar per:
  • Més antic
    • Més ben valorats
    • Recent
    • Més antic
    • Més discutit
Conversa amb Andrés
Avatar: Andrés Andrés verified-badge
26/10/2021 13:45
  • Obtenir enllaç Obtenir enllaç
A favor  

+1000

This would be awesome indeed!!

I think that Decidim should focus on one deployment method and Docker container is much more resilient.

I agree with this, I actually think that we should only support Docker for newcomers (people that don't know anything about Rails). Of course, you could be able to install it by yourself or on other platforms, but by default, this should be the correct way of doing it.

Some time ago I started developing this but didn't much because I couldn't tackle how to solve some issues :/
https://github.com/decidim/decidim/issues/5405 - I made some POC at https://github.com/decidim/demo.decidim.org

Do you guys have any ETA on when you could tackle this?

Avatar: Hadrien Froger Hadrien Froger verified-badge
26/10/2021 16:47
  • Obtenir enllaç Obtenir enllaç

Cool, happy to see your support. And thanks for the links.

About previous work
Indeed you already have done some great jobs there! Will definitively take a careful look at you POC. The issue #5405 will be resolved if we move Dockerfile from a dedicated repo to the generator.

ETA
As for an ETA, most of the docker config is almost ready our side. We need to write documentation and do some tests. End of November we can propose a Dockerfile and some docker-composes.

If the community agree to get rid of the decidim/docker repository, I think it impacts also the pipelines but I don't have a clear view of what it is needed to be done regarding pipelines right now, because I don't know them in details. So for a complete support of docker, I see an ETA for march/2022 worst case.

"Only support Docker" decision
As I am new to this community, it is unclear how can we decide that the decidim product should ONLY supports docker officially. Is it a new proposal I should make? Something to bring within an association meeting? Is it clear enough in this proposal?
As you are here for some time, I would be grateful if you can give me some pointers on how I can bring more clarity.

Cheers,

Avatar: Andrés Andrés verified-badge
27/10/2021 10:32
  • Obtenir enllaç Obtenir enllaç

End of November we can propose a Dockerfile and some docker-composes.

Awesome! To be fully transparent, Decidim Association is actually in the process of contracting @Platoniq for this same issue, but as this has lots of possible ways of improvements, so I think this shouldn't be a problem.

"Only support Docker" decision

For me, the "correct way" should be that we first have a working version for this and after we have both deployments working (Rails "raw" vs Docker), then we can make another proposal with this "Docker by default" change, and @product should approve that. Mind that I'm a member of @product, so that should be easy 😅

Avatar: Hadrien Froger Hadrien Froger verified-badge
27/10/2021 11:30
  • Obtenir enllaç Obtenir enllaç

🎉 cool, happy to collaborate with @Platoniq on this.
Thanks for clarifying the process, makes complete sense.

Conversa amb Baptiste
Avatar: Baptiste Baptiste
26/10/2021 14:01
  • Obtenir enllaç Obtenir enllaç
A favor  

Awesome idea.
Just having to launch a docker-compose build & up to see how it works would open the door of Decidim wider to newbies

Avatar: Hadrien Froger Hadrien Froger verified-badge
26/10/2021 17:00
  • Obtenir enllaç Obtenir enllaç

Happy you liked it @dynnammo ;) I thanks for bringing in onboarding, I didn't though about it.

After your comment and some reflexion, I see an ideal docker-compose flow this way:
1. run the decidim generator
2. (Dockerfiles and docker-compose appears). run docker-compose up
3. Play locally with the instance

(the docker-compose should then have an entrypoint to seed an organization with the right host/port and setup a confirmed admin user).

Avatar: Hadrien Froger Hadrien Froger verified-badge
12/11/2021 13:51
  • Obtenir enllaç Obtenir enllaç

🎉 A Github issue have been created: https://github.com/decidim/decidim/issues/8517

See you there

Avatar: Pierre Mesure Pierre Mesure verified-badge
12/12/2021 18:36
  • Obtenir enllaç Obtenir enllaç

At Digidem Lab, we use an Ansible playbook. Installation is one-click as the playbook commissions the domain name, the VPS, fetches a token from Sentry, Matomo and some other things. Would be hard to reproduce it all with Docker as it's not meant to do these tasks.
https://github.com/digidemlab/decidim-ansible

But it would be nice to put more bits into containers.

Deixa el teu comentari

Inicia la sessió amb el teu compte o registra't per afegir el teu comentari.

Carregant els comentaris ...

  • Termes i condicions d'ús
  • Sobre la comunitat
  • Descarrega els fitxers de dades obertes
  • Metadecidim a Twitter Twitter
  • Metadecidim a Instagram Instagram
  • Metadecidim a YouTube YouTube
  • Metadecidim a GitHub GitHub
Amb llicència Creative Commons Web creada amb programari lliure.
Logo Decidim

Confirmar

D'acord Cancel·lar

Si us plau, inicia sessió

decidim Inicia sessió amb Decidim
O

Registra't

Has oblidat la teva contrasenya?