@@ -33,10 +33,11 @@ RUN /opt/letsencrypt/src/letsencrypt-auto-source/letsencrypt-auto --os-packages-
33
33
# Dockerfile we make sure we cache as much as possible
34
34
35
35
36
- COPY setup.py README.rst CHANGES.rst MANIFEST.in /opt/letsencrypt/src/
36
+ COPY setup.py README.rst CHANGES.rst MANIFEST.in letsencrypt-auto-source/pieces/pipstrap.py /opt/letsencrypt/src/
37
37
38
- # all above files are necessary for setup.py, however, package source
39
- # code directory has to be copied separately to a subdirectory...
38
+ # all above files are necessary for setup.py and venv setup, however,
39
+ # package source code directory has to be copied separately to a
40
+ # subdirectory...
40
41
# https://docs.docker.com/reference/builder/#copy: "If <src> is a
41
42
# directory, the entire contents of the directory are copied,
42
43
# including filesystem metadata. Note: The directory itself is not
@@ -49,7 +50,11 @@ COPY letsencrypt-apache /opt/letsencrypt/src/letsencrypt-apache/
49
50
COPY letsencrypt-nginx /opt/letsencrypt/src/letsencrypt-nginx/
50
51
51
52
52
- RUN virtualenv --no-site-packages -p python2 /opt/letsencrypt/venv && \
53
+ RUN virtualenv --no-site-packages -p python2 /opt/letsencrypt/venv
54
+
55
+ # PATH is set now so pipstrap upgrades the correct (v)env
56
+ ENV PATH /opt/letsencrypt/venv/bin:$PATH
57
+ RUN /opt/letsencrypt/venv/bin/python /opt/letsencrypt/src/pipstrap.py && \
53
58
/opt/letsencrypt/venv/bin/pip install \
54
59
-e /opt/letsencrypt/src/acme \
55
60
-e /opt/letsencrypt/src \
@@ -61,6 +66,4 @@ RUN virtualenv --no-site-packages -p python2 /opt/letsencrypt/venv && \
61
66
# this might also help in debugging: you can "docker run --entrypoint
62
67
# bash" and investigate, apply patches, etc.
63
68
64
- ENV PATH /opt/letsencrypt/venv/bin:$PATH
65
-
66
69
ENTRYPOINT [ "letsencrypt" ]
0 commit comments