Rundeck server based on Debian
Jacek Kowalski
2018-11-23 d6614ac52b3af6b8bca8c8c23438a020076faa33
Fixes for Rundeck 3.0 release
3 files modified
56 ■■■■ changed files
Dockerfile 13 ●●●● patch | view | raw | blame | history
README.md 27 ●●●●● patch | view | raw | blame | history
run.sh 16 ●●●●● patch | view | raw | blame | history
Dockerfile
@@ -1,20 +1,19 @@
FROM debian:stretch
FROM openjdk:8-jre-slim
ENV DEBIAN_FRONTEND noninteractive
ENV RDECK_JVM_SETTINGS "-Xmx1024m -Xms256m -XX:MaxMetaspaceSize=256m -server"
EXPOSE 4440
ADD *-gpg.key /root/
RUN apt-get -y update \
    && apt-get -y install gnupg \
    && apt-get -y upgrade \
    && echo 'deb http://httpredir.debian.org/debian stretch-backports main' > \
        /etc/apt/sources.list.d/stretch-backports.list \
    && echo "deb http://dl.bintray.com/rundeck/rundeck-deb /" > /etc/apt/sources.list.d/rundeck.list \
    && apt-get -y install openssh-client wget gnupg \
    && echo "deb http://dl.bintray.com/rundeck/rundeck-deb /" \
        > /etc/apt/sources.list.d/rundeck.list \
    && cat /root/*-gpg.key | apt-key add - \
    && apt-get -y update \
    && apt-get -y -t stretch-backports install \
        openssh-client openjdk-8-jre-headless wget rundeck \
    && apt-get -y install rundeck \
    && apt-get -y clean \
    && rm -Rf /var/lib/apt/lists/*
README.md
@@ -3,6 +3,12 @@
This is a Docker image of Rundeck (http://rundeck.org)
based on `debian:latest`
## Upgrading
Since version 3.0 /etc/rundeck/profile will be overriden!
To customize JVM options use environment variable:
`RDECK_JVM_SETTINGS`. See section "Configuration" below.
## Usage
```bash
@@ -29,7 +35,7 @@
### Local volumes
You use local storage instead of data volumes:
You can use local storage instead of data volumes:
```bash
docker run -d --name=rundeck -p 4440:4440 \
@@ -80,4 +86,21 @@
## Configuration
You can change Java system properties and JVM options by modifying
`RDECK_JVM` property in `/etc/rundeck/profile` (which is persisted).
`RDECK_JVM_SETTINGS` environment variable, which defaults to:
```
-Xmx1024m -Xms256m -XX:MaxMetaspaceSize=256m -server
```
Sample:
```
docker run -d --name=rundeck -p 4440:4440 \
    -v /srv/rundeck/etc:/etc/rundeck \
    -v /srv/rundeck/data:/var/lib/rundeck/data \
    -v /srv/rundeck/logs:/var/lib/rundeck/logs \
    -v /srv/rundeck/rundeck:/var/rundeck \
    -v /srv/rundeck/ssh:/var/lib/rundeck/.ssh \
    -e RDECK_JVM_SETTINGS="-Xms1024m -Xmx1024" \
    jacekkow/rundeck
```
run.sh
@@ -4,6 +4,15 @@
    cp -Rfp /etc/rundeck-org/* /etc/rundeck/
fi
# Rundeck 3.0 - new property
if ! grep -q -e "^rundeck.log4j.config.file" /etc/rundeck/rundeck-config.properties; then
    echo "rundeck.log4j.config.file = /etc/rundeck/log4j.properties" \
        >> /etc/rundeck/rundeck-config.properties
fi
# Rundeck 2.7, 3.0 - new profile
cp -fp /etc/rundeck-org/profile /etc/rundeck/profile
chown -Rf rundeck:rundeck /etc/rundeck /var/rundeck /var/lib/rundeck
chmod -Rf o-rwx /etc/rundeck /var/rundeck /var/lib/rundeck
@@ -11,12 +20,5 @@
chmod g+s,o+x /var/lib/rundeck/logs
. /etc/rundeck/profile
# Rundeck 2.6 to 2.7 migration - new profile file
if [ -z "$rundeckd" ]; then
    mv -f /etc/rundeck/profile /etc/rundeck/profile.pre-migration
    cp -f /etc/rundeck-org/profile /etc/rundeck/profile
    . /etc/rundeck/profile
fi
su rundeck -s /bin/bash -c "$rundeckd"