xref: /OK3568_Linux_fs/yocto/poky/bitbake/contrib/prserv/Dockerfile (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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