zeronet/Dockerfile

45 lines
1.3 KiB
Docker
Raw Normal View History

2016-03-19 13:16:39 +00:00
# docker build -t my/zeronet .
2016-03-19 13:18:24 +00:00
# docker run -d --name zeronet -v ~/.zeronetdata:/data -p 43110:43110 my/zeronet
2016-03-19 13:16:39 +00:00
2016-03-19 10:27:52 +00:00
FROM alpine:3.3
MAINTAINER Andrey Arapov <andrey.arapov@nixaid.com>
RUN echo '@testing http://dl-cdn.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories \
&& apk update \
&& apk add py-gevent@testing py-msgpack@testing wget ca-certificates
ENV USER zeronet
ENV UID 7000
ENV HOME /home/$USER
# ENV PROJECT_VER v0.3.5
# ENV PROJECT ZeroNet-0.3.5
ENV PROJECT_VER master
2016-03-19 13:16:39 +00:00
ENV PROJECT ZeroNet-master
ENV DATA /data
2016-03-19 10:27:52 +00:00
RUN adduser -D -u $UID -h $HOME -s /bin/true $USER
2016-03-23 20:27:37 +00:00
# Optionall you may want to enable Tor in order to anonymize the traffic
RUN apk add tor@testing
2016-03-24 22:34:08 +00:00
RUN echo -e "ControlPort 9051\nSocksListenAddress 0.0.0.0" > /etc/tor/torrc
# RUN echo -e "ControlPort 9051" > /etc/tor/torrc
2016-03-23 20:27:37 +00:00
# RUN echo -e "ControlPort 9051\nCookieAuthentication 1" > /etc/tor/torrc
# RUN adduser $USER tor
2016-03-19 10:27:52 +00:00
USER $USER
2016-03-19 13:16:39 +00:00
VOLUME [ "$DATA" ]
2016-03-19 10:27:52 +00:00
WORKDIR $HOME
RUN wget -q https://github.com/HelloZeroNet/ZeroNet/archive/${PROJECT_VER}.tar.gz \
&& tar xpzf ${PROJECT_VER}.tar.gz \
&& rm -f ${PROJECT_VER}.tar.gz \
2016-03-19 13:16:39 +00:00
&& cd $PROJECT \
2016-03-19 10:27:52 +00:00
&& mkdir log \
2016-03-19 13:16:39 +00:00
&& touch log/error.log \
&& ln -sv $DATA ./data
2016-03-19 10:27:52 +00:00
2016-03-19 13:16:39 +00:00
# the launch script needs to chown the /data in case when $UID does not match
# the UID of the host
USER root
COPY launch ./$PROJECT/
CMD ./$PROJECT/launch