Skip to content

Commit dadf6ea

Browse files
committed
fix builder
1 parent fedb0cb commit dadf6ea

File tree

4 files changed

+54
-36
lines changed

4 files changed

+54
-36
lines changed

Dockerfile

Lines changed: 45 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,52 @@
1-
FROM alpine
1+
FROM snakepacker/python:all as builder
2+
23
MAINTAINER Mosquito <me@mosquito.su>
34

5+
RUN apt-get update && \
6+
apt-get install -y \
7+
libcurl-openssl1.0-dev \
8+
libmysqlclient-dev \
9+
libpq-dev \
10+
libssl1.0-dev \
11+
libxml2-dev \
12+
libxslt1-dev \
13+
libffi-dev
14+
15+
RUN virtualenv -p python2.7 /usr/share/python/app
16+
17+
RUN /usr/share/python/app/bin/pip install -U \
18+
pypi-server[postgres] \
19+
pypi-server[mysql] \
20+
pypi-server[proxy]
21+
22+
COPY docker-entrypoint.py /usr/share/python/app/bin/entrypoint.py
23+
24+
RUN chmod a+x /usr/share/python/app/bin/entrypoint.py
25+
26+
#################################################################
27+
FROM snakepacker/python:2.7
28+
29+
RUN apt-get update && \
30+
apt-get install -y \
31+
libcurl3 \
32+
libmysqlclient20 \
33+
libpq5 \
34+
libssl1.0.0 \
35+
libxml2 \
36+
libxslt1.1 \
37+
libffi6 && \
38+
apt-get clean && \
39+
rm -fr /var/lib/apt/lists/*
40+
441
ENV ADDRESS=0.0.0.0
542
ENV PORT=80
6-
ENV STORAGE=/usr/lib/pypi-server
7-
ENV PYPI_SERVER_SRC=/usr/local/src/pypi-server
8-
9-
RUN apk add --no-cache \
10-
libffi \
11-
py-cparser \
12-
py-curl \
13-
py-lxml \
14-
py-mysqldb \
15-
py-openssl \
16-
py-psycopg2 \
17-
py-setuptools
18-
19-
COPY ./ /tmp
20-
21-
RUN set -ex && \
22-
apk add --no-cache --virtual .build-deps \
23-
gcc \
24-
libffi-dev \
25-
musl-dev \
26-
py-pip \
27-
python-dev \
28-
&& \
29-
pip --no-cache-dir install -U '/tmp' && \
30-
apk del .build-deps
31-
32-
VOLUME "/usr/lib/pypi-server"
33-
34-
COPY docker-entrypoint.py /usr/local/bin/entrypoint.py
35-
RUN chmod a+x /usr/local/bin/entrypoint.py
43+
ENV STORAGE=/var/lib/pypi-server
3644

3745
EXPOSE 80
3846

39-
ENTRYPOINT ["/usr/local/bin/entrypoint.py"]
47+
COPY --from=builder /usr/share/python/app /usr/share/python/app
48+
RUN ln -snf /usr/share/python/app/bin/entrypoint.py /usr/bin/ && \
49+
ln -snf /usr/share/python/app/bin/pypi-server /usr/bin/
50+
51+
ENTRYPOINT /usr/bin/entrypoint.py
52+
VOLUME "/var/lib/pypi-server"

docker-entrypoint.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#!/usr/bin/python
1+
#!/usr/bin/env python2.7
22
import socket
33
import os
44
import sys
@@ -31,7 +31,9 @@ def check_port(host, port):
3131
args = sys.argv[1:]
3232

3333
if not args or args[0].startswith('-'):
34-
db_url = parse_url(os.getenv('DB', ''))
34+
db_url = parse_url(os.getenv(
35+
'DB', "sqlite:///var/lib/pypi-server/pypi-server.sqlite3"
36+
))
3537
host = db_url.hostname
3638

3739
if 'sqlite' in db_url.scheme.lower():

package/Dockerfile.centos7

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,13 @@ RUN yum install -y python-pip python-devel make gcc
55
RUN pip install -U pip virtualenv sh plumbum
66
RUN yum install -y \
77
libcurl-devel \
8+
libcurl-openssl-devel \
89
libffi-devel \
910
libpqxx-devel \
1011
libxml2-devel \
1112
libxslt-devel \
1213
mariadb-devel \
1314
openssl-devel \
14-
postgresql-devel
15+
postgresql-devel
16+
17+
ENV PYCURL_SSL_LIBRARY=openssl

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ def walker(base, *paths):
8888
),
8989
extras_require={
9090
'mysql': ['mysqlclient'],
91-
'postgres': ['psycopg2'],
91+
'postgres': ['psycopg2-binary'],
9292
'proxy': ['pycurl'],
9393
}
9494
)

0 commit comments

Comments
 (0)