# HOWTO set up buildbot

Install buster on two machines (KVMs) named:
buildbot (master)
bb1 (worker)

# On buildbot KVM:
apt update
apt install buildbot


Answer "Yes". This will install buildbot (server) and buildbot-worker.

man 7 buildbot

buildbot create-master /var/lib/buildbot/masters/fs

chown -R buildbot: /var/lib/buildbot/masters/fs

mv /var/lib/buildbot/masters/fs/master.cfg.sample /var/lib/buildbot/masters/fs/master.cfg

# no changes?
vim /var/lib/buildbot/masters/fs/master.cfg

# Test config is ok:
buildbot checkconfig /var/lib/buildbot/masters/fs/master.cfg

###########################
Set /etc/default/buildbot to be like this (fs=Fork Sand):
MASTER_RUNNER=/usr/bin/buildbot
MASTER_ENABLED[1]=1                    # 1-enabled, 0-disabled
MASTER_NAME[1]="fs"                    # short name printed on start/stop
MASTER_USER[1]="buildbot"              # user to run master as
MASTER_BASEDIR[1]="/var/lib/buildbot/masters/fs"  # basedir to master (absolute path)
MASTER_OPTIONS[1]=""                   # buildbot options
MASTER_PREFIXCMD[1]=""                 # prefix command, i.e. nice, linux32, dchroot
###########################

# Start it:
systemctl start buildbot@fs.service
systemctl enable buildbot@fs.service

###########################################################
# Install via Docker on Buster

https://docs.buildbot.net/current/tutorial/docker.html

apt install docker docker-compose

# Test docker is ok:
docker run -i busybox /bin/echo Success

# clone the example repository
git clone --depth 1 https://github.com/buildbot/buildbot-docker-example-config

# Build the Buildbot container (it will take a few minutes to download packages)
cd buildbot-docker-example-config/simple
docker-compose up

# Create a tunnel:
ssh -N -C -L 8010:localhost:8010 buildbot

# Hit it in browser
http://localhost:8010


############################
# Misc

BuildBot plugin for Gitea:
https://github.com/lab132/buildbot-gitea
https://pypi.org/project/buildbot-gitea/
