Add a Dockerfile and update bin readme (#202)
* add dockerfile for easier testing * whitespace * update tools source location in bin readme * add target to example build and remove optional CMD from example run
This commit is contained in:
+53
@@ -0,0 +1,53 @@
|
|||||||
|
FROM ubuntu:focal
|
||||||
|
|
||||||
|
## Usage:
|
||||||
|
# docker build -t bacnet --target bacnet .
|
||||||
|
# docker run --rm --name bacnet -d bacnet <device_id> [<device_name>]
|
||||||
|
|
||||||
|
## To run client commands that affect this server from inside the same
|
||||||
|
## container, use BBMD Foreign Device Registration by first exporting
|
||||||
|
## the following:
|
||||||
|
# BACNET_IP_PORT, BACNET_BBMD_PORT, and BACNET_BBMD_ADDRESS
|
||||||
|
|
||||||
|
## For example:
|
||||||
|
# docker run --rm --name bacnet -d bacnet
|
||||||
|
# docker exec -ti bacnet bash
|
||||||
|
# export BACNET_IP_PORT=47809
|
||||||
|
# export BACNET_BBMD_PORT=47808
|
||||||
|
# export BACNET_BBMD_ADDRESS="$(hostname -I | cut -d' ' -f1)"
|
||||||
|
# /opt/bacnet/bin/bacwi -1 1234
|
||||||
|
# /opt/bacnet/bin/bacrp 1234 device 1234 object-name
|
||||||
|
## etc.
|
||||||
|
|
||||||
|
## Check bacnet-stack/bin/readme.txt for more docs related to the
|
||||||
|
## example utilities and environment variables. Note that this docker
|
||||||
|
## image does not add the shell scripts in that folder as many of them
|
||||||
|
## are broken. Even so, reading them may be instructive.
|
||||||
|
|
||||||
|
|
||||||
|
SHELL ["/bin/bash", "-c"]
|
||||||
|
|
||||||
|
RUN set -xe; \
|
||||||
|
apt-get update; apt-get upgrade -y; apt-get --purge autoremove -y; \
|
||||||
|
apt-get install -y build-essential curl; \
|
||||||
|
apt-get -y autoclean; apt-get -y clean
|
||||||
|
|
||||||
|
RUN set -euxo pipefail; \
|
||||||
|
mkdir -p bin; \
|
||||||
|
curl -LSs https://github.com/bacnet-stack/bacnet-stack/archive/refs/tags/bacnet-stack-1.0.0.tar.gz -o bacnet-stack.tar.gz; \
|
||||||
|
tar -xzf bacnet-stack.tar.gz; \
|
||||||
|
( cd bacnet-*/; \
|
||||||
|
make; \
|
||||||
|
rm -f -- bin/*.{bat,sh,txt}; \
|
||||||
|
mv -- bin/* /build/bin/; \
|
||||||
|
); \
|
||||||
|
rm -rf bacnet-*/
|
||||||
|
|
||||||
|
|
||||||
|
FROM ubuntu:focal AS bacnet
|
||||||
|
WORKDIR /opt/bacnet
|
||||||
|
COPY --from=builder /build/bin/* /opt/bacnet/bin/
|
||||||
|
EXPOSE 47808/udp
|
||||||
|
ENTRYPOINT ["/opt/bacnet/bin/bacserv"]
|
||||||
|
CMD ["1234", "test_server"]
|
||||||
|
|
||||||
+16
-16
@@ -178,20 +178,20 @@ The source code and makefiles for the bacnet-tools is included in the
|
|||||||
BACnet Protocol Stack library and can be found at:
|
BACnet Protocol Stack library and can be found at:
|
||||||
http://bacnet.sourceforge.net/
|
http://bacnet.sourceforge.net/
|
||||||
|
|
||||||
The bacnet-tools source is located in bacnet-stack/demo/project where:
|
The bacnet-tools source is located in bacnet-stack/apps/project where:
|
||||||
bacarf - bacnet-stack/demo/readfile
|
bacarf - bacnet-stack/apps/readfile
|
||||||
bacawf - bacnet-stack/demo/writefile
|
bacawf - bacnet-stack/apps/writefile
|
||||||
bacdcc - bacnet-stack/demo/dcc
|
bacdcc - bacnet-stack/apps/dcc
|
||||||
bacepics - bacnet-stack/demo/epics
|
bacepics - bacnet-stack/apps/epics
|
||||||
bacrd - bacnet-stack/demo/reinit
|
bacrd - bacnet-stack/apps/reinit
|
||||||
bacrp - bacnet-stack/demo/readprop
|
bacrp - bacnet-stack/apps/readprop
|
||||||
bacrpm - bacnet-stack/demo/readpropm
|
bacrpm - bacnet-stack/apps/readpropm
|
||||||
bacscov - bacnet-stack/demo/scov
|
bacscov - bacnet-stack/apps/scov
|
||||||
bacts - bacnet-stack/demo/timesync
|
bacts - bacnet-stack/apps/timesync
|
||||||
bacucov - bacnet-stack/demo/ucov
|
bacucov - bacnet-stack/apps/ucov
|
||||||
bacupt - bacnet-stack/demo/uptransfer
|
bacupt - bacnet-stack/apps/uptransfer
|
||||||
bacwh - bacnet-stack/demo/whohas
|
bacwh - bacnet-stack/apps/whohas
|
||||||
bacwi - bacnet-stack/demo/whois
|
bacwi - bacnet-stack/apps/whois
|
||||||
bacwp - bacnet-stack/demo/writeprop
|
bacwp - bacnet-stack/apps/writeprop
|
||||||
bacserv - bacnet-stack/demo/server
|
bacserv - bacnet-stack/apps/server
|
||||||
etc.
|
etc.
|
||||||
Reference in New Issue
Block a user