Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 11 additions & 12 deletions .github/workflows/build-docker-db.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,9 @@ on:
push:
branches: [ "main" ]
paths-ignore: [ "*.md" ]

pull_request:
branches: [ "main" ]
paths-ignore: [ "*.md" ]

workflow_dispatch: # Allows you to run this workflow manually from the Actions tab

concurrency:
Expand All @@ -19,6 +17,7 @@ permissions:
contents: read

env:
TZ: Asia/Shanghai
BUILDKIT_PROGRESS: "plain" # Full logs for CI build.
REGISTRY_SRC: ${{ vars.REGISTRY_SRC || 'quay.io' }} # For BASE_NAMESPACE of images: where to pull base images from, docker.io or other source registry URL.
REGISTRY_DST: ${{ vars.REGISTRY_DST || 'quay.io' }} # For tags of built images: where to push images to, docker.io or other destination registry URL.
Expand All @@ -29,30 +28,29 @@ env:
DOCKER_MIRROR_REGISTRY_USERNAME: ${{ vars.DOCKER_MIRROR_REGISTRY_USERNAME }}
DOCKER_MIRROR_REGISTRY_PASSWORD: ${{ secrets.DOCKER_MIRROR_REGISTRY_PASSWORD }}
CI_PROJECT_NAME: ${{ vars.CI_PROJECT_NAME || 'LabNow/lab-foundation' }}
TZ: Asia/Shanghai

jobs:
job-postgres-17:
name: 'postgres-17,postgres-17-ext'
job-postgres-16:
name: 'postgres-16,postgres-16-ext'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- run: |
source ./tool.sh && export PG_MAJOR=17
source ./tool.sh && export PG_MAJOR=16
build_image_no_tag postgres-${PG_MAJOR} latest docker_atom/atom.Dockerfile --build-arg "BASE_IMG=postgres:${PG_MAJOR}-bookworm"
export IMG_PREFIX_SRC="${IMG_PREFIX_DST}"
build_image postgres-${PG_MAJOR} latest docker_base/base.Dockerfile --build-arg "BASE_IMG=postgres-${PG_MAJOR}" --build-arg "PYTHON_VERSION=3.13"
push_image postgres-
build_image postgres-${PG_MAJOR}-ext latest docker_db_postgres/postgres-ext.Dockerfile --build-arg BASE_IMG=postgres-${PG_MAJOR}
push_image postgres-

job-postgres-16:
name: 'postgres-16,postgres-16-ext'
job-postgres-17:
name: 'postgres-17,postgres-17-ext'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- run: |
source ./tool.sh && export PG_MAJOR=16
source ./tool.sh && export PG_MAJOR=17
build_image_no_tag postgres-${PG_MAJOR} latest docker_atom/atom.Dockerfile --build-arg "BASE_IMG=postgres:${PG_MAJOR}-bookworm"
export IMG_PREFIX_SRC="${IMG_PREFIX_DST}"
build_image postgres-${PG_MAJOR} latest docker_base/base.Dockerfile --build-arg "BASE_IMG=postgres-${PG_MAJOR}" --build-arg "PYTHON_VERSION=3.13"
Expand All @@ -61,7 +59,7 @@ jobs:
push_image postgres-

job-postgres-18:
name: 'postgres-18'
name: 'postgres-18,postgres-18-ext'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
Expand All @@ -71,11 +69,12 @@ jobs:
export IMG_PREFIX_SRC="${IMG_PREFIX_DST}"
build_image postgres-${PG_MAJOR} latest docker_base/base.Dockerfile --build-arg "BASE_IMG=postgres-${PG_MAJOR}" --build-arg "PYTHON_VERSION=3.13"
push_image postgres-
echo "Skip PG 18-ext build as many extension are not yet available for PG 18..."
build_image postgres-${PG_MAJOR}-ext latest docker_db_postgres/postgres-ext.Dockerfile --build-arg BASE_IMG=postgres-${PG_MAJOR}
push_image postgres-


## Sync all images in this build (listed by "names") to mirror registry.
sync_images:
job-sync-images:
needs: ["job-postgres-17", "job-postgres-16", "job-postgres-18"]
runs-on: ubuntu-latest
steps:
Expand Down
6 changes: 2 additions & 4 deletions .github/workflows/build-docker-gpu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,17 @@ on:
push:
branches: [ "main" ]
paths-ignore: [ "*.md" ]

