name: senzing-docker-compose-postgresql services: makefile: container_name: senzing-makefile command: - sh - -c - mkdir /output/postgres_postgres.com || true; echo $${FILE_CONTENTS} > /output/postgres_postgres.com/servers.json; environment: FILE_CONTENTS: >- { "Servers": { "1": { "Name": "senzing", "Group": "Servers", "Host": "senzing-postgres", "Port": 5432, "MaintenanceDB": "postgres", "Username": "postgres", "UseSSHTunnel": 0, "TunnelPort": "22", "TunnelAuthentication": 0, "KerberosAuthentication": false, "ConnectionParameters": { "sslmode": "prefer", "connect_timeout": 10, "sslcert": "/.postgresql/postgresql.crt", "sslkey": "/.postgresql/postgresql.key" } } } } image: busybox:${SENZING_DOCKER_IMAGE_VERSION_BUSYBOX:-latest} networks: - senzing profiles: - new - truthset read_only: true user: ${SENZING_UID:-0}:${SENZING_GID:-0} volumes: - pgadmin-volume:/output postgres: container_name: senzing-postgres environment: # See https://hub.docker.com/_/postgres "Environment Variables" PGDATA: /var/lib/postgresql/data/pgdata POSTGRES_DB: G2 POSTGRES_PASSWORD: postgres healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 10s timeout: 5s retries: 5 image: postgres:${SENZING_DOCKER_IMAGE_VERSION_POSTGRES:-latest} networks: - senzing ports: - 5432:5432 profiles: - new - resume - truthset restart: always user: ${SENZING_UID:-0}:${SENZING_GID:-0} volumes: - postgres-volume:/var/lib/postgresql/data/pgdata postgres-init: container_name: senzing-postgres-init depends_on: - postgres environment: SENZING_TOOLS_DATABASE_URL: "postgresql://postgres:postgres@postgres:5432/G2/?sslmode=disable" SENZING_TOOLS_INSTALL_SENZING_ER_CONFIGURATION: "True" image: senzing/init-database:${SENZING_DOCKER_IMAGE_VERSION_SENZING_INIT_DATABASE:-latest} networks: - senzing profiles: - new restart: on-failure postgres-init-truthset: container_name: senzing-postgres-init depends_on: - postgres environment: SENZING_TOOLS_DATABASE_URL: "postgresql://postgres:postgres@postgres:5432/G2/?sslmode=disable" SENZING_TOOLS_LOAD_TRUTHSET: "True" image: senzing/init-database:${SENZING_DOCKER_IMAGE_VERSION_SENZING_INIT_DATABASE:-latest} networks: - senzing profiles: - truthset restart: on-failure pgadmin: container_name: senzing-pgadmin environment: # See https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html PGADMIN_CONFIG_DEFAULT_SERVER: '"0.0.0.0"' PGADMIN_CONFIG_LOGIN_BANNER: |- "

Senzing demonstration

Although pgAdmin can be configured for security,
the following credentials are used for demonstration. " PGADMIN_DEFAULT_EMAIL: postgres@postgres.com PGADMIN_DEFAULT_PASSWORD: password PGADMIN_SERVER_JSON_FILE: /var/lib/pgadmin/storage/postgres_postgres.com/servers.json image: dpage/pgadmin4:${SENZING_DOCKER_IMAGE_VERSION_DPAGE_PGADMIN4:-latest} networks: - senzing ports: - 9171:80 - 9172:443 profiles: - new - resume - truthset restart: always user: ${SENZING_UID:-0}:${SENZING_GID:-0} volumes: - pgadmin-volume:/var/lib/pgadmin/storage senzingsdk-tools: cap_add: - ALL command: ["sleep", "infinity"] container_name: senzingsdk-tools environment: SENZING_ENGINE_CONFIGURATION_JSON: >- { "PIPELINE": { "CONFIGPATH": "/etc/opt/senzing", "LICENSESTRINGBASE64": "${SENZING_LICENSE_BASE64_ENCODED}", "RESOURCEPATH": "/opt/senzing/er/resources", "SUPPORTPATH": "/opt/senzing/data" }, "SQL": { "BACKEND": "SQL", "CONNECTION": "postgresql://postgres:postgres@senzing-postgres:5432:G2/" } } image: senzing/senzingsdk-tools:${SENZING_DOCKER_IMAGE_VERSION_SENZING_SENZINGSDK_TOOLS:-latest} networks: - senzing profiles: - new - resume - truthset restart: always user: ${SENZING_UID:-0}:${SENZING_GID:-0} volumes: - user-data-volume:/var/opt/senzing networks: senzing: name: ${SENZING_DOCKER_NETWORK:-senzing-network} volumes: pgadmin-volume: postgres-volume: user-data-volume: