-
Notifications
You must be signed in to change notification settings - Fork 4
/
Dockerfile
37 lines (29 loc) · 1.49 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
FROM python:3.8-slim
ARG BUILD_DATE=""
ARG BUILD_VERSION="dev"
LABEL maintainer="OpenTTD Dev Team <[email protected]>"
LABEL org.opencontainers.image.created=${BUILD_DATE}
LABEL org.opencontainers.image.authors="OpenTTD Dev Team <[email protected]>"
LABEL org.opencontainers.image.url="https://github.com/OpenTTD/master-server-web"
LABEL org.opencontainers.image.source="https://github.com/OpenTTD/master-server-web"
LABEL org.opencontainers.image.version=${BUILD_VERSION}
LABEL org.opencontainers.image.licenses="GPLv2"
LABEL org.opencontainers.image.title="Web frontend for the Master Server Public Server Listing"
LABEL org.opencontainers.image.description="This is a front-end for the Master Server Public Server listing."
WORKDIR /code
COPY requirements.txt \
LICENSE \
README.md \
/code/
# Needed for Sentry to know what version we are running
RUN echo "${BUILD_VERSION}" > /code/.version
RUN pip --no-cache-dir install -U pip \
&& pip --no-cache-dir install -r requirements.txt
# Validate that what was installed was what was expected
RUN pip freeze 2>/dev/null > requirements.installed \
&& diff -u --strip-trailing-cr requirements.txt requirements.installed 1>&2 \
|| ( echo "!! ERROR !! requirements.txt defined different packages or versions for installation" \
&& exit 1 ) 1>&2
COPY webclient /code/webclient
ENTRYPOINT ["python", "-m", "webclient"]
CMD ["--api-url", "https://api.master.staging.openttd.org", "run", "-p", "80", "-h", "0.0.0.0"]