Giter VIP home page Giter VIP logo

docker-image-rundeck's Introduction

DEPRECATION NOTICE

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).

rundeck

Docker: Docker image eugenmayer/rundeck for running rundeck

Rancher: Also see the corresponding rancher-catalog if you run rancher

Usage

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

Configuration / Adjustments

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

Image details

  1. Rundeck with a (replaceable) postgresql database as sideload
  2. No SSH. Use docker exec
  3. You must supply the EXTERNAL_SERVER_URL parameter
  4. As always, update passwords for pre-installed accounts
  5. I sometimes get connection reset by peer errors when building the Docker image from the Rundeck download URL. Trying again usually works.

Volumes

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

Advanced configuration

Mysql as your backend

If you want to run against a mysql, change DB_TYPE=mysql and include a mysql service like MariaDB or Percona

Rundeck plugins

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

Docker secrets

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.

Environment variables

Please see the .env file

Using an SSL Terminated Proxy

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

Upgrading

See: http://rundeck.org/docs/upgrading/index.html

Upgrading image

  • adjust version to the new version rundeck released
  • run make build

Nginx

A helper to fix the missing OPTIONS calls in rundeck and allowing CORS

Build yourself

make build

# or

docker build . -t yourown

docker-image-rundeck's People

Contributors

adamdecaf avatar amontalban avatar beevelop avatar chenlingmin avatar daniel-baez avatar ddavison avatar dora38 avatar eugeneduvenage avatar eugenmayer avatar jjethwa avatar onjin avatar slind14 avatar stagrlee avatar sxmichael avatar tbpoetke avatar vipulagarwal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

docker-image-rundeck's Issues

Getting SSH Error

Hi

Just a heads up, I've just set about learning RunDeck, you're image seemed quite complete (with the config etc), so initially I ran with this, but I couldn't get it to connect to a server via SSH, I kept getting the following error:

Failed: SSHProtocolFailure: channel is not opened. Execution failed: 9 in project test1: [Workflow result: , step failures: {1=Dispatch failed on 1 nodes: [runner-01-key: SSHProtocolFailure: channel is not opened. + {dataContext=MultiDataContextImpl(map={ContextView(node:runner-01-key)=BaseDataContext{{exec={exitCode=-1}}}, ContextView(step:1, node:runner-01-key)=BaseDataContext{{exec={exitCode=-1}}}}, base=null)} ]}, Node failures: {runner-01-key=[SSHProtocolFailure: channel is not opened. + {dataContext=MultiDataContextImpl(map={ContextView(node:runner-01-key)=BaseDataContext{{exec={exitCode=-1}}}, ContextView(step:1, node:runner-01-key)=BaseDataContext{{exec={exitCode=-1}}}}, base=null)} ]}, status: failed]

I faired a little better when using OpenSSH, i.e. it run the command, but it still returned some error or warning:

/var/lib/rundeck/libext/cache/openssh-node-execution-2.0.1/ssh-exec.sh: line 92: rd_secure_passphrase: invalid indirect expansion

The only option that work correctly was SSHJ-SSH.. I thought this was something I was doing wrong, in the end, I tried the official container image, and I didn't have any issues.

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.