pull_request:
branches: [ "main" ]
paths-ignore: [ "*.md" ]

workflow_dispatch: # Allows you to run this workflow manually from the Actions tab

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

env:
TZ: Asia/Shanghai
BUILDKIT_PROGRESS: "plain" # Full logs for CI build.
REGISTRY_SRC: ${{ vars.REGISTRY_SRC || 'quay.io' }} # For BASE_NAMESPACE of images: where to pull base images from, docker.io or other source registry URL.
REGISTRY_DST: ${{ vars.REGISTRY_DST || 'quay.io' }} # For tags of built images: where to push images to, docker.io or other destination registry URL.
Expand All @@ -26,7 +25,6 @@ env:
DOCKER_MIRROR_REGISTRY_USERNAME: ${{ vars.DOCKER_MIRROR_REGISTRY_USERNAME }}
DOCKER_MIRROR_REGISTRY_PASSWORD: ${{ secrets.DOCKER_MIRROR_REGISTRY_PASSWORD }}
CI_PROJECT_NAME: ${{ vars.CI_PROJECT_NAME || 'LabNow/lab-foundation' }}
TZ: Asia/Shanghai

permissions:
contents: read
Expand Down Expand Up @@ -155,7 +153,7 @@ jobs:


## Sync all images in this build (listed by "names") to mirror registry.
sync_images:
job-sync-images:
needs: ["job-core-cuda", "job-py-cv", "job-py-nlp", "job-torch_cuda128", "job-nvidia-ctk"]
runs-on: ubuntu-latest
steps:
Expand Down
6 changes: 2 additions & 4 deletions .github/workflows/build-docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,9 @@ on:
push:
branches: [ "main" ]
paths-ignore: [ "*.md" ]

pull_request:
branches: [ "main" ]
paths-ignore: [ "*.md" ]

workflow_dispatch: # Allows you to run this workflow manually from the Actions tab

concurrency:
Expand All @@ -19,6 +17,7 @@ permissions:
contents: read

env:
TZ: Asia/Shanghai
BUILDKIT_PROGRESS: "plain" # Full logs for CI build.
REGISTRY_SRC: ${{ vars.REGISTRY_SRC || 'quay.io' }} # For BASE_NAMESPACE of images: where to pull base images from, docker.io or other source registry URL.
REGISTRY_DST: ${{ vars.REGISTRY_DST || 'quay.io' }} # For tags of built images: where to push images to, docker.io or other destination registry URL.
Expand All @@ -29,7 +28,6 @@ env:
DOCKER_MIRROR_REGISTRY_USERNAME: ${{ vars.DOCKER_MIRROR_REGISTRY_USERNAME }}
DOCKER_MIRROR_REGISTRY_PASSWORD: ${{ secrets.DOCKER_MIRROR_REGISTRY_PASSWORD }}
CI_PROJECT_NAME: ${{ vars.CI_PROJECT_NAME || 'LabNow/lab-foundation' }}
TZ: Asia/Shanghai

jobs:
job-base:
Expand Down Expand Up @@ -238,7 +236,7 @@ jobs:
python /opt/utils/image-syncer/run_jobs.py --auth-file=/tmp/.github/workflows/auth.json

## Sync all images in this build (listed by "names") to mirror registry.
sync_images:
job-sync-images:
needs: ["job-docker_kit", "job-full-stack", "job-core"]
runs-on: ubuntu-latest
steps:
Expand Down
6 changes: 3 additions & 3 deletions docker_atom/atom.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Distributed under the terms of the Modified BSD License.

# latest # default value: Latest LTS version of Ubuntu (https://hub.docker.com/_/ubuntu)
ARG BASE_IMG="ubuntu:noble"
ARG BASE_IMG="ubuntu:latest"
FROM ${BASE_IMG}

LABEL maintainer="postmaster@labnow.ai"
Expand All @@ -12,8 +12,8 @@ COPY work /opt/utils/

