1*4882a593Smuzhiyun# SPDX-License-Identifier: MIT 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# Copyright (c) 2022 Daniel Gomez <daniel@qtec.com> 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun# Dockerfile to build a bitbake PR service container 6*4882a593Smuzhiyun# 7*4882a593Smuzhiyun# From the root of the bitbake repository, run: 8*4882a593Smuzhiyun# 9*4882a593Smuzhiyun# docker build -f contrib/prserv/Dockerfile . -t prserv 10*4882a593Smuzhiyun# 11*4882a593Smuzhiyun# Running examples: 12*4882a593Smuzhiyun# 13*4882a593Smuzhiyun# 1. PR Service in RW mode, port 18585: 14*4882a593Smuzhiyun# 15*4882a593Smuzhiyun# docker run --detach --tty \ 16*4882a593Smuzhiyun# --env PORT=18585 \ 17*4882a593Smuzhiyun# --publish 18585:18585 \ 18*4882a593Smuzhiyun# --volume $PWD:/var/lib/bbprserv \ 19*4882a593Smuzhiyun# prserv 20*4882a593Smuzhiyun# 21*4882a593Smuzhiyun# 2. PR Service in RO mode, default port (8585) and custom LOGFILE: 22*4882a593Smuzhiyun# 23*4882a593Smuzhiyun# docker run --detach --tty \ 24*4882a593Smuzhiyun# --env DBMODE="--read-only" \ 25*4882a593Smuzhiyun# --env LOGFILE=/var/lib/bbprserv/prservro.log \ 26*4882a593Smuzhiyun# --publish 8585:8585 \ 27*4882a593Smuzhiyun# --volume $PWD:/var/lib/bbprserv \ 28*4882a593Smuzhiyun# prserv 29*4882a593Smuzhiyun# 30*4882a593Smuzhiyun 31*4882a593SmuzhiyunFROM alpine:3.14.4 32*4882a593Smuzhiyun 33*4882a593SmuzhiyunRUN apk add --no-cache python3 34*4882a593Smuzhiyun 35*4882a593SmuzhiyunCOPY bin/bitbake-prserv /opt/bbprserv/bin/ 36*4882a593SmuzhiyunCOPY lib/prserv /opt/bbprserv/lib/prserv/ 37*4882a593SmuzhiyunCOPY lib/bb /opt/bbprserv/lib/bb/ 38*4882a593SmuzhiyunCOPY lib/codegen.py /opt/bbprserv/lib/codegen.py 39*4882a593SmuzhiyunCOPY lib/ply /opt/bbprserv/lib/ply/ 40*4882a593SmuzhiyunCOPY lib/bs4 /opt/bbprserv/lib/bs4/ 41*4882a593Smuzhiyun 42*4882a593SmuzhiyunENV PATH=$PATH:/opt/bbprserv/bin 43*4882a593Smuzhiyun 44*4882a593SmuzhiyunRUN mkdir -p /var/lib/bbprserv 45*4882a593Smuzhiyun 46*4882a593SmuzhiyunENV DBFILE=/var/lib/bbprserv/prserv.sqlite3 \ 47*4882a593Smuzhiyun LOGFILE=/var/lib/bbprserv/prserv.log \ 48*4882a593Smuzhiyun LOGLEVEL=debug \ 49*4882a593Smuzhiyun HOST=0.0.0.0 \ 50*4882a593Smuzhiyun PORT=8585 \ 51*4882a593Smuzhiyun DBMODE="" 52*4882a593Smuzhiyun 53*4882a593SmuzhiyunENTRYPOINT [ "/bin/sh", "-c", \ 54*4882a593Smuzhiyun"bitbake-prserv \ 55*4882a593Smuzhiyun--file=$DBFILE \ 56*4882a593Smuzhiyun--log=$LOGFILE \ 57*4882a593Smuzhiyun--loglevel=$LOGLEVEL \ 58*4882a593Smuzhiyun--start \ 59*4882a593Smuzhiyun--host=$HOST \ 60*4882a593Smuzhiyun--port=$PORT \ 61*4882a593Smuzhiyun$DBMODE \ 62*4882a593Smuzhiyun&& tail -f $LOGFILE"] 63