Sign inSign up

iplweb/bpp_dbserver

By iplweb

•Updated 5 months ago

PostgreSQL 16/17/18 + plpython3u + ICU pl-PL + autotune dla BPP

Image
0

10K+

iplweb/bpp_dbserver repository overview

Logo BPP

⁠bpp-dbserver — PostgreSQL dla BPP

Wsparcie komercyjne zapewnia

IPL Web

Source on GitHub⁠ • iplweb.pl⁠ • bpp.iplweb.pl⁠


⁠Co to jest

Obraz Dockera z PostgreSQL-em przygotowany pod aplikację BPP — Bibliografia Publikacji Pracowników (bpp.iplweb.pl⁠). Bazuje na oficjalnym postgres:* z dołożonymi:

  • plpython3u — proceduralny Python dla PostgreSQL (wymagany przez funkcje BPP).
  • Locale pl_PL.UTF-8 + ICU collation pl-PL — poprawne sortowanie polskich znaków.
  • Autotune — dynamiczna konfiguracja pamięci i parallelizmu PG na podstawie cgroup / /proc/meminfo / env vars.
  • Healthcheck (pg_isready).
  • apt-get upgrade przy buildzie — patche Debiana podciągnięte bez czekania na rebuild upstream.

⁠Tagi

Brak tagu :latest — celowo, żeby przypadkowy docker pull nie ściągnął niekompatybilnej major wersji PG i nie uszkodził istniejącego PGDATA.

TagPrzykładZnaczenie
psql-<MAJOR>.<MINOR>psql-16.13Pinning do konkretnej wersji patch. Zalecane dla produkcji.
psql-<MAJOR>psql-16Rolling w ramach jednej major. OK dla dev/CI.

Aktualnie wspierane: PG 16, 17, 18.

⁠Quickstart

docker run --rm -d \
    --name bpp-db \
    -e POSTGRES_PASSWORD=secret \
    -p 5432:5432 \
    iplweb/bpp_dbserver:psql-16.13

⁠docker compose

services:
  db:
    image: iplweb/bpp_dbserver:psql-16.13
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD:?required}
      POSTGRES_HOST_AUTH_METHOD: scram-sha-256   # NIE zostawiaj domyślnego 'trust' w produkcji
      POSTGRESQL_RAM_THIS_MUCH_GB: 8192          # opcjonalnie
    volumes:
      - pgdata:/var/lib/postgresql/data
    ports:
      - "5432:5432"
volumes:
  pgdata:

⁠Najważniejsze env vars

ZmiennaDefaultOpis
POSTGRES_PASSWORD—Hasło superusera. Wymagane w produkcji.
POSTGRES_HOST_AUTH_METHODtrust (!)Dev only. W produkcji: scram-sha-256.
POSTGRESQL_RAM_PERCENT0.95Ułamek RAM dla Postgresa.
POSTGRESQL_RAM_THIS_MUCH_GBauto-detectOverride rozmiaru RAM (MB).
POSTGRESQL_MAX_LOCKS_PER_TRANSACTION64 (PG default)Podnoś dla pytest-xdist / Celery.
POSTGRESQL_UNSAFE_BUT_FAST—Dev only — wyłącza fsync/WAL/synchronous_commit. NIGDY w prod.

Pełna lista, szczegóły autotune i parametry build-time: github.com/iplweb/bpp-dbserver⁠.

⁠⚠ Upgrade major → major

Nie podmieniaj tagu między major wersjami na tym samym volumenie. Plik PG_VERSION w PGDATA trzyma major, a binaria nowej major odmówią startu albo, co gorsza, uszkodzą dane. Użyj pg_upgrade albo pg_dump + pg_restore.

⁠O projekcie

BPP to otwartoźródłowy (MIT) system do katalogowania bibliografii publikacji pracowników naukowych — dla bibliotek uniwersyteckich w Polsce.

⁠Licencja

MIT⁠ — Copyright © 2017–2026 Michał Pasternak <[email protected]⁠>.

Tag summary

Content type

Image

Digest

sha256:66047a989…

Size

228 MB

Last updated

6 months ago

docker pull iplweb/bpp_dbserver