Skip to main content
Information about the cookies used on the website

We use cookies on our website to improve the performance and content of the site. The cookies enable us to provide a more individual user experience and social media channels.

This proposal has been accepted to be implemented in the main repository. Check for updates in the comments

A better Decidim in Docker

Main repo (accepted)
Avatar: Hadrien Froger Hadrien Froger

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(External link) is ready to develop this feature.

Comment
Avatar: Lucien Langton Avatar: Deleted participant Avatar: Pauline Bessoles Avatar: Tim Avatar: Hadrien Froger Avatar: Alessio Avatar: Óscar Avatar: Sébastien Delcroix
Liked by Lucien Langton and 7 more