mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2026-08-17 16:34:44 -05:00
The container entrypoint substituted ${PGADMIN_CONFIG_CONFIG_DATABASE_URI}
into a double-quoted Python string for `python3 -c`. Combined with the
config_distro.py convention (where the env var's value must itself be a
Python literal, i.e. users set it to 'postgresql+psycopg://...'), the
entrypoint re-wrapped the already-quoted value, producing a string with
literal quotes inside that SQLAlchemy could not parse -- and the Python
crash made the first-launch check capture an empty string, silently
skipping PGADMIN_DEFAULT_EMAIL / PGADMIN_DEFAULT_PASSWORD setup.
Read the env var inside Python via os.environ so the shell no longer
participates in Python-literal quoting (also removing a shell-injection
surface), and use ast.literal_eval to unwrap the legacy quoted form while
letting raw values pass through. external_config_db_exists now stays
"False" on any Python failure so first-launch setup still runs.
Adds a 9.16 release note.
pgAdmin Docker Container Builds
This directory contains the files required to create a docker container running pgAdmin.
Building
From the top level directory of the pgAdmin source tree, simply run:
docker build .
You can also run make docker, which will call docker build . but also tag the image like:
pgadmin4 pgadmin4:latest pgadmin4:4 pgadmin4:4.12
WARNING
The build should be run in a CLEAN source tree. Whilst some potentially dangerous files such as config_local.py or log files will be explicitly excluded from the final image, other files will not be.
Running
See the documentation at docs/en_US/container_deployment.rst for information on running the container.