Since we moved on to kubernetes and managed to integrate the official rundeck docker image in our public rundeck helm chart, i'am not going to furher maintain this docker-image regularly for updates. I only use this image for development purposes only, so rather rare updates!
If you want to do so, please contact me in the chart repo that you want to take over or want to run a fork which i should mention here (if your fork is sustainable).
Docker: Docker image eugenmayer/rundeck for running rundeck
Rancher: Also see the corresponding rancher-catalog if you run rancher
docker-compose up
(replace localhost with your docker-machine ip
if you use dockertoolbox
or similar)
You can now access the instance by going on https://localhost
If you set an EXTERNAL_SERVER_URL
with an http
scheme in the .env file, you need to use http://localhost
Username is admin
- password is rundeck
Just edit .env and adjust it to what you need
Advanced: You can mount custom scripts into the container at /docker-entrypoint.d/
to let them
run every single container start. So -v mysqcript.sh:/docker-entrypoint.d/myscript.sh
- Rundeck with a (replaceable) postgresql database as sideload
- No SSH. Use docker exec
- You must supply the EXTERNAL_SERVER_URL parameter
- As always, update passwords for pre-installed accounts
- I sometimes get connection reset by peer errors when building the Docker image from the Rundeck download URL. Trying again usually works.
In order of importance
/etc/rundeck - rundeck configuration
/var/rundeck - rundecks project folder
/var/lib/rundeck/logs - the logs and states of your jobs - pretty important!!!
/var/lib/rundeck/var/storage - file based storage folder
/opt/rundeck-plugins - For adding external plugins
/var/log/rundeck - general daemon logs
If you want to run against a mysql, change DB_TYPE=mysql
and include a mysql service like MariaDB or Percona
To add (external) plugins, add the jars to the /opt/rundeck-plugins volume and they will be copied over to Rundeck's libext directory at container startup
Reference: https://docs.docker.com/engine/swarm/secrets/ The entrypoint run script will check for docker secrets set for RUNDECK_PASSWORD, DATABASE_ADMIN_PASSWORD, KEYSTORE_PASS, and TRUSTSTORE_PASS. If the secret has not been set, it will then check for the environment variable and finally default to generating a random value.
Please see the .env file
See the docker-compose.yml rundeckhttpd
- that is how you usually would do a SSL termination proxy, nothing in addition is needed.
If you would not enable ACME in traefik, SSL would work.
Also See: http://rundeck.org/docs/administration/configuring-ssl.html#using-an-ssl-terminated-proxy
See: http://rundeck.org/docs/upgrading/index.html
- adjust
version
to the new version rundeck released - run
make build
A helper to fix the missing OPTIONS calls in rundeck and allowing CORS
make build
# or
docker build . -t yourown