summaryrefslogtreecommitdiffstats
path: root/lava-master-base/Dockerfile
diff options
context:
space:
mode:
authorCorentin LABBE <clabbe@baylibre.com>2018-07-16 14:26:44 +0200
committerCorentin LABBE <clabbe@baylibre.com>2018-07-25 21:48:25 +0200
commitb8f561127a2ba09f3c2e49194d8d63b6960023b2 (patch)
treee30eb342b60ad9357e6369bc0c9c1f416b4150e9 /lava-master-base/Dockerfile
parentbaf680990ecb539cde0a16ef5b32a7321dd4538a (diff)
Split dockerfile in two images
The process of building LAVA is hard to maintain. But since we need to be able to go back in time (or just stay longer with a specific version) we need a way to keep a LAVA version. For achieving this, we build a minimal image with just LAVA and tag it with the version of LAVA inside.
Diffstat (limited to 'lava-master-base/Dockerfile')
-rw-r--r--lava-master-base/Dockerfile56
1 files changed, 56 insertions, 0 deletions
diff --git a/lava-master-base/Dockerfile b/lava-master-base/Dockerfile
new file mode 100644
index 0000000..ef4ff2f
--- /dev/null
+++ b/lava-master-base/Dockerfile
@@ -0,0 +1,56 @@
+FROM bitnami/minideb:stretch
+
+RUN echo "deb http://deb.debian.org/debian/ stretch-backports main" >> /etc/apt/sources.list
+
+RUN apt-get update
+
+# Install debian packages used by the container
+# Configure apache to run the lava server
+# Log the hostname used during install for the slave name
+RUN echo 'lava-server lava-server/instance-name string lava-docker-instance' | debconf-set-selections \
+ && echo 'locales locales/locales_to_be_generated multiselect C.UTF-8 UTF-8, en_US.UTF-8 UTF-8 ' | debconf-set-selections \
+ && echo 'locales locales/default_environment_locale select en_US.UTF-8' | debconf-set-selections
+
+# e2fsprogs is for libguestfs
+RUN DEBIAN_FRONTEND=noninteractive apt-get -y install \
+ locales \
+ postgresql \
+ screen \
+ sudo \
+ wget \
+ e2fsprogs \
+ gnupg \
+ vim
+
+RUN wget http://images.validation.linaro.org/production-repo/production-repo.key.asc \
+ && apt-key add production-repo.key.asc \
+ && echo 'deb http://images.validation.linaro.org/production-repo/ stretch-backports main' > /etc/apt/sources.list.d/lava.list \
+ && apt-get clean && apt-get update
+
+RUN service postgresql start \
+ && DEBIAN_FRONTEND=noninteractive apt-get -y install lava \
+ && sudo -u postgres psql lavaserver -c "DELETE FROM lava_scheduler_app_worker WHERE lava_scheduler_app_worker.hostname = 'example.com';" \
+ && service postgresql stop
+
+RUN a2enmod proxy \
+ && a2enmod proxy_http \
+ && a2dissite 000-default \
+ && a2ensite lava-server
+
+# Add services helper utilities to start and stop LAVA
+COPY scripts/stop.sh .
+COPY scripts/start.sh .
+COPY scripts/lava-logs /etc/init.d/
+RUN chmod 755 /etc/init.d/lava-logs
+COPY scripts/lava-master /etc/init.d/
+RUN chmod 755 /etc/init.d/lava-master
+COPY scripts/lava-slave /etc/init.d/
+RUN chmod 755 /etc/init.d/lava-slave
+COPY scripts/lava-server-gunicorn /etc/init.d/
+RUN chmod 755 /etc/init.d/lava-server-gunicorn
+
+RUN dpkg -l | grep lava
+
+EXPOSE 80 3079 5555 5556
+
+CMD /start.sh && while [ true ];do sleep 365d; done