2020-01-14 12:12:55 +13:00
|
|
|
#!/bin/bash
|
|
|
|
|
2020-02-10 20:13:40 +13:00
|
|
|
# sudo docker run -p 80:8080 -p 59000-59100:59000-59100/udp --cap-add SYS_ADMIN --shm-size=1gb nurdism/neko:chromium
|
2020-01-30 20:19:57 +13:00
|
|
|
# sudo docker run -p 80:8080 -p 59000-59100:59000-59100/udp --shm-size=1gb nurdism/neko:firefox
|
2020-01-31 13:42:05 +13:00
|
|
|
# sudo docker run --network host --shm-size=1gb -it nurdism/neko:base /bin/bash
|
2020-01-30 20:19:57 +13:00
|
|
|
|
|
|
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )/.."
|
|
|
|
|
|
|
|
build_gst() {
|
2020-04-19 08:56:13 +12:00
|
|
|
if [ ! -L /gst || ! -d /gst ]; then
|
|
|
|
sudo rm -rf /gst;
|
2020-01-30 20:19:57 +13:00
|
|
|
sudo mkdir -p /workspace/.build/gst
|
|
|
|
sudo ln -s /workspace/.build/gst /gst
|
|
|
|
sudo chown -R neko /workspace/.build
|
|
|
|
fi
|
|
|
|
|
2020-01-31 13:42:05 +13:00
|
|
|
#
|
2020-01-30 20:19:57 +13:00
|
|
|
# build & install gstreamer
|
|
|
|
sudo su -c 'set -eux; \
|
2020-01-31 13:42:05 +13:00
|
|
|
rm -rf /gst/local; \
|
2020-01-30 20:19:57 +13:00
|
|
|
cd /gst; \
|
|
|
|
for MODULE in \
|
|
|
|
gstreamer \
|
|
|
|
gst-plugins-base \
|
|
|
|
gst-plugins-good \
|
|
|
|
; do \
|
|
|
|
if [ ! -d $MODULE ]; then
|
|
|
|
git clone git://anongit.freedesktop.org/gstreamer/$MODULE; \
|
|
|
|
fi
|
|
|
|
cd $MODULE; \
|
|
|
|
git checkout 1.16; \
|
|
|
|
case $MODULE in \
|
|
|
|
gstreamer) GST_ARGS="--disable-gtk-doc" ;; \
|
|
|
|
gst-plugins-base) GST_ARGS="--disable-gtk-doc --disable-x --disable-xvideo" ;; \
|
|
|
|
gst-plugins-good) GST_ARGS="--disable-gtk-doc --disable-oss --disable-oss4 --disable-gst_v4l2" ;; \
|
|
|
|
esac; \
|
|
|
|
PATH=/gst/local/bin:$PATH PKG_CONFIG_PATH=/gst/local/lib/pkgconfig ./autogen.sh --prefix /gst/local $GST_ARGS; \
|
|
|
|
make; make install; \
|
|
|
|
cd /gst; \
|
|
|
|
done'
|
|
|
|
}
|
|
|
|
|
|
|
|
build_base() {
|
|
|
|
set -eux; \
|
2020-04-19 13:12:49 +12:00
|
|
|
cd $DIR/server; go get -v -t -d . ; ./build; \
|
2020-01-30 20:19:57 +13:00
|
|
|
cd $DIR/client; npm install; npm run build; \
|
2020-04-22 08:01:21 +12:00
|
|
|
cd $DIR; sudo docker build -f .docker/files/base/Dockerfile -t nurdism/neko:base . ;
|
2020-01-30 20:19:57 +13:00
|
|
|
}
|
|
|
|
|
2020-04-22 08:01:21 +12:00
|
|
|
build_latest() {
|
2020-01-30 20:19:57 +13:00
|
|
|
set -eux; \
|
2020-04-22 08:01:21 +12:00
|
|
|
cd $DIR; sudo docker build -f .docker/files/$1/Dockerfile -t nurdism/neko:latest . ;
|
2020-01-30 20:19:57 +13:00
|
|
|
}
|
|
|
|
|
2020-04-22 08:01:21 +12:00
|
|
|
build_image() {
|
2020-01-30 20:19:57 +13:00
|
|
|
set -eux; \
|
2020-04-22 08:01:21 +12:00
|
|
|
cd $DIR; sudo docker build -f .docker/files/$1/Dockerfile -t nurdism/neko:$1 . ;
|
2020-01-30 20:19:57 +13:00
|
|
|
}
|
|
|
|
|
2020-04-22 08:01:21 +12:00
|
|
|
build() {
|
2020-01-30 20:19:57 +13:00
|
|
|
if [ ! -d /gst/local ]; then
|
|
|
|
build_gst
|
|
|
|
fi
|
|
|
|
|
2020-04-22 08:01:21 +12:00
|
|
|
if [ $1 != "" ]; then
|
|
|
|
build_image $1
|
|
|
|
else
|
|
|
|
set -eux; \
|
|
|
|
build_image "deps"; \
|
|
|
|
build_image "base"; \
|
|
|
|
build_base; \
|
|
|
|
build_image "openbox"; \
|
|
|
|
build_image "xfce4"; \
|
|
|
|
build_image "jwm"; \
|
|
|
|
build_image "firefox"; \
|
|
|
|
build_image "chromium";
|
|
|
|
fi
|
2020-01-30 20:19:57 +13:00
|
|
|
|
2020-04-22 08:01:21 +12:00
|
|
|
sudo docker images nurdism/neko
|
2020-01-30 20:19:57 +13:00
|
|
|
}
|
|
|
|
|
2020-04-22 08:01:21 +12:00
|
|
|
push() {
|
|
|
|
if [ $1 != "" ]; then
|
|
|
|
sudo docker push nurdism/neko:$1
|
|
|
|
else
|
|
|
|
sudo docker push nurdism/neko:deps
|
|
|
|
sudo docker push nurdism/neko:base
|
|
|
|
sudo docker push nurdism/neko:openbox
|
|
|
|
sudo docker push nurdism/neko:xfce4
|
|
|
|
sudo docker push nurdism/neko:jwm
|
|
|
|
sudo docker push nurdism/neko:firefox
|
|
|
|
sudo docker push nurdism/neko:chromium
|
|
|
|
fi
|
|
|
|
}
|
2020-02-05 04:38:19 +13:00
|
|
|
|
2020-01-30 20:19:57 +13:00
|
|
|
case $1 in
|
2020-04-22 08:01:21 +12:00
|
|
|
images) build;;
|
|
|
|
image) build $2 ;;
|
|
|
|
push) push $2 ;;
|
|
|
|
latest) build_latest ;;
|
|
|
|
base) build_image "base" ;;
|
|
|
|
deps) build_image "deps" ;;
|
|
|
|
dev) build_image "dev" ;;
|
2020-01-30 20:19:57 +13:00
|
|
|
gst) build_gst ;;
|
|
|
|
*) build_docker ;;
|
|
|
|
esac
|