mirror of
https://github.com/HelloZeroNet/ZeroNet.git
synced 2023-12-14 04:33:03 +01:00
945687bdad
In py2 version, `COPY . /root` was placed after `RUN apk ...`, so that the result of `RUN apk ...` can be cached by Docker. In py3 version, the commands were reordered to make the file `/root/requirements.txt` available for `pip install`. That prevents caching, and the docker image every time is rebuild from scrach. To enable the caching back again, we can `COPY` just the single file `requirements.txt` before running other commands. Since the file is unmodified most of the time, the resulting image can be effectively cached. The other ZeroNet files are copied after doing `RUN apk ...`, as in the previous version.
28 lines
681 B
Docker
28 lines
681 B
Docker
FROM alpine:3.8
|
|
|
|
#Base settings
|
|
ENV HOME /root
|
|
|
|
COPY requirements.txt /root/requirements.txt
|
|
|
|
#Install ZeroNet
|
|
RUN apk --no-cache --no-progress add python3 python3-dev gcc libffi-dev musl-dev make tor openssl \
|
|
&& pip3 install -r /root/requirements.txt \
|
|
&& apk del python3-dev gcc libffi-dev musl-dev make \
|
|
&& echo "ControlPort 9051" >> /etc/tor/torrc \
|
|
&& echo "CookieAuthentication 1" >> /etc/tor/torrc
|
|
|
|
#Add Zeronet source
|
|
COPY . /root
|
|
VOLUME /root/data
|
|
|
|
#Control if Tor proxy is started
|
|
ENV ENABLE_TOR false
|
|
|
|
WORKDIR /root
|
|
|
|
#Set upstart command
|
|
CMD (! ${ENABLE_TOR} || tor&) && python3 zeronet.py --ui_ip 0.0.0.0 --fileserver_port 26552
|
|
|
|
#Expose ports
|
|
EXPOSE 43110 26552
|