# docker-compose build volumes: dbbackups: postgis-data: services: db: container_name: pg_db_container image: kartoza/postgis:${POSTGRES_MAJOR_VERSION}-${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_RELEASE} volumes: - postgis-data:/var/lib/docker/volumes/docker-postgis_postgis-data/_data - dbbackups:/backups environment: # If you need to create multiple database you can add coma separated databases eg gis,data - POSTGRES_DB=meteo - POSTGRES_USER=postgres - POSTGRES_PASS=postgres - ALLOW_IP_RANGE=0.0.0.0/0 # Add extensions you need to be enabled by default in the DB. Default are the five specified below - POSTGRES_MULTIPLE_EXTENSIONS=postgis,hstore,postgis_topology,postgis_raster,pgrouting - RUN_AS_ROOT=true ports: - "25432:5432" restart: on-failure healthcheck: test: "PGPASSWORD=docker pg_isready -h 127.0.0.1 -U postgres -d meteo" dbbackups: container_name: pg_backup_container image: kartoza/pg-backup:${POSTGRES_MAJOR_VERSION}-${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_RELEASE} hostname: pg-backups volumes: - dbbackups:/var/lib/docker/volumes/docker-postgis_dbbackups/_data environment: - DUMPPREFIX=PG_db - POSTGRES_USER=postgres - POSTGRES_PASS=postgres - POSTGRES_PORT=5432 - POSTGRES_HOST=db - CRON_SCHEDULE="0 0 * * 0" ## once per week restart: on-failure depends_on: db: condition: service_healthy pgadmin: container_name: pg_admin4_container image: dpage/pgadmin4 restart: on-failure environment: PGADMIN_DEFAULT_EMAIL: p340@admin.com PGADMIN_DEFAULT_PASSWORD: p340 ports: - "5050:80"