ENV SHELL=/bin/bash \
DEBIAN_FRONTEND=noninteractive \
LC_ALL="" \
LC_CTYPE="C.UTF-8" \
LC_ALL="en_US.UTF-8" \
LC_TYPE="en_US.UTF-8" \
LANG="en_US.UTF-8" \
LANGUAGE="en_US.UTF-8" \
Expand All @@ -30,7 +30,7 @@ RUN set -eux && cd /tmp \
&& apt-get -qq update --fix-missing && apt-get -y -qq upgrade \
&& apt-get -qq install -y --no-install-recommends \
apt-utils apt-transport-https ca-certificates gnupg2 dirmngr locales sudo lsb-release curl \
&& localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 \
&& localedef -i en_US -c -f UTF-8 en_US.UTF-8 \
&& echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen \
&& echo "ALL ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers \
&& mv /root/.bashrc /etc/profile.d/bash.bashrc.sh \
Expand Down
21 changes: 9 additions & 12 deletions docker_atom/work/script-setup-core.sh
Original file line number Diff line number Diff line change
Expand Up @@ -153,8 +153,7 @@ setup_node_base() {
local VER_NODEJS_REQ="${1:-}" \
&& local UNAME=$(uname | tr '[:upper:]' '[:lower:]') \
&& local ARCH=$(uname -m | sed -e 's/x86_64/x64/' -e 's/aarch64/arm64/') \
&& local ATOM_NODEJS=$(curl -sL https://github.com/nodejs/node/releases.atom | grep 'releases/tag' | sort -r) \
&& local VERS_NODEJS=$(echo "${ATOM_NODEJS}" | grep -Po '\d[\d.]+' | sort -rV) \
&& local VERS_NODEJS=$(curl -sL "https://api.github.com/repos/nodejs/node/releases?per_page=50" | grep -Po '(?<="tag_name": ")[^"]+' | grep -Po '\d[\d.]+' | sort -rV) \
&& if [ -n "${VER_NODEJS_REQ}" ]; then
local VER_NODEJS_RE=${VER_NODEJS_REQ#v} && VER_NODEJS_RE=${VER_NODEJS_RE//./\\.} \
&& local VER_NODEJS=$(echo "${VERS_NODEJS}" | grep -m1 -E "^${VER_NODEJS_RE}([.-]|$)")
Expand All @@ -179,7 +178,7 @@ setup_node_pnpm() {
local VER_PNPM_REQ="${1:-}" UNAME ARCH URL_PNPM TMPDIR ;
UNAME=$(uname | tr '[:upper:]' '[:lower:]') \
&& ARCH=$(uname -m | sed -e 's/x86_64/x64/' -e 's/aarch64/arm64/' -e 's/armv7l/arm/') \
&& local VERS_PNPM=$(curl -fsSL https://github.com/pnpm/pnpm/releases.atom | grep -Po '(?<=tag/v)\d[\d.]+' | grep -v alpha | sort -rV) \
&& local VERS_PNPM=$(curl -fsSL "https://api.github.com/repos/pnpm/pnpm/releases?per_page=50" | grep -Po '(?<="tag_name": ")[^"]+' | grep -v alpha | grep -Po '\d[\d.]+' | sort -rV) \
&& if [ -n "${VER_PNPM_REQ}" ]; then
local VER_PNPM_RE=${VER_PNPM_REQ#v} \
&& VER_PNPM_RE=${VER_PNPM_RE//./\\.} \
Expand Down Expand Up @@ -209,8 +208,7 @@ setup_node_bun() {
local VER_BUN_REQ="${1:-}" \
&& local UNAME=$(uname | tr '[:upper:]' '[:lower:]') \
&& local ARCH=$(uname -m | sed -e 's/x86_64/x64/' ) \
&& local ATOM_BUN=$(curl -sL https://github.com/oven-sh/bun/releases.atom | grep 'releases/tag' | sort -r) \
&& local VERS_BUN=$(echo "${ATOM_BUN}" | grep -Po 'bun-v\K\d+\.\d+\.\d+' | sort -rV) \
&& local VERS_BUN=$(curl -sL "https://api.github.com/repos/oven-sh/bun/releases?per_page=50" | grep -Po '(?<="tag_name": ")[^"]+' | grep -Po 'bun-v\K\d+\.\d+\.\d+' | sort -rV) \
&& if [ -n "${VER_BUN_REQ}" ]; then
local VER_BUN_RE=${VER_BUN_REQ#v} \
&& VER_BUN_RE=${VER_BUN_RE//./\\.} \
Expand All @@ -234,8 +232,8 @@ setup_GO() {
local VER_GO_REQ="${1:-}" \
&& local UNAME=$(uname | tr '[:upper:]' '[:lower:]') \
&& local ARCH=$(dpkg --print-architecture) \
&& local ATOM_GO=$(curl -sL https://github.com/golang/go/releases.atom | grep 'releases/tag' | grep -v 'rc' | sort -r) \
&& local VERS_GO=$(echo "${ATOM_GO}" | grep -Po '\d[\d.]+' | sort -rV) \
&& local VERS_GO=$(curl -sL "https://api.github.com/repos/golang/go/releases?per_page=50" | grep -Po '(?<="tag_name": ")[^"]+' | grep -v 'rc' | grep -Po '\d[\d.]+' | sort -rV) \
&& { [ -n "${VERS_GO}" ] || VERS_GO=$(curl -sL "https://go.dev/dl/?mode=json" | grep -Po '(?<="version": "go)\d[\d.]+' | sort -rV) ; } \
&& if [ -n "${VER_GO_REQ}" ]; then
local VER_GO_RE=${VER_GO_REQ#v} \
&& VER_GO_RE=${VER_GO_RE//./\\.} \
Expand Down Expand Up @@ -289,8 +287,7 @@ setup_julia() {
&& local UNAME=$(uname | tr '[:upper:]' '[:lower:]') \
&& local ARCH_1=$(uname -m) \
&& local ARCH_2=$(uname -m | sed -e 's/x86_64/x64/') \
&& local ATOM_JULIA=$(curl -sL https://github.com/JuliaLang/julia/releases.atom | grep -P 'releases/tag(?!.*(rc|alpha|beta))' | sort -r) \
&& local VERS_JULIA=$(echo "${ATOM_JULIA}" | grep -Po '\d[\d.]+' | sort -rV) \
&& local VERS_JULIA=$(curl -sL "https://api.github.com/repos/JuliaLang/julia/releases?per_page=50" | grep -Po '(?<="tag_name": ")[^"]+' | grep -P -v '(rc|alpha|beta)' | grep -Po '\d[\d.]+' | sort -rV) \
&& if [ -n "${VER_JULIA_REQ}" ]; then
local VER_JULIA_RE=${VER_JULIA_REQ#v} \
&& VER_JULIA_RE=${VER_JULIA_RE//./\\.} \
Expand Down Expand Up @@ -361,7 +358,7 @@ setup_bazel() {
local UNAME=$(uname | tr '[:upper:]' '[:lower:]') \
&& local ARCH=$(uname -m | sed -e 's/aarch64/arm64/') \
&& local VER_BAZEL_REQ="${1:-}" \
&& local VERS_BAZEL=$(curl -sL https://github.com/bazelbuild/bazel/releases.atom | grep 'releases/tag' | grep -Po '\d[\d.]+' | sort -rV) \
&& local VERS_BAZEL=$(curl -sL "https://api.github.com/repos/bazelbuild/bazel/releases?per_page=50" | grep -Po '(?<="tag_name": ")[^"]+' | grep -Po '\d[\d.]+' | sort -rV) \
&& if [ -n "${VER_BAZEL_REQ}" ]; then
local VER_BAZEL_RE=${VER_BAZEL_REQ#v} \
&& VER_BAZEL_RE=${VER_BAZEL_RE//./\\.} \
Expand All @@ -379,7 +376,7 @@ setup_bazel() {

setup_gradle() {
local VER_GRADLE_REQ="${1:-}" \
&& local VERS_GRADLE=$(curl -sL https://github.com/gradle/gradle/releases.atom | grep 'releases/tag' | grep -v 'M' | grep -Po '\d[\d.]+' | sort -rV) \
&& local VERS_GRADLE=$(curl -sL "https://api.github.com/repos/gradle/gradle/releases?per_page=50" | grep -Po '(?<="tag_name": ")[^"]+' | grep -v 'M' | grep -Po '\d[\d.]+' | sort -rV) \
&& if [ -n "${VER_GRADLE_REQ}" ]; then
local VER_GRADLE_RE=${VER_GRADLE_REQ#v} \
&& VER_GRADLE_RE=${VER_GRADLE_RE//./\\.} \
Expand All @@ -399,7 +396,7 @@ setup_yq() {
local ARCH=$(uname -m | sed -e 's/x86_64/amd64/' -e 's/aarch64/arm64/' -e 's/armv7l/arm/') ;
[[ "$ARCH" =~ ^(amd64|arm64|arm)$ ]] || { echo "Unsupported architecture for yq: $(uname -m)"; return 1; }
local VER_YQ="" VER_YQ_REQ="${1:-}" \
&& local VERS_YQ=$(curl -sL https://github.com/mikefarah/yq/releases.atom | grep 'releases/tag' | grep -Po 'v\K[\d.]+' | sort -rV) \
&& local VERS_YQ=$(curl -sL "https://api.github.com/repos/mikefarah/yq/releases?per_page=50" | grep -Po '(?<="tag_name": ")[^"]+' | grep -Po 'v\K[\d.]+' | sort -rV) \
&& if [ -n "${VER_YQ_REQ}" ]; then
local VER_YQ_RE=${VER_YQ_REQ#v} && VER_YQ_RE=${VER_YQ_RE//./\\.} \
&& VER_YQ=$(echo "${VERS_YQ}" | grep -m1 -E "^${VER_YQ_RE}([.-]|$)")
Expand Down
6 changes: 3 additions & 3 deletions docker_atom/work/script-setup-net.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
setup_traefik() {
local VER_TRAEFIK_REQ="${1:-}" \
&& local VERS_TRAEFIK=$(curl -sL https://github.com/traefik/traefik/releases.atom | grep 'releases/tag' | grep -Po '\d[\d.]+' | sort -rV) \
&& local VERS_TRAEFIK=$(curl -sL "https://api.github.com/repos/traefik/traefik/releases?per_page=50" | grep -Po '(?<="tag_name": ")[^"]+' | grep -Po '\d[\d.]+' | sort -rV) \
&& if [ -n "${VER_TRAEFIK_REQ}" ]; then
local VER_TRAEFIK_RE=${VER_TRAEFIK_REQ#v} \
&& VER_TRAEFIK_RE=${VER_TRAEFIK_RE//./\\.} \
Expand All @@ -20,7 +20,7 @@ setup_caddy() {
UNAME=$(uname | tr '[:upper:]' '[:lower:]') \
&& ARCH=$(uname -m | sed -e 's/x86_64/amd64/' -e 's/aarch64/arm64/') \
&& local VER_CADDY_REQ="${1:-}" \
&& local VERS_CADDY=$(curl -sL https://github.com/caddyserver/caddy/releases.atom | grep "releases/tag" | grep -v 'beta' | grep -Po '(\d[\d|.]+)' | sort -rV) \
&& local VERS_CADDY=$(curl -sL "https://api.github.com/repos/caddyserver/caddy/releases?per_page=50" | grep -Po '(?<="tag_name": ")[^"]+' | grep -v 'beta' | grep -Po '(\d[\d|.]+)' | sort -rV) \
&& if [ -n "${VER_CADDY_REQ}" ]; then
local VER_CADDY_RE=${VER_CADDY_REQ#v} \
&& VER_CADDY_RE=${VER_CADDY_RE//./\\.} \
Expand All @@ -41,7 +41,7 @@ setup_oauth2_proxy() {
[[ "$ARCH" =~ ^(amd64|arm64|armv7)$ ]] || { echo "Unsupported architecture for oauth2-proxy: $(uname -m)"; return 1; }

local VER_OAUTH2_PROXY_REQ="${1:-}" \
&& local VERS_OAUTH2_PROXY=$(curl -sL https://github.com/oauth2-proxy/oauth2-proxy/releases.atom | grep 'releases/tag' | grep -Po '(?<=tag/v)\d[\d.]+' | sort -rV) \
&& local VERS_OAUTH2_PROXY=$(curl -sL "https://api.github.com/repos/oauth2-proxy/oauth2-proxy/releases?per_page=50" | grep -Po '(?<="tag_name": ")[^"]+' | grep -Po '(?<=v)?\d[\d.]+' | sort -rV) \
&& if [ -n "${VER_OAUTH2_PROXY_REQ}" ]; then
local VER_OAUTH2_PROXY_RE=${VER_OAUTH2_PROXY_REQ#v} \
&& VER_OAUTH2_PROXY_RE=${VER_OAUTH2_PROXY_RE//./\\.} \
Expand Down
4 changes: 2 additions & 2 deletions docker_atom/work/script-setup-sys.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ source /opt/utils/script-utils.sh
setup_tini() {
ARCH=$(uname -m | sed -e 's/x86_64/amd64/' -e 's/aarch64/arm64/') \
&& local VER_TINI_REQ="${1:-}" \
&& local VERS_TINI=$(curl -sL https://github.com/krallin/tini/releases.atom | grep 'releases/tag' | grep -Po '\d[\d.]+' | sort -rV) \
&& local VERS_TINI=$(curl -sL "https://api.github.com/repos/krallin/tini/releases?per_page=50" | grep -Po '(?<="tag_name": ")[^"]+' | grep -Po '\d[\d.]+' | sort -rV) \
&& if [ -n "${VER_TINI_REQ}" ]; then
local VER_TINI_RE=${VER_TINI_REQ#v} \
&& VER_TINI_RE=${VER_TINI_RE//./\\.} \
Expand All @@ -27,7 +27,7 @@ setup_supervisord() {
UNAME=$(uname | tr '[:upper:]' '[:lower:]') \
&& ARCH=$(uname -m | sed -e 's/x86_64/amd64/' -e 's/aarch64/arm64/') \
&& local VER_SUPERVISORD_REQ="${1:-}" \
&& local VERS_SUPERVISORD=$(curl -sL https://github.com/LabNow-ai/supervisord/releases.atom | grep "releases/tag" | grep -Po '(\d[\d|.]+)' | sort -rV) \
&& local VERS_SUPERVISORD=$(curl -sL "https://api.github.com/repos/LabNow-ai/supervisord/releases?per_page=50" | grep -Po '(?<="tag_name": ")[^"]+' | grep -Po '(\d[\d|.]+)' | sort -rV) \
&& if [ -n "${VER_SUPERVISORD_REQ}" ]; then
local VER_SUPERVISORD_RE=${VER_SUPERVISORD_REQ#v} \
&& VER_SUPERVISORD_RE=${VER_SUPERVISORD_RE//./\\.} \
Expand Down
7 changes: 3 additions & 4 deletions docker_db_postgres/postgres-ext.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ LABEL maintainer="haobibo@gmail.com"
COPY rootfs /

RUN set -eux && . /opt/utils/script-utils.sh && . /opt/utils/script-setup-pg-ext-mirror.sh \
# PG extension managers: pgxman, pgxnclient
&& apt-get update && apt-get install -y postgresql-server-dev-${PG_MAJOR} pgxman \
# PG extension managers: pgxnclient
&& apt-get update && apt-get install -y postgresql-server-dev-${PG_MAJOR} \
&& pip install --no-cache-dir --root-user-action=ignore -U pgxnclient && pgxn --version \
## Generate a package list based on PG_MAJOR version
&& apt-get update && apt-get install -y gettext \
&& envsubst < /opt/utils/install-list-pgext.tpl.apt > /opt/utils/install-list-pgext.apt \
&& rm -rf /opt/utils/install-list-pgext.tpl.apt \
## Install extensions: install by apt
&& echo "To install PG extensions: $(cat /opt/utils/install_list_pgext.apt)" \
&& echo "To install PG extensions: $(cat /opt/utils/install-list-pgext.apt)" \
&& install_apt /opt/utils/install-list-pgext.apt \
## Install extensions: install ext that need to be installed manually
&& source /opt/utils/script-setup-pg-ext.sh \
Expand All @@ -27,7 +27,6 @@ RUN set -eux && . /opt/utils/script-utils.sh && . /opt/utils/script-setup-pg-ext
&& setup_apache_age \
&& setup_pg_duckdb \
&& setup_pg_net \
## && pgxman install -y --overwrite pgsodium \
## required to build some extensions and can be removed after install:
&& apt-get remove -y postgresql-server-dev-${PG_MAJOR} ninja-build \
&& ls -alh /usr/share/postgresql/*/extension/*.control | sort \
Expand Down
Loading