This is an rset(1) setup to automatically deploy Decidim to a remote Ubuntu machine.
-
rset
- Download the source from rset's home page and follow the instructions in the README.md for how to build it.
-
A clean Ubuntu 24.04 machine to which you have root SSH access.
- If you use a local VM, I'd recommend installing a Ubuntu machine, setting up SSH and other things you want, then shut it down, clone it and use the clone for Decidim. Then if you need to start from scratch, you can just trash the clone and make a new one without having to install and set up Ubuntu again.
First cp env.example env
and then edit the contents of env
to suit your
setup. Also cp routes.pln.example routes.pln
and edit it if you use another
hostname than the example.
Note that SECRET_KEY_BASE
must be exactly 128 characters long or you'll get
errors saying that it has not been defined. You can generate one with
head -c 64 /dev/urandom | xxd -ps -c0
Run rset with the host you configured in routes.pln
. On the first run, rset
will populate _rutils
with renv
, rinstall
and rsub
which are built-in
tools used by decidim.pln
.
rset root@ubuntu2404-decidim
This will run all the labels in decidim.pln
and, hopefully, you will end up
with a working Decidim installation.
All labels should be idempotent,
so running labels multiple time should not break anything, but will of course
overwrite any changes that you do not reflect in decidim.pln
.
To run a specific label, use
rset -x <label name> root@ubuntu2404-decidim
See man rset(1)
for more
options.