blob: 2ef623b85463bb2bbe7e72c22421971348195148 [file] [log] [blame]
simon3c67a472022-09-11 01:30:02 -04001FROM ubuntu:22.04
2
3WORKDIR /app
4COPY . .
5
6ARG DEBIAN_FRONTEND=noninteractive
7RUN apt-get update && apt-get install -y \
8 autoconf \
9 automake \
10 autopoint \
11 bison \
12 build-essential \
13 cmake \
14 curl \
15 git \
16 libasound2-dev \
17 libdbus-1-dev \
18 libexpat1-dev \
19 libpulse-dev \
20 libtool \
21 libudev-dev \
22 libva-dev \
23 libvdpau-dev \
24 nasm \
25 pkg-config \
26 yasm
27
28# Install Node
29RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash - && \
30 apt-get install -y nodejs && \
31 npm install -g node-gyp
32
33# Install latest Swig (4.1)
34WORKDIR /swig
35RUN git clone https://github.com/swig/swig.git && \
36 cd swig && \
37 ./autogen.sh && \
38 ./configure && \
39 make -j$(nproc) && \
40 make install
41
42WORKDIR /app/daemon
43
44# Build daemon dependencies
45RUN mkdir -p contrib/native && \
46 cd contrib/native && \
47 ../bootstrap && \
48 make -j$(nproc)
49
50# Build the daemon
51RUN ./autogen.sh && \
52 ./configure --with-nodejs && \
53 make -j$(nproc)
54
55WORKDIR /app
56
57RUN apt-get update && apt-get install -y \
58 lldb \
59 liblldb-dev
60
61ENV LD_LIBRARY_PATH=/app/daemon/src/.libs
62ENV SECRET_KEY_BASE=test123
63RUN npm install && \
64 ln -s /app/daemon/bin/nodejs/build/Release/jamid.node jamid.node && \
65 npm run build
66
67CMD ["npm", "start"]