forked from amundsen-io/amundsen
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile.frontend.public
37 lines (28 loc) · 1.29 KB
/
Dockerfile.frontend.public
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 node:12-slim as node-stage
WORKDIR /app/amundsen_application/static
COPY ./frontend/amundsen_application/static/package.json /app/amundsen_application/static/package.json
COPY ./frontend/amundsen_application/static/package-lock.json /app/amundsen_application/static/package-lock.json
RUN npm install
COPY ./frontend/amundsen_application/static /app/amundsen_application/static
RUN npm run build
FROM python:3.7-slim as base
WORKDIR /app
RUN pip3 install gunicorn
COPY --from=node-stage /app /app
COPY ./frontend /app
COPY requirements-dev.txt /app/requirements-dev.txt
COPY requirements-common.txt /app/requirements-common.txt
RUN pip3 install -e .
CMD [ "python3", "amundsen_application/wsgi.py" ]
FROM base as oidc-release
RUN pip3 install -e .[oidc]
ENV FRONTEND_SVC_CONFIG_MODULE_CLASS amundsen_application.oidc_config.OidcConfig
ENV APP_WRAPPER flaskoidc
ENV APP_WRAPPER_CLASS FlaskOIDC
ENV FLASK_OIDC_WHITELISTED_ENDPOINTS status,healthcheck,health
ENV SQLALCHEMY_DATABASE_URI sqlite:///sessions.db
# You will need to set these environment variables in order to use the oidc image
# OIDC_CLIENT_SECRETS - a path to a client_secrets.json file
# FLASK_OIDC_SECRET_KEY - A secret key from your oidc provider
# You will also need to mount a volume for the clients_secrets.json file.
FROM base as release