A better Decidim in Docker
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.
    
  
        
        
Share
Or copy link