forked from owncloud-ops/pretalx
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
66 lines (56 loc) · 2.86 KB
/
Copy pathDockerfile
File metadata and controls
66 lines (56 loc) · 2.86 KB
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
FROM python:3.14-slim
LABEL maintainer="End Summer Camp NOC team <tapioco@endsummercamp.org>"
LABEL org.opencontainers.image.authors="End Summer Camp NOC team <tapioco@endsummercamp.org>"
LABEL org.opencontainers.image.title="Pretalx conference management system"
LABEL org.opencontainers.image.url="https://github.com/endsummercamp/pretalx-docker"
LABEL org.opencontainers.image.source="https://github.com/endsummercamp/pretalx-docker"
LABEL org.opencontainers.image.documentation="https://github.com/endsummercamp/pretalx-docker"
ARG BUILD_VERSION
ARG GOMPLATE_VERSION
ARG WAIT_FOR_VERSION
# renovate: datasource=github-releases depName=pretalx/pretalx
ENV PRETALX_VERSION="${BUILD_VERSION:-v2026.2.1}"
# renovate: datasource=github-releases depName=hairyhenderson/gomplate
ENV GOMPLATE_VERSION="${GOMPLATE_VERSION:-v5.2.0}"
# renovate: datasource=github-releases depName=thegeeklab/wait-for
ENV WAIT_FOR_VERSION="${WAIT_FOR_VERSION:-v0.4.4}"
ENV LANG=C.UTF-8
ENV LANGUAGE=C.UTF-8
ENV LC_ALL=C.UTF-8
ADD overlay /
RUN addgroup --gid 1001 --system pretalx && \
adduser --system --disabled-password --no-create-home --home /pretalx --uid 1001 --shell /sbin/nologin --ingroup pretalx --gecos pretalx pretalx && \
apt-get update && apt-get install --no-install-recommends -y wget curl apt-transport-https ca-certificates git gettext libmariadb-dev libpq-dev \
libmemcached-dev pkg-config build-essential npm nodejs locales && \
curl -SsfL -o /usr/local/bin/gomplate "https://github.com/hairyhenderson/gomplate/releases/download/${GOMPLATE_VERSION}/gomplate_linux-amd64" && \
curl -SsfL -o /usr/local/bin/wait-for "https://github.com/thegeeklab/wait-for/releases/download/${WAIT_FOR_VERSION}/wait-for" && \
chmod 755 /usr/local/bin/gomplate && \
chmod 755 /usr/local/bin/wait-for && \
dpkg-reconfigure locales && \
locale-gen C.UTF-8 && \
/usr/sbin/update-locale LANG=C.UTF-8 && \
mkdir -p /pretalx /etc/pretalx /data && \
PRETALX_VERSION="${PRETALX_VERSION##v}" && \
echo "Setup Pretalx 'v${PRETALX_VERSION}' ..." && \
curl -SsfL "https://github.com/pretalx/pretalx/archive/v${PRETALX_VERSION}.tar.gz" | \
tar -xzf - -C /pretalx -X /.tarignore --strip-components=1 "pretalx-${PRETALX_VERSION}" && \
pip install -e /pretalx && \
pip install django-redis pylibmc mysqlclient psycopg2-binary celery[redis] && \
pip install gunicorn && \
python -m pretalx makemigrations && \
python -m pretalx migrate && \
python -m pretalx rebuild && \
chmod 750 /etc/pretalx && \
chmod 750 /data && \
chown -R pretalx:pretalx /etc/pretalx /pretalx /data && \
apt-get remove -y --purge curl build-essential npm nodejs && \
apt-get clean all && \
apt-get autoremove -y && \
rm -rf /var/lib/apt/lists/* && \
rm -rf /tmp/*
VOLUME /data
EXPOSE 8000
USER pretalx
ENTRYPOINT ["/usr/bin/entrypoint"]
WORKDIR /data
CMD []