# postgreSQL ```shell sudo apt install -y postgresql-common sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh sudo apt install postgresql-18 ``` ## Docker ```shell docker network create pgsql_net ``` ```shell docker run --detach --name pgsql \ --network pgsql_net \ -p "5432:5432" \ -e "POSTGRES_INITDB_ARGS=--locale-provider=icu --icu-locale=fr-FR" \ -e "POSTGRES_PASSWORD=ChangeMe" \ -e "POSTGRES_USER=iut" \ -v pgsql_data:/var/lib/postgresql \ -v "./:/docker-entrypoint-initdb.d" \ iut/pgsql:2025-12 ``` ```shell volumes: - database_data:/var/lib/postgresql:rw - ./postgresql-entrypoint-initdb.d:/docker-entrypoint-initdb.d:Z - ./data:/tmp:Z ``` ## pgAdmin ``` pgadmin: image: dpage/pgadmin4:9.8 depends_on: database: condition: service_healthy caddy: condition: service_started restart: "no" configs: - source: pgadmin_config target: /pgadmin4/servers.json volumes: - pgadmin:/var/lib/pgadmin/ environment: PGADMIN_DEFAULT_EMAIL: ${PGADMIN_EMAIL} PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_PASSWORD} PGADMIN_DISABLE_POSTFIX: true networks: - caddy_net labels: caddy: pgadmin.localhost caddy.reverse_proxy: "{{upstreams 80}}" caddy.tls: internal ```