forked from geldata/cla-bot
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathDockerfile.cpython
43 lines (40 loc) · 1.82 KB
/
Dockerfile.cpython
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
FROM ambv/cla-bot-frontend:latest AS frontend
FROM edgedb/edgedb-cli:linux-x86_64-latest AS edgedbcli
FROM node:18.16-bullseye-slim AS final
ARG version=2
WORKDIR /app
COPY --from=frontend /app .
COPY --from=edgedbcli /usr/bin/edgedb /usr/bin/edgedb
RUN set -ex; export DEBIAN_FRONTEND=noninteractive; \
apt-get update \
&& apt-get install -y --no-install-recommends \
apt-utils gnupg dirmngr curl apt-transport-https \
locales procps python3 python3-pip \
&& localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 \
&& pip3 --no-cache-dir install setuptools \
&& pip3 --no-cache-dir install --only-binary=:all: --pre edgedb \
&& (curl https://packages.edgedb.com/keys/edgedb.asc | apt-key add -) \
&& echo deb https://packages.edgedb.com/apt bullseye main \
>/etc/apt/sources.list.d/edgedb.list \
&& (try=1; while [ $try -le 5 ]; do apt-get update && break || true; \
try=$(( $try + 1 )); sleep 1; done) \
&& (try=1; while [ $try -le 5 ]; do env _EDGEDB_INSTALL_SKIP_BOOTSTRAP=1 apt-get install -y edgedb-server-${version} && break || true; \
try=$(( $try + 1 )); sleep 1; done) \
&& ln -s /usr/bin/edgedb-server-${version} /usr/bin/edgedb-server \
&& apt-get remove -y apt-utils gnupg dirmngr curl apt-transport-https python3-pip \
&& apt-get purge -y --auto-remove \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir -p /var/run/edgedb \
&& chown -R edgedb /var/run/edgedb \
&& chmod 775 /var/run/edgedb
ENV LANG=en_US.utf8
ENV NODE_ENV=production
ENV PORT=80
ENV DATABASE_URL=postgres://...
COPY ./scripts/docker-entrypoint-clabot.py /home/docker-entrypoint.py
COPY ./scripts/mv.py /home/mv.py
COPY ./scripts/edb_healthcheck.py /home/edb_healthcheck.py
COPY ./scripts/deployment.py /home/deployment.py
RUN rm -rf /app/dbschema
COPY dbschema /app/dbschema
ENTRYPOINT ["/usr/bin/python3", "-u", "/home/docker-entrypoint.py"]