Skip to content

Instantly share code, notes, and snippets.

@g-pechorin
Created April 18, 2021 05:55
Show Gist options
  • Save g-pechorin/6b6f36407ab1bdfed738b5e979a699bc to your computer and use it in GitHub Desktop.
Save g-pechorin/6b6f36407ab1bdfed738b5e979a699bc to your computer and use it in GitHub Desktop.
one line to create buildbot server
#
# should/will work on amd64 and rpi
#
FROM debian:buster
MAINTAINER Peter LaValle <peter.lavalle@gmail.com>
#
#
# docker build -f buildbot.Dockerfile -t buildbot ./
# docker run -it -p8010:8010 -v???:/data/server/master.cfg --rm buildbot
#
USER root
RUN apt-get -q -y update && apt-get -q -y install \
apt-utils \
&& apt-get -q -y update && apt-get -q -y install \
build-essential cargo python3-dev python3-venv libssl-dev libffi-dev \
# cleanup
&& apt-get -q -y upgrade \
&& apt-get -q -y autoclean \
&& apt-get -q -y autoremove \
# make a sandbox
&& mkdir /data \
&& cd /data \
&& python3 -m venv sandbox \
# upgrade pip
&& . /data/sandbox/bin/activate \
&& pip install --upgrade pip \
# install some "needed" packages
&& pip install --upgrade wheel \
&& pip install --upgrade incremental \
# build the launch script
&& echo "#!/bin/bash" > /data/buildbot.sh \
&& echo "source /data/sandbox/bin/activate" >> /data/buildbot.sh \
&& echo "buildbot start --nodaemon /data/server" >> /data/buildbot.sh \
&& chmod +=rx /data/buildbot.sh \
# install buildbot itself
&& pip install 'buildbot[bundle]' \
# create the buildbot instance
&& buildbot create-master /data/server
WORKDIR /data
EXPOSE 8010
EXPOSE 9989
CMD /data/buildbot.sh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment