jail(iocage)で、録画サーバその4

ffmpeg導入済みのjailに、EPGStationを導入メモ。ひとまず設定の手前まで。

nodeとnpm
root@recorder:~ # pkg install node12 npm-node12
環境チェック

EPGStation/linux-setup.md at master · l3tnun/EPGStation · GitHub
にある通りにやってみる。

root@recorder:~ # node --version
v12.18.4
root@recorder:~ # ffmpeg -version
ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
built with FreeBSD clang version 8.0.1 (tags/RELEASE_801/final 366581) (based on LLVM 8.0.1)
configuration: --prefix=/usr/local --mandir=/usr/local/man --datadir=/usr/local/share/ffmpeg --pkgconfigdir=/usr/local/libdata/pkgconfig --enable-shared --enable-pic --enable-gpl --enable-avresample --cc=cc --cxx=c++ --disable-alsa --disable-libopencore-amrnb --disable-libopencore-amrwb --enable-libaom --disable-libaribb24 --enable-asm --enable-libass --disable-libbs2b --disable-libcaca --disable-libcdio --disable-libcelt --disable-libcodec2 --enable-libdav1d --disable-libdavs2 --disable-libdc1394 --disable-debug --enable-htmlpages --enable-libdrm --disable-libfdk-aac --disable-libflite --enable-fontconfig --enable-libfreetype --enable-frei0r --disable-libfribidi --disable-gcrypt --disable-libglslang --disable-libgme --enable-gmp --enable-gnutls --enable-version3 --disable-libgsm --enable-iconv --disable-libilbc --disable-libjack --disable-libklvanc --disable-libkvazaar --disable-ladspa --disable-libmp3lame --disable-liblensfun --disable-libbluray --disable-librsvg --disable-librtmp --enable-libxml2 --disable-lto --disable-lv2 --disable-mbedtls --disable-libmfx --disable-libmodplug --disable-libmysofa --disable-nonfree --disable-openal --disable-opencl --enable-libopencv --disable-opengl --disable-libopenh264 --disable-libopenjpeg --disable-libopenmpt --disable-openssl --enable-optimizations --enable-libopus --disable-pocketsphinx --disable-libpulse --disable-librabbitmq --disable-librav1e --enable-runtime-cpudetect --disable-librubberband --disable-sdl2 --disable-libsmbclient --disable-libsnappy --disable-sndio --disable-libsoxr --disable-libspeex --disable-libsrt --disable-libssh --disable-libtensorflow --disable-libtesseract --enable-libtheora --disable-libtwolame --enable-libv4l2 --enable-vaapi --disable-vapoursynth --enable-vdpau --disable-libvidstab --disable-libvmaf --enable-libvorbis --disable-libvo-amrwbenc --enable-libvpx --disable-vulkan --disable-libwavpack --disable-libwebp --enable-libx264 --enable-libx265 --disable-libxavs2 --enable-libxcb --enable-libxvid --disable-outdev=xv --disable-libzimg --disable-libzmq --disable-libzvbi
libavutil      56. 51.100 / 56. 51.100
libavcodec     58. 91.100 / 58. 91.100
libavformat    58. 45.100 / 58. 45.100
libavdevice    58. 10.100 / 58. 10.100
libavfilter     7. 85.100 /  7. 85.100
libavresample   4.  0.  0 /  4.  0.  0
libswscale      5.  7.100 /  5.  7.100
libswresample   3.  7.100 /  3.  7.100
libpostproc    55.  7.100 / 55.  7.100
root@recorder:~ # python --version
python: Command not found.
root@recorder:~ # python3.7 --version
Python 3.7.9
root@recorder:~ # gcc --version
gcc: Command not found.
root@recorder:~ # cc --version
FreeBSD clang version 8.0.1 (tags/RELEASE_801/final 366581) (based on LLVM 8.0.1)
Target: x86_64-unknown-freebsd12.1
Thread model: posix
InstalledDir: /usr/bin

pythongccがあやしいが。。そのまま続行。

EPGStation

1度しか使わないgitをjailの中に入れるの面倒なので、ホスト側で取っておく。

