compose.yaml 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. ---
  2. services:
  3. postgres:
  4. image: docker.io/library/postgres:17.6
  5. container_name: postgres
  6. environment:
  7. - POSTGRES_INITDB_ARGS=${POSTGRES_INITDB_ARGS---data-checksums}
  8. - POSTGRES_HOST_AUTH_METHOD=${POSTGRES_HOST_AUTH_METHOD-}
  9. - POSTGRES_USER=${POSTGRES_USER:-postgres}
  10. - POSTGRES_PASSWORD_FILE=/run/secrets/postgres_password
  11. - POSTGRES_DB=${POSTGRES_DB:-$POSTGRES_USER}
  12. - TZ=${TZ:-UTC}
  13. ports:
  14. - 5432:5432
  15. healthcheck:
  16. test: ['CMD-SHELL', 'pg_isready -U "${POSTGRES_USER:-postgres}"']
  17. start_period: 30s
  18. interval: 10s
  19. timeout: 10s
  20. retries: 5
  21. # (Optional) When using custom network, see also
  22. # https://docs.docker.com/compose/compose-file/compose-file-v3/#networks
  23. #
  24. # networks:
  25. # - yournetwork
  26. secrets:
  27. - postgres_password
  28. volumes:
  29. - postgres_data:/var/lib/postgresql/data
  30. restart: unless-stopped
  31. # (Optional) When using custom network, see also
  32. # https://docs.docker.com/compose/compose-file/compose-file-v3/#network-configuration-reference
  33. #
  34. # networks:
  35. # yournetwork:
  36. # external: true
  37. secrets:
  38. postgres_password:
  39. file: secret.postgres_password.txt
  40. volumes:
  41. postgres_data:
  42. driver: local