summaryrefslogtreecommitdiff
path: root/other/bootstrap_daemon/docker/Dockerfile
blob: ef9d525c388c414c8351c5e7ba2bf72ff3aea4e6 (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
FROM debian:jessie

# get all deps
RUN apt-get update && apt-get install -y \
      build-essential \
      libtool \
      autotools-dev \
      automake \
      checkinstall \
      check \
      git \
      yasm \
      libsodium-dev \
      libconfig-dev \
      python3 \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

# install toxcore and daemon
WORKDIR /root/
RUN git clone https://github.com/irungentoo/toxcore
WORKDIR /root/toxcore/
RUN ./autogen.sh
RUN ./configure --enable-daemon
RUN make -j`nproc`
RUN make install -j`nproc`
RUN ldconfig

WORKDIR /root/toxcore/other/bootstrap_daemon/

# add new user
RUN useradd --home-dir /var/lib/tox-bootstrapd --create-home \
      --system --shell /sbin/nologin \
      --comment "Account to run Tox's DHT bootstrap daemon" \
      --user-group tox-bootstrapd
RUN chmod 700 /var/lib/tox-bootstrapd

RUN cp tox-bootstrapd.conf /etc/tox-bootstrapd.conf

# remove all the example bootstrap nodes from the config file
RUN N=-1 && \
    while grep -q "bootstrap_nodes =" /etc/tox-bootstrapd.conf; \
    do \
      head -n $N tox-bootstrapd.conf > /etc/tox-bootstrapd.conf; \
      N=$((N-1)); \
    done

# add bootstrap nodes from https://nodes.tox.chat/
RUN python3 docker/get-nodes.py >> /etc/tox-bootstrapd.conf

USER tox-bootstrapd

ENTRYPOINT /usr/local/bin/tox-bootstrapd \
             --config /etc/tox-bootstrapd.conf \
             --log-backend stdout \
             --foreground

EXPOSE 443 3389 33445
EXPOSE 33445/udp