summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--other/bootstrap_daemon/docker/Dockerfile65
1 files changed, 32 insertions, 33 deletions
diff --git a/other/bootstrap_daemon/docker/Dockerfile b/other/bootstrap_daemon/docker/Dockerfile
index ef9d525c..d4d611b5 100644
--- a/other/bootstrap_daemon/docker/Dockerfile
+++ b/other/bootstrap_daemon/docker/Dockerfile
@@ -1,7 +1,8 @@
1FROM debian:jessie 1FROM debian:jessie
2 2
3# get all deps 3WORKDIR /tmp/tox
4RUN apt-get update && apt-get install -y \ 4
5RUN export BUILD_PACKAGES="\
5 build-essential \ 6 build-essential \
6 libtool \ 7 libtool \
7 autotools-dev \ 8 autotools-dev \
@@ -12,41 +13,40 @@ RUN apt-get update && apt-get install -y \
12 yasm \ 13 yasm \
13 libsodium-dev \ 14 libsodium-dev \
14 libconfig-dev \ 15 libconfig-dev \
15 python3 \ 16 python3" && \
16 && apt-get clean \ 17 export RUNTIME_PACKAGES="\
17 && rm -rf /var/lib/apt/lists/* 18 libconfig9 \
18 19 libsodium13" && \
20# get all deps
21 apt-get update && apt-get install -y $BUILD_PACKAGES $RUNTIME_PACKAGES && \
19# install toxcore and daemon 22# install toxcore and daemon
20WORKDIR /root/ 23 git clone https://github.com/irungentoo/toxcore && \
21RUN git clone https://github.com/irungentoo/toxcore 24 cd toxcore && \
22WORKDIR /root/toxcore/ 25 ./autogen.sh && \
23RUN ./autogen.sh 26 ./configure --enable-daemon && \
24RUN ./configure --enable-daemon 27 make -j`nproc` && \
25RUN make -j`nproc` 28 make install -j`nproc` && \
26RUN make install -j`nproc` 29 ldconfig && \
27RUN ldconfig
28
29WORKDIR /root/toxcore/other/bootstrap_daemon/
30
31# add new user 30# add new user
32RUN useradd --home-dir /var/lib/tox-bootstrapd --create-home \ 31 useradd --home-dir /var/lib/tox-bootstrapd --create-home \
33 --system --shell /sbin/nologin \ 32 --system --shell /sbin/nologin \
34 --comment "Account to run Tox's DHT bootstrap daemon" \ 33 --comment "Account to run Tox's DHT bootstrap daemon" \
35 --user-group tox-bootstrapd 34 --user-group tox-bootstrapd && \
36RUN chmod 700 /var/lib/tox-bootstrapd 35 chmod 700 /var/lib/tox-bootstrapd && \
37 36 cp other/bootstrap_daemon/tox-bootstrapd.conf /etc/tox-bootstrapd.conf && \
38RUN cp tox-bootstrapd.conf /etc/tox-bootstrapd.conf
39
40# remove all the example bootstrap nodes from the config file 37# remove all the example bootstrap nodes from the config file
41RUN N=-1 && \ 38 sed -i '/^bootstrap_nodes = /,$d' /etc/tox-bootstrapd.conf && \
42 while grep -q "bootstrap_nodes =" /etc/tox-bootstrapd.conf; \
43 do \
44 head -n $N tox-bootstrapd.conf > /etc/tox-bootstrapd.conf; \
45 N=$((N-1)); \
46 done
47
48# add bootstrap nodes from https://nodes.tox.chat/ 39# add bootstrap nodes from https://nodes.tox.chat/
49RUN python3 docker/get-nodes.py >> /etc/tox-bootstrapd.conf 40 python3 other/bootstrap_daemon/docker/get-nodes.py >> /etc/tox-bootstrapd.conf && \
41# perform cleanup
42 export AUTO_ADDED_PACKAGES="$(apt-mark showauto)" && \
43 apt-get remove --purge -y $BUILD_PACKAGES $AUTO_ADDED_PACKAGES && \
44 apt-get clean && \
45 rm -rf /var/lib/apt/lists/* && \
46 cd / && \
47 rm -rf /tmp/*
48
49WORKDIR /var/lib/tox-bootstrapd
50 50
51USER tox-bootstrapd 51USER tox-bootstrapd
52 52
@@ -55,5 +55,4 @@ ENTRYPOINT /usr/local/bin/tox-bootstrapd \
55 --log-backend stdout \ 55 --log-backend stdout \
56 --foreground 56 --foreground
57 57
58EXPOSE 443 3389 33445 58EXPOSE 443/tcp 3389/tcp 33445/tcp 33445/udp
59EXPOSE 33445/udp