aboutsummaryrefslogtreecommitdiff
path: root/Dockerfile
blob: 6342d2b2751c9738817ece7ca3bd50bd351042b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# syntax=docker/dockerfile:1

FROM ubuntu:22.04


# install build tools
RUN apt-get update 
RUN apt-get -y install cmake && apt-get -y install build-essential
RUN apt-get -y install git

# install dependencies
RUN apt-get -y install libboost-all-dev
RUN apt-get -y install libssl-dev
RUN apt-get -y install libwebsocketpp-dev

# create slavehost user
RUN useradd -ms /bin/bash slavehost
RUN usermod -aG sudo slavehost

WORKDIR /home/slavehost

# install plog dependency
RUN git clone https://github.com/SergiusTheBest/plog.git
WORKDIR /home/slavehost/plog
RUN mkdir build
WORKDIR /home/slavehost/plog/build
RUN cmake ..
RUN make
RUN make install

# return to user dir
WORKDIR /home/slavehost

# install nlohmann json
RUN git clone https://github.com/nlohmann/json.git
WORKDIR /home/slavehost/json
RUN mkdir build
WORKDIR /home/slavehost/json/build
RUN cmake ..
RUN make
RUN make install

# return to user dir
WORKDIR /home/slavehost

# change user to slavehost
USER slavehost

# create workspace dir
RUN mkdir -p workspace/nostrsdk

# Add source files to docker container
COPY include /home/slavehost/workspace/nostrsdk/include
COPY src /home/slavehost/workspace/nostrsdk/src
COPY test /home/slavehost/workspace/nostrsdk/test
COPY .gitignore /home/slavehost/workspace/nostrsdk/.gitignore
COPY CMakeLists.txt /home/slavehost/workspace/nostrsdk/CMakeLists.txt

WORKDIR /home/slavehost/workspace/nostrsdk/

RUN mkdir build
WORKDIR /home/slavehost/workspace/nostrsdk/build
RUN cmake ..
RUN make