Rundeck is open source software that helps you automate routine operational procedures in data center or cloud environments. Rundeck provides a number of features that will alleviate time-consuming grunt work and make it easy for you to scale up your automation efforts and create self service for others. Teams can collaborate to share how processes are automated while others are given trust to view operational activity or execute tasks.
Rundeck allows you to run tasks on any number of nodes from a web-based or command-line interface. Rundeck also includes other features that make it easy to scale up your automation efforts including: access control, workflow building, scheduling, logging, and integration with external sources for node and option data.
- Minimalistic image (based on Alpine Linux)
- DB and local file storage configuration support (Postgres default, MySQL tested and working)
- SSL certificate support (self-signed or generated by a certification authority)
- Email support
- Active Directory support
git clone https://github.com/hbjcr/rundeck.git
Make sure you change your current folder to rundeck's project folder
docker build -t rundeck .
docker run -d \
-p 4440:4440 \
--name rundeck -h rundeck_dev \
rundeck
Test: http://[yourdomain.example.com]:4440/
docker run -d \
-p 4440:4440 \
-e SERVER_URL=http://[yourdomain.example.com]:4440 \
-e DB_HOST=[dbconnection.example.com] \
-e DB_USER=[yourdbusername] \
-e DB_PASSWORD=[yourdbpassword] \
--name rundeck -h rundeck \
rundeck
Test: http://[yourdomain.example.com]:4440
docker run -d \
-p 4443:4443 \
-e SERVER_SECURED_URL=https://[yourdomain.example.com] \
--name rundeck -h rundeck \
rundeck
Test: https://[yourdomain.example.com]:4443
docker run -d \
-p 4443:4443 \
-e SERVER_SECURED_URL=https://[yourdomain.example.com] \
-e PFX_CERTIFICATE_URL=yourdomain.example.com.pfx \
-e PFX_CERTIFICATE_PASSWORD=example \
-e MAIL_HOST=smtp.example.com \
-e MAIL_FROM=from@example.com \
-e MAIL_USER=to@example.com \
-e MAIL_PASSWORD=mypassword \
--name rundeck -h rundeck \
rundeck
Test: https://[yourdomain.example.com]:4443
Example #5 - Run using an external PostgreSQL database, external SSL certificate, email notification support and Active Directory authentication
docker run -d \
-v /etc/localtime:/etc/localtime:ro \
-v /etc/timezone:/etc/timezone:ro \
-p 80:4440 \
-p 443:4443 \
-e DB_HOST=[dbconnection.example.com] \
-e DB_USER=postgres \
-e DB_PASSWORD=postgres \
-e SERVER_SECURED_URL=https://example-scheduler-dev.example.com \
-e PFX_CERTIFICATE_URL=yourdomain.example.com.pfx \
-e PFX_CERTIFICATE_PASSWORD=example \
-e MAIL_HOST=smtp.example.com \
-e MAIL_FROM=from@example.com \
-e MAIL_USER=to@example.com \
-e MAIL_PASSWORD=mypassword \
-e AD_HOST=corpad.example.com \
-e AD_PORT=389 \
-e AD_BINDN=CN="exampleaccount,OU=ExampleOU,DC=example,DC=com" \
-e AD_BINPASSWORD=mypassword \
-e AD_USERBASEDN="DC=example,DC=com" \
-e AD_ROLEBASEDN="CN=example_developer,OU=ExampleOU,DC=example,DC=com" \
--name rundeck -h rundeck \
rundeck
Test: https://[yourdomain.example.com]:4443
USER SETTINGS
DEFAULT_ADMIN_USER Set the default admin user (defaults to "admin")
DEFAULT_ADMIN_PASSWORD Set the default admin's password (defaults to "admin"). Must be at least 6 chars long
DEFAULT_USER Set the default user (defaults to "user")
DEFAULT_PASSWORD Set the default user's password (defaults to "user")
SERVER SETTINGS
SERVER_MEMORY Increases maximum permanent generation size
SERVER_URL Sets Rundeck's grails.serverURL
SERVER_PORT Sets Rundeck's listening port (defaults to "4440")
USE_INTERNAL_IP When SERVER_URL is undefined, use the container's eth0 address (otherwise try to guess external)
SSL SETTINGS
SERVER_SECURED_URL Sets Rundeck's grails.serverURL and HTTPS protocol
SERVER_SECURED_PORT Sets Rundeck's listening secured port (defaults to "4443")
PFX_CERTIFICATE_URL Location (file, folder or URL) of the PFX certificate to be used in the SSL certificate; if not provided then a personal SSL will be generated
PFX_CERTIFICATE_PASSWORD Password used to decrypt the private contents of your PFX file
DB SETTINGS
JDBC_DRIVER Enables interaction with a db (defaults to "postgresql", another common option is "mysql")
DB_HOST Database server host address (if not provided then local storage used)
DB_PORT Database server listening port (defaults to "5432")
DB_NAME Rundeck's database name (defaults to "rundeck"; the database won't be created for you, you need to create it upfront and prior to running your Rundeck container)
DB_USER Database username (defaults to "rundeck")
DB_PASSWORD Database password (defaults to "rundeck")
EMAIL SETTINGS
MAIL_HOST Email server host address (if not provided then no email notifications will be available)
MAIL_PORT Email server port number (defaults to "25")
MAIL_FROM From email account
MAIL_USER Email server username
MAIL_PASSWORD Email server password
ACTIVE DIRECTORY SETTINGS
AD_HOST Active Directory (AD) server to be used
AD_PORT AD server port number (defaults to "389")
AD_BINDN Username used to query your AD in distinguised name (DN) form e.g. "cn=myusername,dc=example,dc=com" (https://msdn.microsoft.com/en-us/library/windows/desktop/aa366101(v=vs.85).aspx)
AD_BINPASSWORD Password used to query your AD in clear text
AD_USERBASEDN Base DN to search for users, this is the OU which recursive searches for users will be performed on, e.g. "ou=People,dc=test1,dc=example,dc=com"
AD_ROLEBASEDN Base DN for role membership search, this is where your "rundeck" AD user group is, e.g. "ou=Groups,dc=test1,dc=example,dc=com".