mirror of
https://github.com/zalando/postgres-operator.git
synced 2026-09-30 16:12:07 +02:00
* fix: use nodejs-lts image for building frontend code Node v14 is end-of-life and should no longer be used. Commit changes Makefile to pull in latest node-lts instead. Also, use local temporary folder for storing npm generated files to workaround permission issue with old npm version, e.g. emitting these errors: ``` npm ERR! code EACCES npm ERR! syscall mkdir npm ERR! path /.npm npm ERR! errno -13 npm ERR! npm ERR! Your cache folder contains root-owned files, due to a bug in npm ERR! previous versions of npm which has since been addressed. ``` Both changes should also fix issue https://github.com/zalando/postgres-operator/issues/2651 * fix: add frontend build step Commit https://github.com/zalando/postgres-operator/commit/d60b424d7957d715003d9e5597bd5b5d63b6e250 accidentally removed build steps that are important for building frontend. This commit restores previous behavior, but switches to nodejs-lts image for building frontend code. Should restore `app.js` presence in ghcr image, see https://github.com/zalando/postgres-operator/issues/2651.
35 lines
906 B
Docker
35 lines
906 B
Docker
ARG BASE_IMAGE=registry.opensource.zalan.do/library/python-3.11-slim:latest
|
|
ARG NODE_IMAGE=node:lts-alpine
|
|
|
|
FROM $NODE_IMAGE AS build
|
|
|
|
COPY . /workdir
|
|
WORKDIR /workdir/app
|
|
|
|
RUN npm install \
|
|
&& npm run build
|
|
|
|
FROM $BASE_IMAGE
|
|
LABEL maintainer="Team ACID @ Zalando <team-acid@zalando.de>"
|
|
|
|
EXPOSE 8081
|
|
WORKDIR /app
|
|
|
|
RUN apt-get -qq -y update \
|
|
# https://www.psycopg.org/docs/install.html#psycopg-vs-psycopg-binary
|
|
&& apt-get -qq -y install --no-install-recommends g++ libpq-dev python3-dev python3-distutils \
|
|
&& apt-get -qq -y clean \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY requirements.txt .
|
|
COPY start_server.sh .
|
|
RUN pip install -r requirements.txt
|
|
|
|
COPY operator_ui operator_ui/
|
|
COPY --from=build /workdir/operator_ui/static/build/ operator_ui/static/build/
|
|
|
|
ARG VERSION=dev
|
|
RUN sed -i "s/__version__ = .*/__version__ = '${VERSION}'/" operator_ui/__init__.py
|
|
|
|
CMD ["python", "-m", "operator_ui"]
|