-
Notifications
You must be signed in to change notification settings - Fork 247
Expand file tree
/
Copy pathDockerfile
More file actions
54 lines (39 loc) · 1.58 KB
/
Dockerfile
File metadata and controls
54 lines (39 loc) · 1.58 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
FROM nestybox/ubuntu-noble-systemd-docker@sha256:8b1c4409fe89bc110e1e468767074fe4403ba6bb2d1b34881fec5df8b6c2f9c3 AS fact_base
ARG FACT_DIR=/opt/fact
COPY src $FACT_DIR
WORKDIR $FACT_DIR
RUN --mount=type=cache,target=/var/cache/apt \
--mount=type=cache,target=/var/lib/apt \
apt-get update && \
apt-get install -y --no-install-recommends \
curl \
python3-venv \
postgresql-client \
redis-tools
RUN python3 -m venv venv
ARG VENV_DIR=$FACT_DIR/venv/bin
ENV PATH=$VENV_DIR:$PATH \
VIRTUAL_ENV=$VENV_DIR \
PYTHONPATH=$FACT_DIR \
FACT_INSTALLER_SKIP_DOCKER=1
RUN --mount=type=cache,target=/var/cache/apt \
--mount=type=cache,target=/var/lib/apt \
./install/pre_install.sh -D
FROM fact_base AS fact_frontend
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
--mount=type=cache,target=/var/lib/apt,sharing=locked \
python3 install.py -F -H
RUN chown -R admin:admin "$FACT_DIR"
COPY --chown=admin docker/entrypoint_frontend.sh .
ENTRYPOINT ["./entrypoint_frontend.sh"]
FROM fact_base AS fact_backend
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
--mount=type=cache,target=/var/lib/apt,sharing=locked \
python3 install.py -B
RUN chown -R admin:admin "$FACT_DIR"
COPY --chown=admin docker/entrypoint_backend.sh .
# This file serves as a flag to indicate that the backend installation of the docker containers is completed
RUN touch DOCKER_INSTALL_INCOMPLETE
# We must still install the docker images, so we need to overwrite the flag now:
ENV FACT_INSTALLER_SKIP_DOCKER=0
ENTRYPOINT ["./entrypoint_backend.sh"]