This site uses cookies. By continuing to browse the site, you agree to our use of cookies. Find out more about cookies.
Skip to main content
Metadecidim's official logo
  • English Triar la llengua Elegir el idioma Choose language
    • Català
    • Castellano
Sign Up Sign In
  • Home
  • Processes
  • Assemblies
  • Initiatives
  • Consultations
  • Conferences
  • Help

Propose new functionalities for Decidim software

#DecidimRoadmap Designing Decidim together

Phase 1 of 1
Open 2019-01-01 - 2030-12-31
Process phases Submit a proposal
  • The process
  • Debates
  • Propose new features
  • News
chevron-left Back to list

A better Decidim in Docker

Avatar: Hadrien Froger Hadrien Froger verified-badge
26/10/2021 13:21  
Accepted / In progress

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.

  • Filter results for category: Installation and configuration Installation and configuration

This proposal has been accepted and is under development

List of Endorsements

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
and 4 more people (see more) (see less)
Endorsements count7
A better Decidim in Docker Comments 8

Reference: MDC-PROP-2021-10-16846
Version number 2 (of 2) see other versions
Check fingerprint

Fingerprint

The piece of text below is a shortened, hashed representation of this content. It's useful to ensure the content hasn't been tampered with, as a single modification would result in a totally different value.

Value: f6772701c557c972156202831e6ffad147f41838ead16b59d95161e0ff06b353

Source: {"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 "}}

This fingerprint is calculated using a SHA256 hashing algorithm. In order to replicate it yourself, you can use an MD5 calculator online and copy-paste the source data.

Share:

link-intact Share link

Share link:

Please paste this code in your page:

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

Report inappropriate content

Is this content inappropriate?

Reason

Comment details

Order by:
  • Older
    • Best rated
    • Recent
    • Older
    • Most discussed
You are seeing a single comment

View all comments

Conversation with Andrés
Avatar: Andrés Andrés verified-badge
27/10/2021 10:32
  • Get link Get link

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
  • Get link Get link

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

Loading comments ...

  • Terms and conditions of use
  • About the community
  • Download Open Data files
  • Metadecidim at Twitter Twitter
  • Metadecidim at Instagram Instagram
  • Metadecidim at YouTube YouTube
  • Metadecidim at GitHub GitHub
Creative Commons License Website made with free software.
Decidim Logo

Confirm

OK Cancel

Please sign in

decidim Sign in with Decidim
Or

Sign up

Forgot your password?