# cd /iocage/jails/recorder/root/root/
# git clone https://github.com/l3tnun/EPGStation.git

jail内に戻って続き。

root@recorder:~ # cd EPGStation/

root@recorder:~/EPGStation # npm install --no-save
...
npm ERR! code EBADPLATFORM
npm ERR! notsup Unsupported platform for mirakurun@3.3.1: wanted {"os":"linux,darwin,win32","arch":"any"} (current: {"os":"freebsd","arch":"x64"})
npm ERR! notsup Valid OS:    linux,darwin,win32
npm ERR! notsup Valid Arch:  any
npm ERR! notsup Actual OS:   freebsd
npm ERR! notsup Actual Arch: x64

mirakurunを導入した時と同じエラーだな。。
ぐぐったら force オプションがそれっぽいので、無理やり導入。

root@recorder:~/EPGStation # npm install mirakurun --no-save --force
...
+ mirakurun@3.3.1
added 106 packages from 41 contributors, updated 1 package and audited 1193 packages in 15.858s
found 2 low severity vulnerabilities
  run `npm audit fix` to fix them, or `npm audit` for details

はいった。
続き。

root@recorder:~/EPGStation # npm run build

> EPGStation@1.7.5 build /root/EPGStation
> gulp build --max_old_space_size=768 --env production

sh: gulp: not found
npm ERR! code ELIFECYCLE
npm ERR! syscall spawn
npm ERR! file sh
npm ERR! errno ENOENT
npm ERR! EPGStation@1.7.5 build: `gulp build --max_old_space_size=768 --env production`
npm ERR! spawn ENOENT
npm ERR! 
npm ERR! Failed at the EPGStation@1.7.5 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

うーん。npmわからん。。まあ無いと言ってるから足して、続き。

root@recorder:~/EPGStation # npm install gulp --no-save
...
+ gulp@4.0.2
updated 1 package, moved 1 package and audited 1086 packages in 8.725s
found 0 vulnerabilities

root@recorder:~/EPGStation # npm run build

> EPGStation@1.7.5 build /root/EPGStation
> gulp build --max_old_space_size=768 --env production

[21:06:38] Node flags detected: --max_old_space_size=768
[21:06:38] Respawned to PID: 35061
[21:06:40] Using gulpfile ~/EPGStation/gulpfile.js
[21:06:40] Starting 'build'...
[21:06:40] Starting 'build-server'...
[21:06:40] Starting 'clean-server'...
[21:06:40] Finished 'clean-server' after 10 ms
[21:06:40] Starting 'tslint-server'...
[21:06:45] Finished 'tslint-server' after 5.66 s
[21:06:45] Starting '<anonymous>'...
[21:06:59] Finished '<anonymous>' after 13 s
[21:06:59] Finished 'build-server' after 19 s
[21:06:59] Starting 'build-client'...
[21:06:59] Starting 'clean-client'...
[21:06:59] Finished 'clean-client' after 7.8 ms
[21:06:59] Starting 'tslint-client'...
[21:07:02] Finished 'tslint-client' after 3.05 s
[21:07:02] Starting '<anonymous>'...
[21:07:18] Version: webpack 4.44.2
Built at: 09/24/2020 9:07:18 PM
             Asset      Size  Chunks                    Chunk Names
            app.js  1.71 MiB       0  [emitted]  [big]  main
app.js.LICENSE.txt   5.3 KiB          [emitted]
Entrypoint main [big] = app.js
[21:07:18] Finished '<anonymous>' after 16 s
[21:07:18] Finished 'build-client' after 19 s
[21:07:18] Starting 'client-css-build'...
[21:07:19] Finished 'client-css-build' after 1.4 s
[21:07:19] Finished 'build' after 39 s
設定の準備まで

ドキュメント通り。

root@recorder:~/EPGStation # cp config/config.sample.json config/config.json
root@recorder:~/EPGStation # cp config/operatorLogConfig.sample.json config/operatorLogConfig.json
root@recorder:~/EPGStation # cp config/serviceLogConfig.sample.json config/serviceLogConfig.json
root@recorder:~/EPGStation #