install dokku from built deb package and use docker image for integrations tests

This commit is contained in:
Michael Hobbs
2019-06-11 11:32:41 -07:00
committed by Jose Diaz-Gonzalez
parent 1f882d09bf
commit d8ada6a6e9
9 changed files with 102 additions and 89 deletions

View File

@@ -10,43 +10,43 @@ ARG DOKKU_SKIP_KEY_FILE=true
ARG DOKKU_VHOST_ENABLE=false
ARG DOKKU_WEB_CONFIG=false
RUN addgroup --gid $DOKKU_GID dokku && \
adduser --uid $DOKKU_UID --gid $DOKKU_GID --disabled-password --gecos "" "dokku"
COPY ./build/dokku.deb /tmp/dokku.deb
RUN echo "dokku dokku/hostname string $DOKKU_HOSTNAME" | debconf-set-selections && \
echo "dokku dokku/skip_key_file boolean $DOKKU_SKIP_KEY_FILE" | debconf-set-selections && \
echo "dokku dokku/vhost_enable boolean $DOKKU_VHOST_ENABLE" | debconf-set-selections && \
echo "dokku dokku/web_config boolean $DOKKU_WEB_CONFIG" | debconf-set-selections && \
curl -sSL https://packagecloud.io/dokku/dokku/gpgkey | apt-key add - && \
echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ bionic main" | tee /etc/apt/sources.list.d/dokku.list && \
apt-get update && apt-get -y upgrade && apt-get --no-install-recommends -qq -y install \
dokku \
rsync && \
apt-get purge -y syslog-ng-core && \
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN addgroup --gid $DOKKU_GID dokku \
&& adduser --uid $DOKKU_UID --gid $DOKKU_GID --disabled-password --gecos "" "dokku"
RUN echo "dokku dokku/hostname string $DOKKU_HOSTNAME" | debconf-set-selections \
&& echo "dokku dokku/skip_key_file boolean $DOKKU_SKIP_KEY_FILE" | debconf-set-selections \
&& echo "dokku dokku/vhost_enable boolean $DOKKU_VHOST_ENABLE" | debconf-set-selections \
&& echo "dokku dokku/web_config boolean $DOKKU_WEB_CONFIG" | debconf-set-selections \
&& curl -sSL https://packagecloud.io/dokku/dokku/gpgkey | apt-key add - \
&& echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ bionic main" | tee /etc/apt/sources.list.d/dokku.list \
&& apt-get update -qq \
&& apt-get install --no-install-recommends --only-upgrade -y -qq openssl openssh-server \
&& apt --no-install-recommends -qq -y install rsync /tmp/dokku.deb \
&& apt-get purge -y -q syslog-ng-core \
&& apt-get autoremove -y -q \
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
WORKDIR /tmp
COPY ./docker .
RUN \
rsync -a /tmp/ / && \
rm -rf /tmp/* && \
rm /etc/runit/runsvdir/default/sshd/down && \
chown -R dokku:dokku /home/dokku/ && \
mkdir -p /skel/etc /skel/home /skel/var/lib/dokku /var/log/services && \
mv /etc/ssh /skel/etc/ssh && \
mv /home/dokku /skel/home/dokku && \
mv /var/lib/dokku/config /skel/var/lib/dokku/config && \
mv /var/lib/dokku/data /skel/var/lib/dokku/data && \
ln -sf /mnt/dokku/etc/ssh /etc/ssh && \
ln -sf /mnt/dokku/home/dokku /home/dokku && \
ln -sf /mnt/dokku/var/lib/dokku/config /var/lib/dokku/config && \
ln -sf /mnt/dokku/var/lib/dokku/data /var/lib/dokku/data && \
mv /etc/my_init.d/00_regen_ssh_host_keys.sh \
/etc/my_init.d/15_regen_ssh_host_keys && \
rm /etc/nginx/sites-enabled/default && \
rm /usr/share/nginx/html/index.html && \
rm /etc/my_init.d/10_syslog-ng.init && \
sed -i '/imklog/d' /etc/rsyslog.conf && \
rm /var/log/btmp /var/log/wtmp /var/log/*log /var/log/apt/* /var/log/dokku/* /var/log/nginx/*
rsync -a /tmp/ / \
&& rm -rf /tmp/* \
&& rm /etc/runit/runsvdir/default/sshd/down \
&& chown -R dokku:dokku /home/dokku/ \
&& mkdir -p /skel/etc /skel/home /skel/var/lib/dokku /var/log/services \
&& mv /etc/ssh /skel/etc/ssh \
&& mv /home/dokku /skel/home/dokku \
&& mv /var/lib/dokku/config /skel/var/lib/dokku/config \
&& mv /var/lib/dokku/data /skel/var/lib/dokku/data \
&& ln -sf /mnt/dokku/etc/ssh /etc/ssh \
&& ln -sf /mnt/dokku/home/dokku /home/dokku \
&& ln -sf /mnt/dokku/var/lib/dokku/config /var/lib/dokku/config \
&& ln -sf /mnt/dokku/var/lib/dokku/data /var/lib/dokku/data \
&& mv /etc/my_init.d/00_regen_ssh_host_keys.sh /etc/my_init.d/15_regen_ssh_host_keys \
&& rm /etc/nginx/sites-enabled/default /usr/share/nginx/html/index.html /etc/my_init.d/10_syslog-ng.init \
&& sed -i '/imklog/d' /etc/rsyslog.conf \
&& rm /var/log/btmp /var/log/wtmp /var/log/*log /var/log/apt/* /var/log/dokku/* /var/log/nginx/*