-
Notifications
You must be signed in to change notification settings - Fork 2
/
Dockerfile
37 lines (29 loc) · 1.47 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 <info@openttd.org>"
LABEL org.opencontainers.image.created=${BUILD_DATE}
LABEL org.opencontainers.image.authors="OpenTTD Dev Team <info@openttd.org>"
LABEL org.opencontainers.image.url="https://github.com/OpenTTD/master-server"
LABEL org.opencontainers.image.source="https://github.com/OpenTTD/master-server"
LABEL org.opencontainers.image.version=${BUILD_VERSION}
LABEL org.opencontainers.image.licenses="GPLv2"
LABEL org.opencontainers.image.title="In-game and web-based listing of online OpenTTD servers"
LABEL org.opencontainers.image.description="This image contains two components to have a functional Master Server for the OpenTTD clients: the master_server and the web_api."
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 master_server /code/master_server
ENTRYPOINT ["python", "-m", "master_server"]
CMD []